Free Intellectual Properties

PopCorn - 1 Updated 3/00

 

page hit:

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

popcorn.zip

updated on 3/00

There are 3 verilog files here. It is pretty much self commented

  • pc.v
  • popcorn.v
  • sequencer.v 
 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