circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

April 2000, Issue 117

Building a RISC System In AN FPGA Part 1:
Part 2: Pipeline and Control Unit Design by Jan Gray


by Jan Gray

In Part 1, Jan introduced his plan to build a pipelined 16-bit RISC processor and System-on-a-Chip in an FPGA. This month, he explores the CPU pipeline and designs the control unit. Listen up, because next month, he’ll tie it all together.


Start Pipelined Execution Memory Accesses Branching Out Interrupts Control Unit Design Decode Stage The Execute Stage PDF

Last month, I discussed the instruction set and the datapath of an xr16 16-bit RISC processor. Now, I’ll explain how the control unit pushes the datapath’s buttons.

Figure 2 in Part 1 (Circuit Cellar, 116) showed the CTRL16 control unit schematic symbol in context. Inputs include the RDY signal from the memory controller, the next instruction word INSN15:0 from memory, and the zero, negative, carry, and overflow outputs from the datapath.

The control unit outputs manage the datapath. These outputs include pipeline control clock enables, register and operand selectors, ALU controls, and result multiplexer output enables. Before designing the control circuitry, first consider how the pipeline behaves in both good and bad times.