ROM数据显示
工程地址:https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/FPGA/class05_onchipROM
基于数码管的项目增添ROM数据输出
硬件结构
开发板:AC620
整体框架
注ROM是由IP生成的生成步骤如下:
创建mif/hex文件
IP核创建
在IP核配置中导入mif/hex文件
完成
IP核配置
选择ip核生成文件保存的位置
配置rom大小(位宽与words)以及存储器选择
端口控制配置
mif/hex文件导入
代码部分
代码过多更多代码在github
顶层代码
module top(
rst,
clk,
lock595,
out595,
clk595
);
input rst,clk;
output lock595,out595,clk595;
wire clk1;
wire clk2;
wire clk3;
wire [31:0]data;
reg [2:0]addr;
frequencydivider frequencydivider1(
.clk(clk),
.rst(rst),
.fclk(clk1)
);
frequencydivider frequencydivider2(
.clk(clk1),
.rst(rst),
.fclk(clk2)
);
frequencydivider frequencydivider3(
.clk(clk2),
.rst(rst),
.fclk(clk3)
);
rom rom1 (
.address(addr),
.clock(clk3),
.q(data)
);
BCDDisplay BCDDisplay1(
.clk(clk),
.rst(rst),
.data(data),
.lock595(lock595),
.out595(out595),
.clk595(clk595)
);
always@(negedge clk3,negedge rst)
if(!rst)
addr <= 3'b0;
else
addr <= addr + 3'b1;
endmodule