Skip to content

Seven instructions digital processor for general purpose.

Notifications You must be signed in to change notification settings

matscats/digital-processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital processor

Using VHDL program language, this project specifies the behavior of a seven instructions digital processor, listed bellow:

Instruction Meaning opcode
MOV Ra, d RF[a] = D[d] 0000
MOV d, RA D[d] = RF[a] 0001
ADD Ra, Rb, Rc RF[a] = RF[b] + RF[c] 0010
MOV Ra, #C RF[a] = c 0011
SUB Ra, Rb, Rc RF[a] = RF[b] - RF[c] 0100
JMPZ Ra, offset PC = PC + offset if RF[a] = 0 0101
JGT Ra, Rb, Rc PC = RF[C] if RF[a] > RF[b] 0111

Using RTL design, the digital processor should work as follows

Projeto RTL

In the image above, the Datapath will operate the datas stored in RAM, while the Control Unit will control the Datapath following the instructions from the instruction memory.

Finally, the High State Level Machine of the processor should work as follows

HLSM

Note

This project was made by undergraduate students of Computer Engineering for the class of Digital Systems, at Universidade Federal do Rio Grande do Norte (UFRN). All the project was based on the book from Frank Vahid (VAHID, Frank. Digital design with RTL design, VHDL, and Verilog. John Wiley & Sons, 2010).

About

Seven instructions digital processor for general purpose.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages