【此后无良辰】实验三 CPU部件实现之PC和半导体存储 |
您所在的位置:网站首页 › verilog实现fifo计组实验 › 【此后无良辰】实验三 CPU部件实现之PC和半导体存储 |
一、 实验目的
理解和掌握CPU中程序计数器PC和半导体存储器RAM的工作原理,并使用Verilog和ModelSim进行设计和仿真。 二、 实验内容使用Verilog完成程序计数器PC的设计,要求: PC为8位计数器 使用Verilog完成数据存储器的设计,并编写测试仿真文件验证其正确性。要求 存储字长16位,存储容量1K字节; 一根读写控制信号线控制读写,低电平有效。 三、 实验原理PC: 是用于存放下一条指令所在单元的地址的地方。当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。 与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。 RAM: 存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。 这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。 RAM的结构框图 代码截图如下: Verilog关键代码解释: 在每一个上升沿进行判断,如果rst等于1,则将pc置为0,不然则pc = pc +1 RAM 代码如下: module RAM( input wire clk, Wen, input wire [15:0] indata, input wire [8:0] address, output wire [15:0] outdata ); reg [15:0] unit[9'b111111111:0]; assign outdata = unit[address]; always@(posedge clk) begin if(Wen == 0) unit[address] |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |