




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE5PAGE15目录TOC\o"1-3"\h\u2562第一章设计原理 1148461.1课程设计依据 187891.2课程设计内容及原理 1177531.3课程设计要求 114686第二章设计流程 2129432.1设计流程图 216879第三章模块连接 3294153.1四选一多路器 348433.27段数码管显示 4270153.2.1LED灯接线部分显示 449703.2.2数码管程序设计 5224153.3循环扫描模块 694473.4简易计算器总体程序设计 74605第四章仿真分析 1092304.1四选一多路器 1060924.1.1四选一多路器仿真图 10237894.1.2四选一多路器仿真波形分析 1045864.2数码管 10300854.2.1数码管原理图与仿真图 10214924.2.2数码管原理图与仿真图分析 11107704.3循环扫描 12276234.3.1循环扫描仿真图 12206214.3.2循环扫描模块分析 12254.4四选一多路器 1213254.4.1简单计算器总体仿真图 12302644.4.2简单计算器仿真图设计分析 1312272第五章设计体会 1429485参考文献 15第一章设计原理1.1课程设计依据在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,利用硬件描述语言VerilogHDL、EDA软件QuartusII和硬件平台Cyclone/CycloneIIFPGA进行电路系统的设计。1.2课程设计内容及原理设计一个简单计算器,采用简单4*4计算器键盘,输入2位十进制数进行+、-、*、/四种运算,输入数据分别用两位数码管显示,输出用四位数码管显示4位10进制数,其中除法的结果显示分为商和余数两部分,要求设计键盘扫描存储逻辑,采用时序逻辑和有限状态机设计实现计算器操作的顺序步骤。1.3课程设计要求要求每个同学独立完成设计任务。课程设计说明书封面格式要求见《天津城市建设学院课程设计教学规范》附表1。课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。测试要求:根据题目的特点,采用相应的时序仿真或者在实验系统上观察结果。课程设计说明书要求:1) 说明题目的设计原理和思路、采用方法及设计流程。2) 对各子模块的功能以及各子模块之间的关系作明确的描述。3) 对实验和调试过程,仿真结果和时序图进行说明和分析。4) 包含系统框图、电路原理图、HDL设计程序、仿真测试图。第二章设计流程2.1设计流程图设计流程如下图,分别用两个数码管表示二位十进制数,用一个case语句表示输入数值采用哪种运算方式,分别用00,01,10,11表示加、减、乘、除。首先对运算符号进行选择,然后再在各自模块进行计算,用3—8译码器选择从哪个数码管输出。图1硬件设计流程图图2输出结果A.B的软件流程图第三章模块连接3.1四选一多路器通过对四选一多路器设计,对计算器的运算符“+”,“-”,“*”,“/”进行选择图3四选一多路器程序如下:modulejsq(a,b,c,out,out1,out2);input[7:0]a,b;input[1:0]c;output[15:0]out;output[7:0]out1,out2;reg[15:0]out;reg[7:0]out1,out2;always@(a,b,c,out)case(c)2'b00:beginout1=0;out2=0;out=a+b;end2'b01:beginout1=0;out2=0;out=a-b;end2'b10:beginout1=0;out2=0;out=a*b;end2'b11:beginout1=a/b;out2=a%b;out={out1,out2};enddefault:;endcaseendmodule3.27段数码管显示3.2.1LED灯接线部分显示7段数码显示译码器原理:通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示(数码管可以显示0~F),最方便的方法就是利用译码程序在FPGA/CPLD中来实现。EL-EDA-Ⅲ实验系统的显示采用8位八段共阴极数码管(高电平有效),所对应的接口序号为:8段驱动接口:a、b、c、d、e、f、g、Dp;作为7段译码器,输入为需要显示的数,输出信号LED7S的7位分别接如图4数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。注意:这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h。图4共阴数码管及其电路8位数码扫描显示原理:四位拨码开关产生8421BCD码,经译码电路后成为7段数码管(不包括小数点段位)的字形显示驱动信号(a…g)。图5所示的是8位数码扫描显示电路,其中每个数码管的7个段:g、f、e、d、c、b、a都分别连在一起,8个数码管分别由8个选通信号k1、k2、…k8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅k3对应的数码管显示来自段信号端的数据,而其它7个数码管呈现关闭状态。根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1、k2、…k8分别被单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。图58位数码驱动显示电路扫描电路通过可调时钟输出片选地址SEL[2..0]。由SEL[2..0]通过3-8译码器的输出决定了8位中的哪一位显示,a…g决定了显示什么字形。SEL[2..0]变化的快慢决定了扫描频率f扫描的快慢。3.2.2数码管程序设计数码管模块:图6数码管模块程序如下:moduleDECS7S(A,LED7S);input[3:0]A;output[6:0]LED7S;reg[6:0]LED7S;always@(A) begin case(A) 4'b0000:LED7S<=7'b0111111; 4'b0001:LED7S<=7'b0000110; 4'b0010:LED7S<=7'b1011011; 4'b0011:LED7S<=7'b1001111; 4'b0100:LED7S<=7'b1100110; 4'b0101:LED7S<=7'b1101101; 4'b0110:LED7S<=7'b1111101; 4'b0111:LED7S<=7'b0000111; 4'b1000:LED7S<=7'b1111111; 4'b1001:LED7S<=7'b1101111; 4'b1010:LED7S<=7'b1110111; 4'b1011:LED7S<=7'b1111100; 4'b1100:LED7S<=7'b0111001; 4'b1101:LED7S<=7'b1011110; 4'b1110:LED7S<=7'b1111001; 4'b1111:LED7S<=7'b1110001; endcase endEndmodule3.3循环扫描模块循环扫描模块:图7循环扫描模块程序如下:modulexhsm(clk,rst,count,Dout);inputclk,rst;output[6:0]Dout;output[2:0]count;reg[6:0]Dout;reg[2:0]count;reg[6:0]LED7S1,LED7S2,LED7S3,LED7S4,LED7S5,LED7S6,LED7S7,LED7S8;always@(posedgeclkornegedgerst)beginif(!rst)count<=3'b000;elseif(count==3'b111)count<=3'b000;elsecount<=count+3'b001;endalways@(posedgeclk)begincase(count)3'b000:Dout<=LED7S1;3'b001:Dout<=LED7S2;3'b010:Dout<=LED7S3;3'b011:Dout<=LED7S4;3'b100:Dout<=LED7S5;3'b101:Dout<=LED7S6;3'b110:Dout<=LED7S7;3'b111:Dout<=LED7S8;endcaseendendmodule3.4简易计算器总体程序设计程序如下:modulejsq9(a,b,c,Dout,count,clk,rst);input[7:0]a,b;inputclk,rst;input[1:0]c;output[6:0]Dout;output[2:0]count;reg[6:0]Dout;reg[2:0]count;reg[15:0]out;reg[6:0]LED7S1,LED7S2,LED7S3,LED7S4,LED7S5,LED7S6,LED7S7,LED7S8;DECL7Su1(.A(a[7:4]),.LED7S(LED7S1));DECL7Su2(.A(a[3:0]),.LED7S(LED7S2));DECL7Su3(.A(b[7:4]),.LED7S(LED7S3));DECL7Su4(.A(b[3:0]),.LED7S(LED7S4));DECL7Su5(.A(out[15:12]),.LED7S(LED7S5));DECL7Su6(.A(out[11:8]),.LED7S(LED7S6));DECL7Su7(.A(out[7:4]),.LED7S(LED7S7));DECL7Su8(.A(out[3:0]),.LED7S(LED7S8));reg[7:0]out1,out2;always@(a,b,c,Dout,count,clk,rst)case(c)2'b00:out=a+b;2'b01:out=a-b;2'b10:out=a*b;2'b11:beginout1=a/b;out2=a%b;out={out1,out2};enddefault:;endcasealways@(posedgeclkornegedgerst)beginif(!rst)count<=3'b000;elseif(count==3'b111)count<=3'b000;elsecount<=count+3'b001;endalways@(posedgeclk)begincase(count)3'b000:Dout<=LED7S1;3'b001:Dout<=LED7S2;3'b010:Dout<=LED7S3;3'b011:Dout<=LED7S4;3'b100:Dout<=LED7S5;3'b101:Dout<=LED7S6;3'b110:Dout<=LED7S7;3'b111:Dout<=LED7S8;endcaseEndendmodulemoduleDECL7S(A,LED7S);input[3:0]A;output[6:0]LED7S;reg[6:0]LED7S;always@(A)begincase(A)4'b0000:LED7S<=7'b0111111;4'b0001:LED7S<=7'b0000110;4'b0010:LED7S<=7'b1011011;4'b0011:LED7S<=7'b1001111;4'b0100:LED7S<=7'b1100110;4'b0101:LED7S<=7'b1101101;4'b0110:LED7S<=7'b1111101;4'b0111:LED7S<=7'b0000111;4'b1000:LED7S<=7'b1111111;4'b1001:LED7S<=7'b1101111;4'b1010:LED7S<=7'b1110111;4'b1011:LED7S<=7'b1111100;4'b1100:LED7S<=7'b0111001;4'b1101:LED7S<=7'b1011110;4'b1110:LED7S<=7'b1111001;4'b1111:LED7S<=7'b1110001;endcaseendendmodule第四章仿真分析4.1四选一多路器4.1.1四选一多路器仿真图在软件QuartusII中输入程序,进行仿真,如下:四选一多路器仿真图如下:图8四选一多路器仿真图4.1.2四选一多路器仿真波形分析如图4所示为计四选一多路器的实序仿真图,当输入a为1、b为1、c为00时输出out为2即1+1=2;当输入a=5,b=4,c=01时输出out=1.即5-4=1,当输入a=9,b=6,c=10时输出out=54,即9*6=54,当输入a=12,b=8,c=11时输出out1=1,out2=4,即商为12/8=1,余数为12%8=4.经此验证分析证明此计算器计算准确无误。模块设计成功。4.2数码管4.2.1数码管原理图与仿真图在QuartusII中输入程序,进行波形仿真。原理图如下所示:图9数码管原理图数码管仿真图如下图所示:图10数码管仿真图4.2.2数码管原理图与仿真图分析扫描电路通过可调时钟输出片选地址SEL[2..0]。由SEL[2..0]通过3-8译码器的输出决定了8位中的哪一位显示,a…g决定了显示什么字形。SEL[2..0]变化的快慢决定了扫描频率f扫描的快慢。片选地址端SEL[2..0]可由计数器74161(使用quartus自带的库函数)产生,如图9所示,从000计数到111,以使3-8译码器顺序选通k1、k2、…k8。EL-EDA-Ⅲ实验系统中已自带3-8译码器,其对应输入接口为:SEL0~SEL2,悬空为高电平,其具体的对应关系如下表所示,故图9中的3-8译码器可以省掉。如图10所示为数码管显示器的时序仿真波形,当输入为2时七段数码管中abcdefg的高低电平分别为1011011即abcdg点亮显示数字2,当输入为4时七段数码管对应显示1100110即abcdef被点亮显示数字4.经验证其他数字显示均正确,七段数码管显示器模块设计仿真成功4.3循环扫描4.3.1循环扫描仿真图在软件QuartusII中输入程序,对程序进行仿真。循环扫描仿真图如下图所示:图11循环扫描仿真图4.3.2循环扫描模块分析如图11所示为循环扫描时序仿真波形,该模块是一个循环扫描计数器,在时钟和复位信号的控制下,从000—111循环计数分别控制八个数码管循环点亮,由于时钟的频率比较快,大于人眼的分辨率,所以显示出八个数码管同时点亮,即同时显示计算器的输入、输出。4.4四选一多路器4.4.1简单计算器总体仿真图在软件QuartusII中输入程序,进行仿真:计算器总体设计仿真图如下:图12总体设计仿真图4.4.2简单计算器仿真图设计分析如图12所示为简易计算器总体设计仿真波形,设计一个四选一多路器,当c为00时,为加法,c为01时,为减法;c为10时,为乘法;c为11时,为除法。如图,在rst为低电平时,输出延迟,当rst为高电平后,在clk上升沿时,a为00000000,b为00000000,c为00,数码管1表示a的高四位,数码管2表示a的低四位,数码管3表示b的高四位,数码管4表示b的低四位,数码管5到数码管8表示输出Dout。依次类推,可以看出,仿真出来的时序图是正确的。第五章设计体会通过对这门课程相关理论的学习,我掌握了EDA的一些基本的的知识,现代电子产品的性能越来越高,复杂度越来越大,更新步伐也越来越快。实现这种进步的主要原因就是微电子技术和电子技术的发展。前者以微细加工技术为代表,目前已进入超深亚微米阶段,可以在几平方厘米的芯片上集成几千万个晶体管;后者的核心就是电子设计自动化EDA(Electronic
Design
Automati
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB3707T 135-2025大葱三系杂交制种技术规程
- 江西公路沥青路面施工方案
- 马尾松种植中发生的主要病虫害及针对性防治方法的多角度分析
- 医疗机构水污染物的监测与检测方法
- 稳定和扩大就业的背景与意义
- 就业质量提升的路径
- 2025年配网自动化监控项目合作计划书
- 广东省佛山市2017-2018学年高一上学期期末考试教学质量检测政治试题
- 浙江省台州市2024-2025学年高二上学期期末质量评估数学试题2
- 四川省棠湖中学2017-2018学年高二下学期开学考试语文试题
- 2024年苏州市职业大学单招职业技能测试题库及答案解析
- 销售部廉政培训课件
- 幽门螺旋杆菌科普文
- 唯物史观精华知识点总结
- 部队保密安全教育课件
- 三八普法知识讲座
- NB-T 47013.1-2015 承压设备无损检测 第1部分-通用要求
- 电缆隐蔽验收记录文本20种
- 小班健康-阿嚏阿嚏
- 广东省东莞市重点学校2024届中考二模语文试题含解析
- (完整版)小学生心理健康教育课件
评论
0/150
提交评论