资源描述
课程设计汇报
课程设计题目: 数字钟系统设计
学 号:0327
学生姓名:刘新强
专 业:通信工程
班 级:1421302
指导老师:钟凯
1月 4日
摘要
FPGA( Field Programmable Gate Array,现场可编程门阵列),一个可编程逻辑器件,是现在数字系统设计关键硬件基础。可编程逻辑器件设计过程是利用EDA 开发软件和编程和编程工具对器件进行开发过程。
经过modelsim软件下采取verilog语言实现数字钟系统设计,实现了以下多个方面功效:
1. 数字钟基础计时功效
2. 数字钟校时功效
3. 数字钟系统报时功效
关键词:FPGA ;VHDL;数字钟
目录
一、FPGA和VHDL介绍 1
1、FPGA和介绍
2、VHDL介绍
二、课程设计目标和要求 2
1、教学目标
2、教学要求
3、数字钟系统设计要求
三、设计方案 2
1、系统框图
2、模块说明
四、仿真和实现 3
1、数字钟基础计时功效实现
2、数字钟校时功效实现
3、数字钟系统报时功效实现
五、试验心得 4
六、参考文件 4
七、代码 5
一、FPGA和VHDL介绍
1、FPGA介绍
以硬件描述语言(Verilog 或 VHDL)所完成电路设计,能够经过简单综合和布局, 快速烧录至 FPGA 上进行测试,是现代 IC 设计验证技术主流。这些可编辑元件能够被用来实现部分基础逻辑门电路(比如 AND、OR、XOR、NOT)或更复杂部分组合功效比如解码器或数学方程式。在大多数 FPGA 里面,这些可编辑元件里也包含记忆元件比如触发器(Flip-flop)或其它愈加完整记忆块。系统设计师能够依据需要经过可编辑连接把 FPGA 内部逻辑块连接起来,就仿佛一个电路试验板被放在了一个芯片里。一个出厂后成品 FPGA 逻辑块和连接能够根据设计者而改变,所以 FPGA 能够完成所需要逻辑功效。
FPGA 通常来说比 ASIC(专用集成电路)速度要慢,无法完成复杂设计,不过功耗较低。不过她们也有很多优点比如能够快速成品,能够被修改来更正程序中错误和更廉价造价。厂商也可能会提供廉价不过编辑能力差 FPGA。因为这些芯片有比较差可编辑能力,所以这些设计开发是在一般 FPGA 上完成,然后将设计转移到一个类似于 ASIC 芯片上。另外一个方法是用 CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
2、VHDL介绍
硬件描述语言已经有几十年发展历史,而且在系统仿真、验证和设计、综合等方面得到成功应用。现在常见硬件描述语言有 VHDL、 Verilog HDL 、ABEL 等[2][3][4]。VHDL则起源于 20 世纪 70 年代末和 80 年代初,美国国防部提出 VHSIC 计划,目标是为下一代集成电路生产、实践阶段性工艺极限和完成 10 万门级以上电路设计而建立一个新描述方法[5]。VHDL 英文全称为 Very-High-Speed Integrated Circuit Hardware Description Language,是 IEEE 标准化硬件描述语言,而且已经成为系统描述国际公认标准,得到众多 EDA 企业支持。
VHDL 含有很多优点使它能够被大多数人认可,被广泛应用在逻辑电路设计方面,而且成为了标准化硬件描述语言,其优点以下:
(1)功效强大和设计灵活。一个简练使用 VHDL 语言编写程序就能够描述一个复杂逻辑电路,因为 VHDL 拥有强大语言结构[6]。VHDL 多层次设计描述功效能够有效地控制设计实现,支持设计库和可反复使用元件生成,还支持多个设计方法,如层次化设计、模块化设计和同时、异步和随机电路设计。
(2)和具体器件无关。用 VHDL 设计硬件电路时不用先确定设计要用到哪种器件,也不用尤其熟悉器件内部结构,这么能够使设计人员专注于进行系统设计。设计完成后,能够依据消耗资源选择适宜器件,而不造成资源浪费。
(3)很强移植能力。VHDL 由很多不一样工具支持,同一个设计程序能够在包含综合工具、仿真工具、系统平台等工具中使用。
(4)强大硬件描述能力。VHDL 能够描述系统级电路和门级电路,而且描述方法多样,能够采取行为描述、寄存器传输描述或结构描述,也能够用其混合描述方法。同时,VHDL能够正确地建立硬件电路模型,因为它支持惯性延迟和传输延迟。VHDL 数据类型很丰富,支持标准定义数据类型,当标准定义数据类型不能满足用户需求时,用户能够自己定义所需要数据类型,增加了设计自由度。
(5)语法规范,易于共享。当把用 VHDL 编写代码文件看作是程序时,它能够作为设计人员之间交流内容;当把它看作是文档时,能够作为签约双方协议文本。VHDL 易于共享特点,使得大规模协作开发轻易实现。同时,这些特点也促进了 VHDL 发展和完善。
总而言之,VHDL 有很多其它硬件描述语言所不含有优点。不过,VHDL 仍然存在部分缺点,关键是 3 个方面。
(1)要求设计者对硬件电路知识甚至是芯片结构方面知识了解较多。应该摆脱通常高级语言程序设计思绪,因为在电路世界里事件很多是并行发生,而且硬件电路系统内部模块能够是相互独立,也能够是互为因果,所以,在用 VHDL 设计硬件电路时应摆脱通常高级语言程序设计思绪。在设计电路时,应先构思电路,然后才能描述。
(2)不能进行太抽象系统描述。因为 EDA 工具无法综合抽象性太强系统,故用 VHDL描述系统电路时不能太抽象。现在 VHDL 极难综合实际硬件电路,只能适适用于系统建模。
(3)不能描述模拟电路。对于模拟电路而言,VHDL 并不是一个理想硬件描述语言。但能够预见,未来硬件描述语言发展方向是模拟电路和数模混合电路描述方法。
二、课程设计目标和要求
1、教学目标
《通信系统FPGA开发》是通信工程专业教学计划中一门关键专业实践课程,经过进行《通信系统FPGA开发》课程设计训练,使学生全方面掌握FPGA开发基础操作,巩固verilog硬件描述语言编写,培养学生正确设计思想,严厉认真、实事求是科学态度和勇于探索创新精神。注意和生产劳动相结合,重视工艺规程,促进理论联络实际,为毕业设计打下良好基础。
2、教学要求
从课程设计目标出发,经过设计工作各个步骤,达成以下教学要求:
(1)了解EDA软件设计通常操作步骤。
(2)掌握FPGA设计系统通常方法。
(3)熟练掌握使用modelsim和QuartusII软件设计较复杂数字逻辑电路。
(4)经过查阅手册和文件资料,培养学生独立分析问题和处理实际问题能力。
3、数字钟系统设计要求
(1) 有基础实时数字钟功效,即时,分,秒正常显示模式。(二十四小时制)
(2) 可对系统用手动方法校准,设计两个按键,按动校时键,时计数器加一,按动校分键,则电
路处于校分状态。
(3) 整点报时,要求在59分50秒,52秒,54秒,56秒和58秒发出一个低音信号,00分00秒发出一个高音信号。
三、设计方案
1、系统框图:
时计时
秒计时
分计时
进位
进位
Button_min
Button_hour
校分
校时
报时
高音或低音
2、模块说明
秒计时:60进制计数器,在59秒产生进位信号,并在下一个上升沿清零
分计时:60进制计数器,在59分产生进位信号,并在下一个上升沿清零
时计时:24进制计数器,在23H59Min59S产生进位信号,并在下一个上升沿清零
报时模块: 在59分50秒,52秒,54秒,56秒和58秒发出一个低音信号,00分00秒发出一个高音信号。
校时模块
四、仿真和实现
1、数字钟基础计时功效实现:
2、数字钟校时功效实现:
3、数字钟系统报时功效实现:
五、试验心得
经过两周课程设计,在老师指导下和同学帮助下,经过查阅图书馆资料和互联网资源,完成了此次课程设计,期间收获了很多。做课程设计前,应该先画步骤图,做个整体框架结构设计,然后去分别完成各个子模块,由繁入简,简化难度。立即查阅资料是必需,有时苦于某一问题时,就应该去看书。
经过此次课程设计,愈加熟悉了modelsim软件、verilog硬件描述语言和EDA设计通常步骤,
增强了我动手查阅手册和文件资料能力,和培养独立分析问题和处理实际问题能力。
六、参考文件
[1]刘福奇.Verilog HDL设计和实践.北京:北京航天航空大学出版社,.9
[2]王金明.数字系统设计和Verilog HDL(第5版).北京:电子工业出版社,
七、代码:
1、digital_clock:
module digital_clock(clk,reset,button_hour,button_minute,second,minute,hour,alarm_1,alarm_2);
input clk,reset,button_hour,button_minute;
output reg[5:0] second,minute;
output reg[4:0] hour;
output reg alarm_1=1,alarm_2=0;
always@(posedge clk,negedge reset)
begin
if(~reset)//复位
begin second<=6'b0;minute<=6'b0;hour<=5'b0;alarm_1<=1;alarm_2<=0;end
else
begin
if(minute==6'd59)
begin
if(second==49||second==51||second==53||second==55||second==57) //报时
alarm_1<=0;
else alarm_1<=1;
end
if(minute==6'd59&&second==6'd59) alarm_2<=1;else alarm_2<=0; //报时
if(button_minute==1) begin minute<=minute+1;if(minute==6'd59) minute<=0; end
if(button_hour==1) begin hour<=hour+1;if(hour==5'd23) hour<=0;end//校时
if(second!=6'd59) second<=second+1;//秒计时
else if(second==6'd59)
begin
second<=0;minute<=minute+1;//分计时
if(minute==6'd59)
begin
minute<=0;hour<=hour+1;//时计时
if(hour==5'd23) hour<=0;
end
end
end
end
endmodule
2、测试平台文件:
`timescale 1ps/1ps
module digital_clock_test();
reg clk,reset,button_hour,button_minute;
wire[5:0] second,minute;
wire[4:0] hour;
wire alarm_1,alarm_2;
digital_clock u(clk,reset,button_hour,button_minute,second,minute,hour,alarm_1,alarm_2);
always #10 clk=~clk;
initial
begin
clk=0;reset=0;button_minute=0;button_hour=0;
#10 reset=1;
#500 button_minute=1;
#50 button_minute=0;button_hour=1;
#50 button_hour=0;
end
endmodule
东华理工大学
课程设计评分表
学生姓名: 班级: 学号:
课程设计题目:
项目内容
满分24
实 评
选
题
能结合所学课程知识、有一11定能——力:训、、练i。符合选题要求
(5人一题)
10
工作量适中,难易度合理
10
能
力
水
平
能熟练应用所学知识,有一定查阅文件及利用文件资料能力
10
理论依据充足,数据正确,公式推导正确
10
能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等
10
能表现发明性思维,或有独特见解
10
成
果
质
量
总体设计正确、合理,各项技术指标符合要求。
10
说明书综述简练完整,概念清楚、立论正确、技术用语正确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清楚
10
设计说明书栏目齐全、合理,符号统一、编号齐全。 格式、绘图、表格、插图等规范正确,符合国家标准
10
有一定篇幅,字符数不少于5000
10
总 分
100
指导老师评语:
指导老师署名:
年 月 日
展开阅读全文