【此后无良辰】实验三 CPU部件实现之PC和半导体存储

您所在的位置:网站首页 verilog实现fifo计组实验 【此后无良辰】实验三 CPU部件实现之PC和半导体存储

【此后无良辰】实验三 CPU部件实现之PC和半导体存储

2024-01-30 06:05| 来源: 网络整理| 查看: 265

一、 实验目的

理解和掌握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关键代码描述 PC 代码如下: module pc( input clk, rst, output reg [7:0] pc ); always@(posedge clk) begin if(rst == 1) pc = 0; else pc = pc + 1; end endmodule

代码截图如下: 在这里插入图片描述

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