Go Back

Source code


Name: yacc
Created: Apr 22, 2005
Updated: Apr 25, 2005
SVN Updated: Mar 10, 2009

Other project properties

Category: Processor
Language: Verilog
Development status: Stable
Additional info: FPGA proven
WishBone Compliant: No


YACC (Yet Another CPU CPU) is MIPS I (TM) subset cpu written in Verilog-2001 HDL. YACC has 5 pipeline and shows 110 DMIPS in stratix2 with synthesized allowable clock of 165MHz. It is independent design of plasma, although YACC uses gcc-elf-mips tools provided by Steve Rhords, author of plasma (Most mips written in VHDL).
The core was developed by using my Simulator, with post layout gate simulation, and tested by actual FPGAs, using Xilinx spartan3 starter kit and Cyclone by Altera,running 800 digits of pi calculation ,(255,223) Reed Solomon Error Correction ,and Interactive calculator written by C language.


MIPS(R) is a registered trademark and MIPS I(TM) is a trademark of MIPS Technologies, Inc. MIPS Technologies, Inc. does not endorse and is not associated with this project. Tak.Sugawara is not affiliated in any way with MIPS Technologies, Inc.


When I was developing VHDL to Verilog translator , I found plasma core in opencores. It is excellent work to learn a lot. After I translated plasma written by VHDL to Verilog HDL almost automatically using my Translator, I stated to design my own CPU per following target spec.
-works with free C compiler ->use plasma resources
-pretend to be fast (Dhrystone benchmark test requires only 16KB memory! Actually ..)
-5 stage pipeline
-use dual port memory in FPGA
-works with Altera/Xilinx FPGAs
-with minimum logic cells in FPGA