模型机CPU设计——指令寄存器IR(7)

时序部件
1指令寄存器IR
(1) 部件功能:
将总线上传送来的数据进行存储,并传送给下一个部件译码器,保持一个周期
(2) 接口设计:

模型机CPU设计——指令寄存器IR(7)
输入:
Input[7…0]数据输入
Clock时钟信号
Ld控制信号,为1有效
输出:
Output_a[3…0]输出寄存器值的高四位
Output_b[3…0]输出寄存器值的低四位
R输出寄存器存储的值
RTL视图

模型机CPU设计——指令寄存器IR(7)
(3) 功能实现:
当当时钟下降沿时:判断ld
如果ld=1,那么将输入载入寄存器,否则不进行载入
将存储值的高四位赋值给Output_a[3…0]输出寄存器值的高四位
Output_b[3…0]输出寄存器值的低四位,R输出寄存器存储的值
VHDL设计:

模型机CPU设计——指令寄存器IR(7)
(4)功能仿真验证:

模型机CPU设计——指令寄存器IR(7)
仿真结果:
时钟为3ns:input=00000001,ld=1,此时下降沿输出output=00000001,output_a=0000,out_b=0001;
时钟为5ns:input=100000000,ld=1,时钟下降沿输出output=10000000,output_a=1000,output_b=0000;
时钟为9ns:input=00000000,ld=0,下降沿时,输出保持不变,output=10000001,output_a=1000,output_b=0001;
结论:仿真结果满足功能要求,设计正确