I think von Neumann, since I consider it better for multiple purposes. I like hacking for instance, and it's hard to use a couple of my hacks if you can't access instruction memory. The only real advantage I can see is being able to get twice the performance.Xardfir wrote: Hiya,
I was just wondering (as I don't recall it having being mentioned) what type of memory achitecture (Candy) you have in mind - 'Havard' or 'classic Neumann'?
I'm thinking that if you're taking an FPGA route, the amount of external pins available might not initially encourage having two seperate address/data busses (one for code, one for data) but the 68k architecture IIRC had the ability to use 4Gbytes of code and 4GBytes of data, with each address space accessed dependant on the type of cycle. Kind of like a 33rd address bit that is set or reset on a 'code access cycle' or 'data read/write cycle'.
A single buss (keeping it simple) could be used to start with, whilst allowing for a full Havard system (separate caches, multiple busses) later on.
Of course the question would then arise:
"How many address bits to dedicate to each of the code / data address spaces?".
When I'll design a high performance processor I'll use multiple instruction and data buses for higher performance. For this one, it's way not worth it. Especially since the number of output pins increase linearly with the complexity of soldering it (the 144 pin version cyclone I's are TQFP, which is very hard to solder, the 208 pin ones are PQFP, which is even harder, and the ones above that are BGA or FBGA, which is plain impossible for me (I can't get under the chip to solder and I don't have a chip oven). Also, BGA/FBGA require a 4/6 layer board since you simply can't stuff that many signal channels beside each other with current board design techniques. The PQFP lines have to be 10 mil wide which is quite near the limits of current board makers and BGA only increases that. Also, a dual side board I can create at home, 4/6 requires ordering at prices of 200 (300 for 6-layer) euro and up for a single board, let alone not being sure I can solder it. 2-layer comes for only 50 euros for a similar board, or around 100-200 including the kit to do it myself, so subsequent boards will be 3,50 + toner cost (which is probably around 50c for proper darkness) + sheet cost (around a euro for a laser-transparency sheet or for a photo-paper-sheet).
I tend to simpler designs at the moment, I'm doing this just for the kicks of doing it.
Note to people reading this like "I would do that, but I really don't have money for it", Altera has free software that you can use for FPGA based design. It only works with their cheaper models and it (iirc) requires a web connection, but you can at least learn VHDL or Verilog that way and you can practice with how it works (I think a simple simulator is integrated, although I can't vow for the free version). You can probably code most of the design before testing on real hardware, which is also available from them (development kits or plain chips, if you're adventurous enough to want to try to create your own board - I know I am).
Altera site: www.altera.com. Afaik it's also for Linux.
Note, yes I know, they do vendor-lock-in. You can also try Xilinx (www.xilinx.com) but I can't get their software to work. They do have cheaper kits so they might be more fit for hobby purposes (yes, I'm a hypocrit).