深 圳 学 实 验 报 告
课程名称: 数字系统设计
实验项目名称: Verilog秒表设计
学院: 信息工程学院
专业: 电子信息工程
指导教师: 邓莺
报告: 陈耀省 学号:2010130267 班级: 电子三班
实验时间: 2012年11月
实验报告提交时间: 2012年11月28日
教务部制
实验目
1进步熟悉ISE软件熟悉FPGA开发流程
2掌握编写Verilog代码步骤学会绘制ASM图
3学会顶设计方法模块实现系统设计
二实验设备
1装ISE软件PC机台2Nexys3开发板块
三实验容求
设计秒表
具计时功秒表两键(reset start)reset键秒表清零开始默认秒表计时start键停止计时次start键开始计时反复 FPGA开发板两七段数码显示时间(秒单位)计时0 59 循环
三实验步骤
1设计系统框图设计采取顶设计方案整秒表系统原理图示包括五模块——键消抖模块分频模块键功控制模块计数模块数码驱动显示模块
2根系统原理图画出模块ASM图
(1)利D触发器键进行消抖处理电路图利面电路实现start键reset键消抖连续输入三周期高电时键效
(2)分频模块ASM图
ASM图100MHz信号分频100Hz信号计数数码扫描
(3)start键reset键功控制模块ASM图图中rst复位信号sta计时信号利状态机实现状态间转换输出复位信号计时信号默认状态start_time计时状态
(4)计数模块ASM图
输入100Hz时钟计数复位信号效时数全部置0否sta信号效时开始计数输出秒位十秒位
(5)数码驱动模块ASM图100Hz信号扫描数码应数字十进制形式显示数码两数码前两数码置1保持亮点亮两数码
3根绘制模块ASM图系统原理图编写Verilog代码编写代码
***********************秒表顶层模块**************************
module stopwatch(clkresetstartledoutdata)
input clkresetstart
output led
output outdata
wire clk_100fresetfstartrststa
wire [30]data_sdata_g
wire [30]led
wire [60]outdata
xiaodou m1(reset(reset)start(start)clk(clk)
freset(freset)fstart(fstart))
fenpin m2(clk(clk)clk_100(clk_100))
f_start m3(clk(clk)reset(reset)start(start)
freset(freset)fstart(fstart)rst(rst)sta(sta))
jishu m4(clk_100(clk_100)rst(rst)sta(sta)
data_s(data_s)data_g(data_g))
qudong m5(clk_100(clk_100)data_s(data_s)
data_g(data_g)outdata(outdata)led(led))
endmodule
***************************************************************
****************分频模块***************************************
module fenpin(clkclk_100)
input clk
output clk_100
reg clk_1000
reg [180]temp0
always @ (posedge clk)
begin
if (temp499999)
begin
temp<0
clk_100<~clk_100
end
else begin
temp
endmodule
***************************************************************
***************键消抖****************************************
module xiaodou(resetstartclkfresetfstart)
input resetstartclk
output fresetfstart
wire fresetfstart
reg flag_resetflag_start
reg resetAstartA resetBstartB
assign freset(resetA & resetB & flag_reset)
assign fstart(startA & startB & flag_start)
always @( posedge clk)
begin
resetA
endmodule
*****************************************************************
*************startreset键功控制***************************
module f_start(clkresetstartfresetfstartrststa)
input clkresetstartfresetfstart
output rststa
reg [10]state2'b01 默认计时状态start_time
reg rst1
reg sta0
parameter reset_time 2'b00
start_time 2'b01
stop_time 2'b10
always @(posedge clk)
if (freset && reset) 键放开第时钟周期效
begin
state
end
else
case (state)
reset_time if (fstart && start)
begin
state
sta<0
end
else
begin
state
end
start_time if (fstart && start)
begin
state
sta<1
end
else
begin
state
sta<0
end
stop_time if (fstart && start)
begin
state
sta<0
end
else
begin
state
sta<1
end
default state<2'bxx
endcase
endmodule
**************************************************************
**********************计数模块********************************
module jishu(clk_100rststadata_sdata_g)
input clk_100rststa
output [30]data_sdata_g
reg [30]data_s4'b0000
reg [30]data_g4'b0000
reg [30]temp14'b0000
reg [30]temp24'b0000
always @(posedge clk_100)
if (rst)
begin
temp1<4'b0000 temp2<4'b0000
data_s<4'b0000 data_g<4'b0000
end
else if (sta)
begin
if(temp19) begin temp1<0
if(temp29) begin temp2<0
if(data_g9) begin data_g<0
if(data_s5) begin data_s<0 end
else begin data_s
else begin data_g
else begin temp2
else begin temp1
endmodule
****************************************************************
*****************数码扫描显示模块***************************
module qudong(clk_100data_sdata_goutdataled)
input clk_100 input [30]data_sdata_g
output outdataled
reg [30]dataled
reg count0
reg [60]outdata
always @(posedge clk_100)
if (count)
begin
count<0
end
else
begin
count
always @(count)
case (count)
0 led<4'b1110
1 led<4'b1101
default led<4'b1111
endcase
always @(count)
case (count)
0 data
endcase
always @(data)
case (data)
4'b0000 outdata<7'b0000001
4'b0001 outdata<7'b1001111
4'b0010 outdata<7'b0010010
4'b0011 outdata<7'b0000110
4'b0100 outdata<7'b1001100
4'b0101 outdata<7'b0100100
4'b0110 outdata<7'b0100000
4'b0111 outdata<7'b0001111
4'b1000 outdata<7'b0000000
4'b1001 outdata<7'b0000100
default outdata<7'b1111111
endcase
endmodule
****************************************************************
4编写代码进行综合综合误代码进行功仿真仿真结果图仿真分析
代码进行综合电路结构图示系统五模块组成写代码完全吻合
仿真结果分析:
开始时默认计时1000ms时数码显示01秒图示
面两幅图第幅图中start键第次停止键计时停止3000ms时数码显示旧停01秒第二幅图示
reset键秒表复位数码变显示00秒图
复位状态start键开始计时start键1秒数码显示00秒变01秒图
仿真结果出编写代码实现秒表计时功秒表键功正确编写代码正确
5进行完功仿真验证代码误进行脚分配编写ucf文件ucf文件
NET clk LOC V10
NET led[0] LOC N16
NET led[1] LOC N15
NET led[2] LOC P18
NET led[3] LOC P17
NET outdata[6] LOC T17
NET outdata[5] LOC T18
NET outdata[4] LOC U17
NET outdata[3] LOC U18
NET outdata[2] LOC M14
NET outdata[1] LOC N14
NET outdata[0] LOC L14
NET reset LOC A8
NET start LOC B8
6脚分配结束程序进行综合运行进行布局布线布局布线报告报告中出资源情况布局布线没错误警告
Device Utilization Summary
Slice Logic Utilization
Number of Slice Registers 47 out of 18224 1
Number used as Flip Flops 47
Number of Slice LUTs 82 out of 9112 1
Number used as logic 81 out of 9112 1
Number using O6 output only 58
Number using O5 output only 17
Number using O5 and O6 6
Number used exclusively as routethrus 1
Number with sameslice carry load 1
Slice Logic Distribution
Number of occupied Slices 33 out of 2278 1
Number of LUT Flip Flop pairs used 85
Number with an unused Flip Flop 42 out of 85 49
Number with an unused LUT 3 out of 85 3
Number of fully used LUTFF pairs 40 out of 85 47
IO Utilization
Number of bonded IOBs 14 out of 232 6
Number of LOCed IOBs 14 out of 14 100
Specific Feature Utilization
Number of BUFGBUFGMUXs 1 out of 16 6
Number used as BUFGs 1
Generating Pad Report
All signals are completely routed
Total REAL time to PAR completion 6 secs
Total CPU time to PAR completion 6 secs
Peak Memory Usage 211 MB
Placer Placement generated during map
Routing Completed No errors found
Number of error messages 0
Number of warning messages 0
Number of info messages 2
7程序进行综合布局布线生成bit文件生成bit文件载Nexys3板运行运行结果
复位——00
计时28s
计时59秒00秒开始计时
实验结:
设计秒表计时实际时间相符合秒表reset键start键功均实验求相符
心体会:
次实验查阅量资料发现许足处次实验收获学会模块进行系统化设计采顶设计方法程序分成模块程序读性更思路结构更加清晰时容易代码进行查错修改
指导教师批阅意见:
成绩评定:
指导教师签字:
年 月 日
备注:
注:1报告项目容设置根实际情况加调整补充
2教师批改学生实验报告时间应学生提交实验报告时间10日
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档