微程序控制型简单CPU模型Verilog HDL实现

一、设计目标

  1.  掌握微程序控制器的基本原理
  2.  设计可以实现实现基本的指令运算指令、数据传输指令、输入输出指令、转移指令;并且具有中断和原码一位乘法功能
  3.  使用Verilog HDL 在Max Plus2上实现CPU模型的仿真

注:我是在MaxPlus2上实现的,由于MaxPlus2太古老了,推荐大家使用Quartus。


二、指令设计

1、指令格式

单字节指令:


操作码 OP  4位

目的寄存器 Rd  2位

源寄存器 Rs  2位


双字节指令:

 

操作码 OP  4位

目的寄存器 Rd  2位

源寄存器 Rs 2位

立即数字段  8位

 

2、指令集

本CPU模型有13条指令,其中0-9为单字节指令,10-13为双字节指令。

使用Verilog实现的时候,会在内存之中预先设置好执行的指令,然后模拟仿真,观察结果。

序号

指令助记符

功能

操作码

举例

机器码

0

IN Rd

输入

IN←Rd

0000

IN R2

0000 10 00

1

OUT Rs

输出

OUT←Rs

0001

OUT R1

0001 00 01

2

MOV Rd, Rs

寄存器传输

Rd←Rs

0010

MOV R1,R2

0010 10 01

3

ADD Rd, Rs

加运算

Rd←Rs+Rd

并设置Cy,Zero标志

0011

ADD R3,R0

0011 11 00

4

AND Rd, Rs

与运算

Rd←Rs & Rd

并设置Zero标志

0100

AND R1,R0

0100 01 00

5

MUL

原码一位乘法运算

 {HIGH,LOW}←RD*RS

0101

MUL RD RS

0101 01 10

6

STI

开中断

0110

STI

0110xxxx

7

CLI

关中断

0111

CLI

0111xxxx

8

IRET

中断返回

1000

IRET

100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值