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






