Hi Spanner,
a while back I did one of the free MOOC courses on computer architecture. The course took us through building a 32 bit RISC CPU from first principles. I learned a LOT on this course.
Perhaps we could do something similar, say partially implement an AVR processor? 8 bits is ‘modest’ enough to fit most low end devices. Components like the ALU provide great opportunities to learn about combinational circuits. AVR architecture is RISC and pretty ‘clean’, shouldn’t be difficult to get something going.
Boardwise you’d need:
on board oscillator
slide switches - for global settings like run/single step, display value selection
push buttons - to single step
a display of some sort - 4 digits min
breakout connectors - (future projects)
on board programmer (desirable)
vga/hdmi (nice to have)
To save money, board manufacturers cut back on the number of switches, displays, connectors etc. A cheaper board will generally mean adding external circuitry.
There is no hard requirement for Xilinx, it just happens to be the toolset I am familiar with. There seems to be a bunch of cheap boards based on Altera Cyclone IV on eBay. I’ve ported VHDL from Altera to Xlinix before, found it straight forward.
I’m interested - if its done as a group I will make time for it. (I don’t think I will get around to it on my own)
an AVR processor would be cool, also your simulated tone wheel organ ‘struck a chord’ with me as its quite similar other stuff I’m trying to do at the moment.
If we do undertake a project as a group, it might be best if you suggest an appropriate board and we all just go with that. If I know what I’m meant to get and people give me money, I can try ordering using my university card for a discount.
I am interested, been waiting for an opportunity to crack open some of the toys in my bit bucket.
I have two small (cheap) boards, both labelled LC Technology.
One is a Xilinx CPLD XC9672XL, another is a Altera MAX-II.
The above are mostly breakout boards.
I also see something labelled “Altera USB Blaster” which I assume is a programmer.
Then there is a Terasic DE0-Nano (Altera Cyclone IV), looks like a proper small dev board.
Hi Eyal,
Know nothing about the max 2. The 9572 has 72 macro cells as I recall. Enough for a state controller, e.g. traffic lights or vending machine, but not enough for an ALU or processor.
The DE0 is pretty handy but lacks on board switches, display etc. You will need to hook up a bunch of stuff externally.
Hi Ian,
the Digilent Basys3 board has lots of switches, a 4 digit display, vga and 4 pmod Ports. Blackbox Consulting (Aussie distributor) lists this @AUD123 with academic pricing. Worth putting on any short list.
I am more than happy to attach external stuff, there are enough pins available.
Price-wise it may be better to buy a board with minimal devices, because switches/leds/etc. are very cheap, easy to put on a companion breadboard and more flexible. Just my 2c.
Hi all,
this post is aimed at the committee members here.
It looks like there is sufficient interest to progress to the lab stage. To keep costs down I think it would be worth approaching manufacturers like Digilent to see if we could get a group buy at academic pricing.
Could the committee please nominate someone to pursue this? I am happy to do it, but require the committees approval.
Is the phrase “not for profit, community workshop” correct with regards to MHV?
Folks, spent time over the weekend progressing the FPGA workshop idea. My intention is to run a series of lab sessions, something like 2-4hrs each, one weekend per month.
The theme will be design and implementation of a RISC processor (Atmel AVR subset).
A GitHub repository under MHV has been created (thanks Paul Harvey). I have composed a list of AVR instructions to implement and am currently building it for myself so that I can plan the lecture and lab sequence.
Boardwise, I am leaning towards the Digilent Arty A7. It retails at USD99. I intend to do a bit of a write up on board options sometime soon. The board choice will not mandatory, just understand that my skills are exclusively in the Xilinx camp. Boards from other manufacturers can be used with the understanding that you need to do the extra legwork to figure things out.
… and just to keep the conversation & interest going …
Arduino releasing FPGA board - (June 2018) for about $60 USD with Altera Cyclone 10CL016, 16k logic elements, and 504 kB.
There are possibly too many unknowns, including toolchain costs and licensing to deicde on this option yet, but it does reinforce the future of hobbyist FPGA!
I’m very close to getting my test AVR core executing complete code. Close being defined as 2 +/- 8 hrs ;). Code meaning 3 lines of assembler, 2 load immediates (LDI) followed by an AND.
Now that I’ve got a better idea of how to implement it we could easily run the early workshop(s) using just the simulator, i.e. no dev board. This would mean that:
Sorry, I’m going to make a couple of very “hand-wavy” submissions to this thread:
I recall someone on the tweeters talking about the Arduino FPGA board and saying that a comparable Lattice(*) based board (possibly the iCEstick) was better value and had a “more open” toolchain. I present no further concrete evidence of this feelpinion, though.
Scanning the Lattice shop, iCEsticks list for $25 (Presumably $US, excluding freight). Though they don’t appear to have any populated buttons/switches, they DO have 5 user-settable LEDs.
Might be worth a look.
(* Incase you don’t know, Lattice are another FPGA manufacturer like Xilinx and Altera/Intex)
@sjdavies, I vote for this approach (start with the simulator). It is a good way to see if the “I am interested” feeling lasts for more than one session, before committing $$s.