FPGA课程设计报告---采用RAM实现计数器及FPGA功能验证.doc
- 文档编号:116875
- 上传时间:2022-10-03
- 格式:DOC
- 页数:20
- 大小:715KB
FPGA课程设计报告---采用RAM实现计数器及FPGA功能验证.doc
《FPGA课程设计报告---采用RAM实现计数器及FPGA功能验证.doc》由会员分享,可在线阅读,更多相关《FPGA课程设计报告---采用RAM实现计数器及FPGA功能验证.doc(20页珍藏版)》请在冰豆网上搜索。
FPGA课程设计报告
题目:
采用RAM实现计数器及FPGA功能验证
院系:
电子工程学院
专业班级:
学生姓名:
导师姓名:
起止时间:
2012-06-18至2012-06-29
2012年07月01日
FPGA课程设计报告提纲
1.任务
用一个10×8的双口RAM完成10个8位计数器,计数器的初值分别为1~10,时钟频率为1MHz,计数器计数频率为1Hz。
用FPGA开发板上的按键作为计数器计数值的输出选择控制,数码管(或led)作为选择计数器的计数值输出。
2.目的
采用RAM实现计数器及FPGA功能验证
3.使用环境(软件/硬件环境,设备等)
前仿modelsim
后仿modelsim
FPGA课程设计详细内容
4.1技术规范
1、先由RAM的数据读控制端在10个RAM地址中预置的8位初值。
2、将RAM存储的数据作为计数器的初始值,由计数器的控制端和分频器分频的时钟信号1Hz控制开始计数,暂停键暂停计数并同时存入RAM中赋计数器初始值的存储单元。
3、双端口RAM为10×8RAM由一个地址切换键按顺序切换1~10个地址端口。
4.系统工作流程:
切换端口→→RAM预置初始值→→读出数据→→
开始计数→→七段显示译码器译码→→ 输出到数码管显示。
5、分频:
将时钟频率为1MHz分频为计数器计数频率1Hz,用来进行秒计时。
4.2设计方案,功能验证方案,以及电路设计源代码,功能仿真激励源代码及功能仿真结果报告:
1、RAM的功能模块:
wr
rd
RAM
addr_in[3:
0]
din[7:
0]dout[7:
0]
RAM:
reg[7:
0]ram[10:
1]10×8的RAM存储阵列10个字每个子8位
输入端输入地址addr_in[3:
0];
输入数据din[7:
0];
上升沿有效写入信号wr;
输出数据dout[7:
0];
上升沿有效读信号rd;
端口
功能
Rd
读使能高电平有效;系统使能工作,将din数据写入ram的存储单元中
Wr
写使能高电平有效;将ram存储单元中的数据读出dout。
Addr_in
模块内控制读写地址;系统的模值控制
Din
数据输入口,内部接口
Dout
数据输出,内部数据传送
Reset
初始化置数,电平触发
RAM的地址切换:
双端口RAM为10×8RAM由地址切换键按顺序切换1~10个地址端口
addr_in[3:
0]
Ram存储单元
0001
0000_0001
0010
0000_0010
0011
0000_0011
0100
0000_0100
0101
0000_0101
0110
0000_0110
0111
0000_0111
1000
0000_1000
1001
0000_1001
1010
0000_1010
程序:
inputwr,rd;
inputreset,clk_1mhz;
inputaddr_in;
wire[3:
0]addr_in;
input[7:
0]din;
wire[7:
0]din;
output[7:
0]dout;
reg[7:
0]dout;
reg[7:
0]mem[10:
1];
always@(posedgeclk_1mhz,negedgereset)
begin
if(!
reset)
begin
mem[1]<=8'd1;mem[2]<=8'd2;
mem[3]<=8'd3;mem[4]<=8'd4;
mem[5]<=8'd5;mem[6]<=8'd6;
mem[7]<=8'd7;mem[8]<=8'd8;
mem[9]<=8'd9;mem[10]<=8'd10;
end
elseif(wr==1&&rd==0)
mem[addr_in]<=din;
elseif(rd==1&&wr==0)
dout<=mem[addr_in];
end
Endmodule
激励模块:
moduletest;
regclk_1mhz,wr,rd,reset;
reg[7:
0]din;
reg[3:
0]addr_in;
wire[7:
0]dout;
ramram(wr,rd,reset,dout,clk_1mhz,din,addr_in);
initial
begin
reset=1'd1;clk_1mhz=1'd0;
wr=1'd0;rd=1'd0;
addr_in=4'd0;
#2reset=1'd0;
#2rd=1'd1;
#2addr_in=4'd0;#2addr_in=4'd1;
#2addr_in=4'd2;#2addr_in=4'd3;#2addr_in=4'd4;
#2addr_in=4'd5;#2addr_in=4'd6;#2addr_in=4'd7;
#2addr_in=4'd8;#2addr_in=4'd9;#2addr_in=4'd10;
#3rd=1'd0;wr=1'd1;
din=8'd60;
#3din=8'd20;#3din=8'd25;#3din=8'd10;#3din=8'd6;
end
always
foreverbegin
#1clk_1mhz=~clk_1mhz;
end
Endmodule
2、计数器的功能模块:
计数模块
由RAM读出初值dout
rd
clk_1hz
dout[7:
0] din[7:
0]
start
stop count_reset
计数:
开始计数start
计数器复位count_reset;
计数输出din[7:
0];
计数暂停stop;
程序:
moduleJSQ(dout,start,stop,din,clk_1hz,count_reset);
output[7:
0]din;
input[7:
0]dout;
inputstart,stop,clk_1hz,count_reset;
reg[7:
0]din;
always@(posedgeclk_1hz)
begin
if(!
count_reset)din=dout;
else
if(din==8'd255)din=8'd0;
elseif((start==1)&&(stop==0))din=din+1;
elsedin=din;
end
endmodule
激励模块:
moduletest;
wire[7:
0]din;
reg[7:
0]dout;
regstart,stop,clk_1hz,count_reset;
JSQff(dout,start,stop,din,clk_1hz,count_reset);
initial
begin
stop=1'd0;
start=1'd0;
clk_1hz=1'd0;
count_reset=1'd0;
#2dout=8'd1;
#3count_reset=~count_reset;
#2start=1'd1;
#30start=~start;
#1dout=8'd9;
#3count_reset=~count_reset;
#2start=1'd1;
end
always
foreverbegin
#1clk_1hz=~clk_1hz;
end
endmodule
3、’数码管的显示功能模块:
数码管
七段显示译码器
din[7:
0]dout[7:
0]
Reset复位时三位数码管显示为000.
程序:
moduleSMG(dout,hex_b,hex_s,hex_g);
input[7:
0]dout;
output[7:
0]hex_b;
output[7:
0]hex_s;
output[7:
0]hex_g;
reg[7:
0]hex_b;
reg [7:
0]hex_s;
reg [7:
0]hex_g;
reg[3:
0]dout_b;
reg[3:
0]dout_s;
reg[3:
0]dout_g;
always@(dout)
begin
begin
dout_b=dout/100;
dout_s=dout/10;
dout_g=dout%10;
case(dout_b)
4'd0:
hex_b=8'hC0;
4'd1:
hex_b=8'hF9;
4'd2:
hex_b=8'hA4;
4'd3:
hex_b=8'hB0;
4'd4:
hex_b=8'h99;
4'd5:
hex_b=8'h92;
4'd6:
hex_b=8'h82;
4'd7:
hex_b=8'hf8;
4'd8:
hex_b=8'h80;
4'd9:
hex_b=8'h90;
default:
hex_b=8'hC0;
endcase
case(dout_s)
4'd0:
hex_s=8'hC0;
4'd1:
hex_s=8'hF9;
4'd2:
hex_s=8'hA4;
4'd3:
hex_s=8'hB0;
4'd4:
hex_s=8'h99;
4'd5:
hex_s=8'h92;
4'd6:
hex_s=8'h82;
4'd7:
hex_s=8'hf8;
4'd8:
hex_s=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 课程设计 报告 采用 RAM 实现 计数器 功能 验证
![提示](https://static.bdocx.com/images/bang_tan.gif)