[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: What's your way of syncing CPLD design and gschem symbols???



On Mar 8, 2007, at 11:40 AM, Stuart Brorson wrote:

Actually, one thing I have dreamed about is incorporating a method
into gnetlist to read a .ucf (Xilinx) or .pin (Altera) file to get
pin-outs for a large FPGA. Then, you'd just stick a big box (or bunch
of boxes) onto your schematic representing the device. The box would
have a bunch of named pins, but no pin nos. You'd wire nets to the
pins as usual. Then you'd stick somethign like a .include directive onto the same page. The .include directive would
point to the .pin file, and be bound somehow to the big FPGA box
(maybe by sharing refdes). Then, gnetlist would find the .include, open
the corresponding .pin file, and use it to stick the device's pins
into teh output netlist.

Seems to me that if there's a way to automagically create a symbol with named pins from the .ucf or .pin file, then it shouldn't be all that difficult (says the non-programmer) to include the pin numbers? One problem with the .include directive is that you have to always point to some valid thing, and if you use revision control for your FPGA designs (and you should ...) then there's never a guarantee that the .ucf lives where the .include directive thinks it lives. It might be easier to simply have a script that asks for the correct .ucf and embed the pinouts into the schematic.


Regarding splitting large FPGAs into two or more symbols: there are two schools of thought here. One is that the symbol should reflect the design functionality, which makes the symbol design-specific and you need to create a new one for each FPGA design. The second is that the symbol should show the FPGA's banks. I've done the former, and if you modify the design and add more pins, then you get into modifying the symbol, which can get real ugly real quick. What we do now is create components with a symbol for the power and configuration connections, and a symbol for each of the FPGA's I/O banks. For example, the Spartan 3E I'm using in a design has four I/ O banks, and each symbol has pin names that match the Xilinx pinouts, as well as the VCCIO pins for that bank. Showing the VCCIO on each bank, instead of on the global power symbol, is helpful because Bank 2 may run at 2.5V and Banks 0, 1 and 3 may be powered by 3.3V, and it's really helpful to see that right where you use the pins.

-a




_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user