AC620FPGA學習筆記——ROM數據顯示

AC620FPGA學習筆記——ROM數據顯示

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)
);


[email protected](negedge clk3,negedge rst)
if(!rst)
	addr <= 3'b0;
else
	addr <= addr + 3'b1;

endmodule