首页 EDA设计报告

EDA设计报告

举报
开通vip

EDA设计报告EDA技术及其嵌入式系统设计 湖北民族学院 EDA技术及其嵌入式系统设计课程设计 基于MAX+PLUSII平台的 多功能数字钟 设计报告 指导教师: 袁 海 林 专 业:电气工程及其自动化 姓 名: 矫 龙 飞 学 号: 0306504 目录 一、序言………………………………………………………………………………2 二、实验要求及目的…………………………………………………………………2 三、实验原理…………………………………………………………………………3 四、运行环境………………………………………………………………...

EDA设计报告
EDA技术及其嵌入式系统设计 湖北民族学院 EDA技术及其嵌入式系统设计课程设计 基于MAX+PLUSII平台的 多功能数字钟 设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 指导教师: 袁 海 林 专 业:电气工程及其自动化 姓 名: 矫 龙 飞 学 号: 0306504 目录 一、序言………………………………………………………………………………2 二、实验要求及目的…………………………………………………………………2 三、实验原理…………………………………………………………………………3 四、运行环境…………………………………………………………………………3 五、运行过程…………………………………………………………………………3 六、试验结果…………………………………………………………………………8 七、各模块源程序………………………………………………………………………………8 八、心得体会…………………………………………………………………………16 参考文献……………………………………………………………………………16 基于MAX+PLUSII数字钟的实现 一 序言 电子设计自动化(EDA Electronic Design Automation)技术是一种以计算机作为工作平台,以EDA软件工具为开发环境,以硬件描述语言和原理图描述为设计入口,以可编程逻辑器为实验载体,以ASIC、SOC和SOPC嵌入式系统为设计目标,以数字系统系统设计为应用方向的电子产品自动化设计技术。它是融入了电子技术、计算机技术、信息处理技术、智能化技术等最新成果而开发的高新技术,是现代电子系统设计、制造不可缺少的技术。EDA技术涉及面广,包括描述语言、软件、硬件等方面知识。它的电子仿真软件的仿真功能强大,具有完备的文件库,具有选用元器件创建电路、仿真模拟运行电路的功能,并且在输入信号的加入、输出信号的显示上能完全模拟实际和调制过程中的各种波型和操作过程。因此,EDA可作为辅助实验教育和实验训练的手段之一,以弥补在经费和实验仪器、元器件缺乏情况下的不足,并可节约 材料 关于××同志的政审材料调查表环保先进个人材料国家普通话测试材料农民专业合作社注销四查四问剖析材料 消耗和减少仪器故障,通过仿真可熟悉常用电子仪器的使用方法和测量方法,并锻炼学生电路设计和调试能力,提高学生的分析与解决问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 、故障排除的能力,进一步挖掘学生的开发和创新能力。 Verilog HDL是一种优秀的硬件描述语言,尤其在ACIC设计领域更是占主导地位。Verilog HDL与C语言有许多相似之处,并继承和借鉴了C语言的多种操作符和语法结构,有C语言基础的人很快就能够学习并使用该语言。目前国外教学将Verilog HDL作为主要的硬件描述语言,在国内,该语言的使用人数也逐渐增多。 自上而下的电子系统设计是一种传统的设计思路。这种设计思想更符合人们的逻辑思维习惯,也容易是设计者对复杂的系统进行合理的划分以及不断的优化。现代EDA数字控制系统设计充分利用了自上而下的设计思想,并且许多软件都支持高层的设计和仿真。 二、实验要求及目的: 本设计的数字钟,要求显示格式为小时—分钟—秒钟,分别在8个七段LED数码管上以动态分时扫描的方式显示。系统有两个时钟基准,CLK1为4HZ,分频后用来作为计时基准时钟。CLK2为10KHZ,用来作为扫描基准时钟,分频后作为百分秒计时时钟。 附加功能:有调时模式,增加秒表功能。 数字钟的显示格式如图所示: 实验目的: 1. 初步了解可编程逻辑器件的基本原理 2. 初步掌握Altera公司的可编程逻辑器件开发软件MAX+PLUSп的使用方法 3. 掌握可编程逻辑器件的编程/配置方法 4. 学会使用EDA实验系统 5. 熟悉使用Verilog HDL语言 三、实验原理: 本系统采用的是Altera公司的FPGA器件Flex10K EPF10K10LC84-4,FLEX(灵活逻辑单元矩阵)系列是Altera应用非常广泛的产品,这些器件具有比较高的集成度及丰富的寄存器资源,采用了快速,可预测延时的连续式布线结构,是一种将CPLD和FPGA的优点结合于一体的器件;硬件描述语言Verilog HDL。 由设计的芯片输出稳定的高频脉冲信号作为时间基准,经芯片的CLK分频输出 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的秒脉冲,秒计数器满60向分计数器进位,分计数器满60向小时计数器进位,小时计数器按“24翻1”规律计数,计数器经译码送到数码管中,基于芯片动态分时扫描的方式显示数字时间,动态显示所显示的若干位数是逐位轮流显示的,周而复始不断循环,只要轮流的速度足够快(每秒轮流50次以上),由于人眼“视觉暂留”的特性,感觉不到显示器的闪动,所看到的是连续显示一组数字,采用静态显示一个LED数码管数字,例如数码管的abcdef笔段亮时,显示数字“0”,bc亮时显示“1”,abdeg亮时显示“2”等等。 本设计芯片的输入端为:CLK1,CLK2,KEY1,MADD,MDEC,HADD输出端为:ZX[6…0]、ZW[7…0]。ZX[6…0]实现数码管的显示,ZW[7…0]实现八个数码管的显示。 四、运行环境: MUX+PLUSⅡ集成开发环境。 五、运行过程: 1、程序思想: 利用自顶而下的设计思想,将整个数字钟进行模块划分为:数码管扫描显示模块、数码管译码模块、时钟走时模块、时间调整模块、秒表走时模块以及综合时的附加模块等。 2、主要模块仿真效果: (1)​ 时钟走时模块 (2)数码管扫描显示模块 (3)时钟走时模块 (4)数码管译码模块 (5)跑表走时模块 (3)四输入或门模块 3、顶层电路图(旋转后): 2、管脚分配: 脚 名 脚 号 输入输出类型 脚 名 脚 号 输入输出类型 RST 60 Input ZX 4 22 Output CLK4 1 Input ZX 5 23 Output CLK10K 43 Input ZX 6 24 Output MADD 65 Input ZW0 5 Output MDEC 62 Input ZW 1 6 Output HADD 64 Input ZW 2 7 Output KEY1 61 Input ZW3 8 Output ZX0 17 Output ZW4 9 Output ZX 1 18 Output ZW5 10 Output ZX 2 19 Output ZW6 11 Output ZX 3 21 Output ZW7 16 Output LED1 27 Output LED2 28 Output 3、输入输出功能说明: RST:数字系统复位键,高电平有效 CLK4、CLK10:分别输入4Hz、10KHz时钟信号 KEY1:多功能数字钟功能选择键 MADD:时钟调时模式下为分钟加键,跑表模式下时跑表启停键 MDEC:调时模式下的分钟减1键 HADD:调时模式下小时加1键 LED1:调时模式指示灯 LED2:跑表模式指示灯 六、试验结果: 本文就自己设计多功能数字式电子时钟的过程进行了介绍,在整个设计过程中采用了模块化设计思想,对各个模块逐一进行设计,最终完成整个设计任务。 所设计的多功能数字式电子时钟,要求具备24小时循环计时功能,并要求采用动态显示技术来实现LED的显示。附加功能为有调时模式,秒表功能。本次设计在实验室中利用Altera公司的可编程逻辑器件开发软件MAX plus II进行实验电路的设计和仿真,并利用EDA实验系统,通过下载到FLEX10K芯片基本实现了多功能数字钟的各项功能。 七、各模块源程序: 1、调时模块 //时间调整模块,led1指示进入调整模式 module tune(clk4,da,ga,ea,ha,madd,mdec,hadd,mode,led1); input clk4; input madd,mdec,hadd; input[1:0] mode; output[3:0] da,ga; output[2:0] ea; output[1:0] ha; reg[3:0] da,ga; reg[2:0] ea; reg[1:0] ha; output led1; //指示是否处于调时模式 reg clk1,clk2,led1; always@(posedge clk4) clk2<=!clk2; always@(posedge clk2) clk1<=!clk1; always@(posedge clk2) begin if(mode==1) begin led1<=1; if(madd) begin da<=da+1; if(da==9) begin ea<=ea+1;da<=0; end if(ea==5&&da==9) ea<=0; end else if(mdec) begin da<=da-1; if(da==0) begin ea<=ea-1;da<=9; end if(ea==0&&da==0) ea<=5; end else if(hadd) begin ga<=ga+1; if(ga==9) begin ha<=ha+1;ga<=0; end if(ha==2&&ga==4) begin ha<=0;ga<=0;end end end end endmodule 2、模式控制模块 //控制模块,包括模式选择,调时功能 module control(mode,key1,rst); input key1,rst; output[1:0] mode; reg[1:0] mode; always@(posedge key1) begin if(rst) begin mode<=2'b00; end else begin mode<=mode+2'b01; if(mode==3) mode<=0; end end endmodule 2、走时模块 //时钟走时模块,clk4分频后为1s时钟信号, module zoushi(rst,a,clk4,b,c,d,e,f,g,h,da,ga,ea,ha,mode); input clk4; input rst; input[3:0] da,ga; input[2:0] ea; input[1:0] ha,mode; output[3:0] a,d,g,c,f; output[2:0] b,e; output[1:0] h; reg[3:0] a,d,g,c,f; reg[2:0] b,e; reg[1:0] h; reg clk1,clk2; always@(posedge clk4) clk2<=!clk2; always@(posedge clk2) clk1<=!clk1; always@(posedge clk1) begin if(mode==0) begin if(rst) begin a<=4'd0; b<=4'd0; c<=4'd10; d<=da; e<=ea; f<=4'd10; g<=ga; h<=ha; end else begin c<=4'd10; f<=4'd10; if(a==9) begin a<=0;b<=b+1; end else a<=a+1; if(b==5&&a==9) begin d<=d+1;b<=0; end if(d==9&&b==5&&a==9) begin e<=e+1;d<=0; end if((e==5&&d==9)&&(b==5&&a==9)) begin g<=g+1;e<=0; end if(g==9&&(e==5&&d==9)&&(b==5&&a==9)) begin h<=h+1; g<=0;end if((h==2&&g==9)&&(e==5&&d==9)&&(b==5&&a==9)) begin h<=0;g<=0; end end end end endmodule 3、跑表模块 module paobiao(clk10k,mode,start,rst,a,b,c,d,e,f,g,h,led2); input clk10k,start,rst; input[1:0] mode; output[3:0] a,b,d,g,c,f; output[2:0] e,h; output led2; reg clk100,led2; reg[3:0] a,d,g,c,f,b,e,h; reg[7:0] m; always@(posedge clk10k) begin if(m==99) begin m<=0; clk100<=!clk100; end else m<=m+1; end always@(posedge clk100) begin if(mode==2) begin led2<=1; if(rst) begin a<=4'd0; b<=4'd0; c<=4'd10; d<=0; e<=0; f<=4'd10; g<=0; h<=0; end else if(start) begin c<=4'd10; f<=4'd10; if(a==9) begin a<=0;b<=b+1; end else a<=a+1; if(b==9&&a==9) begin d<=d+1;b<=0; end if(d==9&&b==9&&a==9) begin e<=e+1;d<=0; end if((e==5&&d==9)&&(b==9&&a==9)) begin g<=g+1;e<=0; end if(g==9&&(e==5&&d==9)&&(b==9&&a==9)) begin h<=h+1; g<=0;end if((h==5&&g==9)&&(e==5&&d==9)&&(b==9&&a==9)) begin h<=0;g<=0; end end end end endmodule 4、跑表模块 module paobiao(clk10k,mode,start,rst,a,b,c,d,e,f,g,h,led2); input clk10k,start,rst; input[1:0] mode; output[3:0] a,b,d,g,c,f; output[2:0] e,h; output led2; reg clk100,led2; reg[3:0] a,d,g,c,f,b,e,h; reg[7:0] m; always@(posedge clk10k) begin if(m==99) begin m<=0; clk100<=!clk100; end else m<=m+1; end always@(posedge clk100) begin if(mode==2) begin led2<=1; if(rst) begin a<=4'd0; b<=4'd0; c<=4'd10; d<=0; e<=0; f<=4'd10; g<=0; h<=0; end else if(start) begin c<=4'd10; f<=4'd10; if(a==9) begin a<=0;b<=b+1; end else a<=a+1; if(b==9&&a==9) begin d<=d+1;b<=0; end if(d==9&&b==9&&a==9) begin e<=e+1;d<=0; end if((e==5&&d==9)&&(b==9&&a==9)) begin g<=g+1;e<=0; end if(g==9&&(e==5&&d==9)&&(b==9&&a==9)) begin h<=h+1; g<=0;end if((h==5&&g==9)&&(e==5&&d==9)&&(b==9&&a==9)) begin h<=0;g<=0; end end end end endmodule 5、数码管动态扫描模块 //数码管动态扫描 module saomiao(a,b,c,d,e,f,g,h,clk10k,zx,zw); input clk10k; input[3:0] a,d,g,c,f; input[2:0] b,e; input[1:0] h; output[3:0] zx; output[7:0] zw; reg[3:0] zx; reg[7:0] zw; reg[2:0] slip; always@(posedge clk10k ) begin if(slip==100) slip<=4'b000; else slip<=slip+4'b001; end always@(slip) begin case(slip) 4'd0:begin zw=8'b00000001;zx=a; end 4'd1:begin zw=8'b00000010;zx=b; end 4'd2:begin zw=8'b00000100;zx=c; end 4'd3:begin zw=8'b00001000;zx=d; end 4'd4:begin zw=8'b00010000;zx=e; end 4'd5:begin zw=8'b00100000;zx=f; end 4'd6:begin zw=8'b01000000;zx=g; end 4'd7:begin zw=8'b10000000;zx=h; end default:zw=8'bx; endcase end endmodule 6、8输入或门模块 module or8(zw1,zw2,zw); input[7:0] zw1,zw2; output[7:0] zw; reg[7:0] zw; always begin zw<=zw1|zw2; end endmodule 7、8输入或门模块 module or8(zw1,zw2,zw); input[7:0] zw1,zw2; output[7:0] zw; reg[7:0] zw; always begin zw<=zw1|zw2; end endmodule 8、4输入或门模块 module or4(zx1,zx2,zx); input[3:0] zx1,zx2; output[3:0] zx; reg[3:0] zx; always begin zx<=zx1|zx2; end endmodule 9、数码管译码模块 //气短数码管解码显示,输入为BCD码 module decoder(zx,seg); input[3:0] zx; output[6:0] seg; reg[6:0] seg; always@(zx) begin case(zx) 4'b0000: seg<=7'b0111111; 4'b0001: seg<=7'b0000110; 4'b0010: seg<=7'b1011011; 4'b0011: seg<=7'b1001111; 4'b0100: seg<=7'b1100110; 4'b0101: seg<=7'b1101101; 4'b0110: seg<=7'b1111101; 4'b0111: seg<=7'b0000111; 4'b1000: seg<=7'b1111111; 4'b1001: seg<=7'b1101111; 4'b1010: seg<=7'b0000000; default:seg<=7'bx; endcase end endmodule 八、心得体会 通过本次课程程序设计使我们了解了CPLD,FPGA相关器件的异同和应用,以及FPGA器件的特点,如Altera公司的Felx10k产品,掌握了在系统编程(ISP)技术和边界扫描测试技术在PLD器件中的应用。了解了数字系统设计的流程,掌握了EDA设计软件的应用,如Altera公司的MaxPlusII从设计输入,编译,仿真到下载的全过程。通过课程设计的练习,掌握了用硬件描述语言Verilog HDL来设计数字电路,为将来设计数字模块和数字系统,系统芯片SOC(System On Chip)打下了基础。 从本次课程设计中是我获益匪浅。首先对数字电路这门课程有了更深的了解,因为课程设计本身要求将以前所学的理论知识运用到实际的电路设计当中去,在电路的设计过程中,无形中便加深了对数字电路的了解及运用能力,对课本以及以前学过的知识有了一个更好的总结与理解;以前的数字实验只是针对某一个小的功能设计,而EDA课程设计对我们的总体电路的设计的要求更严格,需要通过翻阅复习以前学过的知识确立了实验总体设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,然后逐步细化进行各模块的设计;其次,在电路仿真的过程中总会出现一些问题,需要我们细心解决,所以通过这次课程设计,我对电路故障的排查能力有了很大的提高;再次,通过此次课程设计,我对实验所用到的软件有了初步的了解,这对我们以后的工作和学习的帮助都很有用处。 感谢学校给我们这次机会,锻炼了我们的动手能力。通过这次课设让我明白了理论和实际操作之间差距,而且也让我很明确得意识到自己在数电上有很多的知识漏洞,以后应该多钻研一下。 最后再次感谢袁海林老师在课程设计的过程中的耐心指导以及同学的热心的帮助,只有通过不断的学习和练习才能不断发现问题,在实践提高自已。 参考文献: [1] 袁海林.EDA技术及其嵌入式系统设计.北京:中央民族大学出版社,2007 [2] 王金明等.数字系统设计与Verilog HDL.北京:电子工业出版社,2002
本文档为【EDA设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_908025
暂无简介~
格式:doc
大小:211KB
软件:Word
页数:17
分类:工学
上传时间:2011-07-27
浏览量:63