looking good

Mar 24, 2009 at 7:51 AM
Edited Mar 24, 2009 at 1:36 PM
seems there are a couple of other .net projects doing circuit analysis .. you beat me to setup a project like this... i was going call it NCircuit

I am currently approaching it first on the PCB side of things:
Originally designed:

to parse (read/write) existing Gerber files( RS274X)
I was also going start a project called NCAD that would drive the cad functionality. RS274X/dxf format would be supported for generating unit tests with autocad.
NCAD would drive the interaction with canvas elements.

Some other projects you might be interested in:
Novel approach although i believe we should not have to specify pins.
We should only declare: I need 10 dio, 2 tpu, 3 adc (giving each a name which we refer to them like this in code: Device<ADC>("FootPosition")), and the compiler give us a pin map of the final configuration.

then there is:

currenly my project npeg.codeplex.com
should suffice for any complex parsing.
You can breakdown any complex input in 1 sitting.

currently has a boolean parser .. i can send you my interpretor that evaluates the expression.
This could be used as a dragable combinational logic element ... on double click the user can type the expression the block represents.... less work than having the user drag around and/or/nand/not.. ect gates around to build a boolean equation.  Once the block is created constraints could be set like: can only be built with nand gates, or can only be built with nor gates.

Another piece of the puzzle would build a tool that allows you to model a moore state machine using uml.
This also would be a draggable element.. when double clicked the state machine designer would open.  The block defines inputs and outputs.  The constraints you can set is use only d flip flops, or use only jk flip flops.

Finally any eda tool needs to allow users to create user defined elements.
Example i should be able to take the final output of the base elements to create my own adder.

if you have any links/projects in .net that could affect EDA let me know.

Apr 29, 2009 at 2:36 AM
Parser is somewhat interesting for me. I am thinking about building some macro assembler for any custom set of operations. So people who are building their own CPUs can easily write programs. Do you think your NPEG parser is capable of supporting this? I am thinking of providing such assembler compiler a set of mnemonics and rules for building binary codes of operations along with source code and get a binary file as an output. This should be a good test for your parser, shouldn’t it?
Apr 29, 2009 at 6:23 AM
In regards to your question:

Since this is specific to NPEG i posted my answer here.
This way other potential NPEG users can benefit.



One thing i didn't post there is in the near future i'll be designing an asp.net / xaml parser specific for embedded programming based off NPEG:

Look at this:
<device.pic16f690 internalclock="20mhz">
        <dio onhigh="" onlow="" onchange="" />

when compiled output will be a pin.map   file will be autogenerated...
or using adorner you could change <dio onhigh="" onlow="" onchange="" />  to <dio hook.pinmap='19' onhigh="" onlow="" onchange="" />  so you explicitly set which pin to use .