Editorial:
| In this time of Giga-Herz performance processors, one tends to shy away from anything that is not hundreds of Megaherzs in clock speed. But gauging a processor simply by the clock speed is one thing, and appretiating it from the internal architecture is quite another. In order to do the latter one typically needs to know intimately the concepts and architectures which are the pillars of supescalar pipeline RISC processors of today. |
| When was the last time when you could say "I know how this processor works from inside and out. I know all of its sequencing, and I know how to add more instructions and how to make it run faster and how to scale it" When was the last time when your project needed a processor and you quite could not find the perct one, but ended up using whatever was available. Did you not which you could ahve used a processor of your own design ? PopCorn is an elegant processor ideal for real-time applications. It is small yet sleek. Check it out ! |
Description
Documentation
The following file describes the design in much more detail: popcorn_spec.pdf
PopCorn-V3 spec availalbe here.
Design Files
There are several design files
The Original PopCorn
|
updated on 3/00 |
There are 3 verilog files here. It is pretty much self commented
|
pkzipped |
| popcorn_pin.pin | Pin-out of the Lattice isp3256 CPLD i've used to proto. | |
| popcorn_edif.zip | EDIF file | |
| popcorn_isp3256.zip | JEDEC fusemap for the Lattice isp3256 CPLD. |
PopCorn-V3
Download Verilog Files here.
For users of Verilog-XL, ModelSim, VCS, NC-Verilog, or other HDL Simulator
Download PopCorn-V3 8bit microprocessor with Verilog Testbench, running code.
Assembler
Test Codes
To see if you actually compiled the verilog files correctly and the design is working properly, try these sample codes:
| portio.asm | counts up from 0 to F. |
| timer.asm | counts up from 00 to FF then wraps around in the port IO. |
Besides these, I have intentions of writing other useful codes such as multiply, divide, and other math routines, as well as other functions. Stay tuned.
Picture of Prototype
Click here to see Popcorn prototype running a test code