Definitely! Most simple 8-bit CPU's are in the order of 10-20K logic gates. And if you want to put together a SoC (system-on-chip), count on a number of times that. So a 'low-end' FPGA like a Xilinx XC3S50 (comparable with Altera FPGA of say, 2~3K LE's?) might be enough to implement a small CPU, but fall short when you want to do anything interesting with that CPU.Maybe it might help to know that my immediate long-term goal (was that an oxymoron?) is to make a CPU (strictly as a learning project).
You can enter the design as a "normal" schematic using primitives as inverters, gates etc. You can also design blocks that you use in another schematic page. You don't have to think about LUT's etc.I would prefer not to loose track of the fact that I'm wiring circuits and start feeling like I'm writing code. Writing "if condition then action else action" type statements, while possibly making it easier to design your logic, doesn't seem (to me at least) to promote learning digital circuit design (sort of like how learning 'C' doesn't help you learn Assembly, even though it compiles down to it... ok, it compiles down to machine code, which has a fairly 1-to-1 correspondence to Assembly). Do the IDEs you use when writing VHDL or Verilog have a means to display a generated logic gate diagram so you better visualize what your "code" actually creates?
If you enter your design in "schematic mode", can it show it as VHDL/Verilog code,
... and if you enter it as VHDL/Verilog code can it show it as a schematic?
Analogy: if you want to play First Person Shooters, a 3D card probably is a must. But if those First Person Shooters are 'just Doom, Quake and games based on same engines', what would a current, high-end 3D card buy you? Exactly: nothing (only high electricity bill :wink.
In schematic you can see that can see that VGA connector is wired up with hsync, vsync, and for each of red /green / blue, a single FPGA output pin with series resistor (which gives desired output level when loaded with 75 Ohm on monitor side, as is usual for analog video signals). IIRC that's also the case for the bigger Spartan 3E-1600 board.I'm still a little foggy (ok, a LOT foggy, but less foggy than yesterday) on the VGA. Let's take the Digilent Spartan 3E Starter Kit board. Its User Manual states "Each color line has a series resistor, with one bit each for VGA_RED, VGA_GREEN, and VGA_BLUE." and "The Spartan-3E Starter Kit board uses three bits per pixel, producing one of the eight possible colors shown in Table 6-1".
Yes. But better read that as "a limition of the hardware as it gets delivered to you". Nothing says that you can't take some general purpose I/O pins, add some resistors & thus rewire that onboard VGA port. Or wire up another VGA connector to some of the general purpose I/O pins. Or whatever audio/video connector you want.Is this "three bits per pixel" a limitation of the hardware
No there isn't. The idea is you use the FPGA to generate those R/G/B bits + hsync/vsync signals. How you do that, is totally up to you. But for example OpenCores will have some simple VGA controller project(s) that you could use as a building block.(I'm assuming there's some kind of "onboard" VGA controller?)
With that Nexys3 board you'd have that already.or would it be possible to design a system using the FPGA that used 3 bits for red, 3 bits for green and 2 bits for blue (8 bits per pixel)
Yep, just takes I/O pins & some resistors, wires + VGA connector (if you want to keep things simple). Higher color depth -> more bits (I/O pins) per color.or 8 bits for each R, G and B (24 bit pixels)?
Neither. Like I wrote before: onboard I/O options are not so much 'limitation', but rather convenience items. If you just need a single on/off button & there's one on board, you can simply use it. If there isn't, you have to wire up a switch to an I/O pin - which is extra, boring work.In other words, when comparing different FPGA boards to decide which one I want to get, should I be concerned with these "limits", or just whether or not it has VGA?
On 1st try? Congrats, not bad at all. :-DLast night I successfully made a couple of very small circuits (flip 3 switches in binary format (0-7) to turn on 7 LEDs, make a number show up on one of the 7-segments, etc) and got them synthesized, and to the board and they worked.
I suggest you dowload a tutorial (+code samples) that goes with ISE from Xilinx website, if you work through that you get a decent overview of how the Xilinx tools work, that is: what program does what, where to set things like timing constraints etc etc.Can anyone suggest a good repository of sample Verilog code (..)
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?