如果部分电路图显示不清楚可放大页面后查看
设计要求
课程设计平台为设计环境提供了容量为256×8的随机存储器。在此基础上,设计相应的外围电路和时序对随机存储器进行读写操作。结构框图如下图所示,设计完成后可以根据pc访问内存,取出地址Ad1,根据Ad1访问取出数据X,将X保存在Ad2地址单元。
结构与信号索引
上图中MAR为地址寄存器。R寄存器必须为具有三态输出的寄存器,直接调用74374即可。PC为带清零端的8位增1计数器(在上一部分的运算器设计中已经实现过)。FPGA引脚信号如下:
①A7~A0 地址信号,方向指向RAM。
②D7~D0数据信号,双向,RAM的数据通过该数据线读出或写入。
③存储器读命令RD,低电平有效。
④存储器写命令WR,低电平有效。
微指令格式及微指令编制
μIR3为1产生CPR;μIR2为1产生CPMAR;μIR4为1产生CPPC;μIR1为1产生 WR;μIR0为1产生 RD;μIR5为1产生XMAR选择信号;μIR6为1产生XPC选择信号;μIR7为1产生寄存器R的三态允许信号OE。
因为利用微程序,还必须设计微地址增1计数器µPC。
微程序的编制,由存储器的操作确定:
读出地址ad1放入MAR寄存器:
XPC、RD、CPMAR有效,即微指令:000045H
M(ad1)即 x 送入寄存器R:
XMAR、RD、CPR、CPPC(PC增1)即微指令:000039H
读出ad2送入MAR ,即微指令:000045
x 送入地址ad2中
XMAR、WR、OE有效,即微指令:0000A2H
调试步骤:
设计存储器外围逻辑并下载至FPGA中。
设计微程序并将微程序以十六进制代码键入ROM3# 、ROM2#、ROM1#中
按一次脉冲键读出并执行一条微指令,并检查微指令执行情况,直至结束。
在RAM中,预先写入ad1、ad2、x具体数据。
该部分的关键电路图
二选一选择器:
主电路图
https://download.csdn.net/download/john_bian/10408632