名称:存储器仿真设计Verilog代码VIVADO仿真
软件:VIVADO
语言:Verilog
代码功能:
存储器仿真设计
1.计算机有8条数据线,15条地址线,MREQ,R/W等控制线。存储器按字节编址。
2.用8K×8bit的ROM芯片组成16KB的ROM,ROM的起始地址0000H,ROM存放的8位数据为相应地址值的平方,在片选信号和读使能信号有效时根据地址输出数据。
3.要求按照题目进行逻辑抽象,决定外部的端口(名称、有效电平)和内部功能,画系统框图,使用层次结构法用 Verilog HDL编程,设计仿真数据进行功能仿真。
4.每人提交一份项目的设计实现报告,报告内容结构参考实验报告模板。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
整体仿真图
ROM模块仿真图
地址控制模块仿真图
部分代码展示:
`timescale?1ns?/?1ps ////////////////////////////////////////////////////////////////////////////////// //?Company:? //?Engineer:? //? //?Create?Date:?2024/07/02?21:03:17 //?Design?Name:? //?Module?Name:?ROM_ctrl //?Project?Name:? //?Target?Devices:? //?Tool?Versions:? //?Description:? //? //?Dependencies:? //? //?Revision: //?Revision?0.01?-?File?Created //?Additional?Comments: //? ////////////////////////////////////////////////////////////////////////////////// //ROM存储器仿真 module?ROM_ctrl( ????input?clk,//时钟 ????input?rst,//?复位,高电平有效??? ????input?[14:0]?addr,//地址线 ????input?MREQ,//为低电平的时候,片选信号有效 ????input?RW,//低电平读,高电平写,本代码只读,故RW需要输入低电平 ????output?[7:0]?data_o?//ROM数据线 ????); wire?rom_en_1; wire?rom_en_2; wire?[7:0]?douta_1; wire?[7:0]?douta_2; wire?[12:0]?addra_1; wire?[12:0]?addra_2; //8K*8?ROM ROM_8K?ROM_8K_1?( ??????.clka(clk),????//?input?wire?clka ??????.rsta(rst),????//?input?wire?rsta ??????.ena(rom_en_1),??????//?input?wire?ena ??????.addra(addra_1),??//?input?wire?[12?:?0]?addra ??????.douta(douta_1)??//?output?wire?[7?:?0]?douta ????);? ??????? //8K*8?ROM ROM_8K?ROM_8K_2?( ??????.clka(clk),????//?input?wire?clka、 ??????.rsta(rst),????//?input?wire?rsta ??????.ena(rom_en_2),??????//?input?wire?ena ??????.addra(addra_2),??//?input?wire?[12?:?0]?addra ??????.douta(douta_2)??//?output?wire?[7?:?0]?douta ????); //地址控制模块 addr_ctrl
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1099