数字逻辑电路_(实验二十三:数字系统设计(简易 CPU))课堂实验指导书-应用案例-DE10-Nano持续更新-友晶-板卡教程-Intel FPGA教学资源分享/Altera FPGA学习教程
  • 免费注册   
  • 会员登录   
  • 设为首页
  • 加入收藏
  • 咨询热线:13258292731

    数字逻辑电路_(实验二十三:数字系统设计(简易 CPU))课堂实验指导书

    详细说明

    Lab23:实验材料

    点击下载:


    实验二十三数字系统设计(简易CPU

    《数字逻辑》课件(毛文林、张琴)


    信号对照表



    输入

    输出

    功能

    IR1

    IR2

    IR3

    模式

    Clk

    RST

    A

    T

    完成

    DE10_Nano

    SW0

    SW1

    SW2

    SW3

    KEY1

    KEY0

    LED(3:0)

    LED(6:4)

    LED7

    实验说明:本实验简化该3指令8位计算机为一个3指令4位计算机。当SW3

    0时,可独立执行三条中的一条指令,执行完成后停止;当SW1时,顺序 执行指令1、指令2、指令3LED(3:0)显示指令执行完成后寄存器A的值;LED(6:4) 显示时序信号;LED7显示当前指令的最后一个时钟周期。


    操作码

    0001

    记忆符号    说明

    MOV    R        将寄存器R的内容送入寄存器A

    功能

    AR

    0010

    LDI    OPRD    将操作数OPRD置入寄存器A

    A(OPRD)

    0011

    LDA     ADRS    将地址ADRS中的操作数置入寄存器A

    AM[ADRS]

    地址

    内容

    解释

    0000

    0000

    保持不动

    0001

    0001

    MOV R(R 内容设定为1101)

    0010

    0010

    LDI

    0011

    1110

    操作数1110

    0100

    0011

    LDA

    0101

    0110

    地址

    0110

    1111

    操作数1111







    所以:

    MOV R完成后,LED[3:0]显示1101; 当LDI完成后,LED[3:0]显示1110

    LDA完成后,LED[3:0]显示1111


    实验问题:

    1,这个设计如何仿真验证?程序中已经使用了在线调试工具SignalTapII,删除 在线调试部分还能正常工作吗?试试看!


    2,设计中的寄存器使用JK触发器,这样可以方便扩展指令,构造累加器A。累 加器A 的结构是另一个故事了,请自行尝试。


    3,存储器MM 内部结构是用组合逻辑实现的还是用时序逻辑实现的?能否使用

    FPGA 片内EAB(嵌入式阵列块)来实现,会带来什么问题,如何解决?


    3,请尝试在存储器MM的地址7添加跳转指令,使程序能进行指令1->2->3的 循环。并进一步扩展指令,让 MM 16个存储空间都有对应指令,从而能 够自动循环进行计算。


    END