ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:745.26KB ,
资源ID:28443548      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28443548.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新南昌大学eda实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新南昌大学eda实验报告.docx

1、最新南昌大学eda实验报告8、你是如何得志DIY手工艺制品的?然而影响我们大学生消费的最主要的因素是我们的生活费还是有限,故也限制了我们一定的购买能力。因此在价格方面要做适当考虑:我们所推出的手工艺制品的价位绝大部分都是在50元以下。一定会适合我们的学生朋友。随着社会经济、文化的飞跃发展,人们正从温饱型步入小康型,崇尚人性和时尚,不断塑造个性和魅力的现代文化价值观念,已成为人们的追求目标。因此,顺应时代的饰品文化显示出强大的发展势头和越来越广的市场,从事饰品销售是有着广阔的市场空间。(二)DIY手工艺品的“热卖化”图1-1大学生月生活费分布10、如果学校开设一家DIY手工艺制品店,你希望300

2、-400元 16 32%我们长期呆在校园里,对社会缺乏了解,在与生意合作伙伴应酬方面往往会遇上困难,更不用说商业上所需经历的一系列繁琐手续。他们我们可能会在工商局、税务局等部门的手续中迷失方向。对具体的市场开拓缺乏经验与相关的知识,缺乏从职业角度整合资源、实行管理的能力;根本不知道9、如果你亲戚朋友送你一件DIY手工艺制品你是否会喜欢?实 验 报 告课程名称: EDA技术实用教程 指导老师: 学生姓名: 学 号: 专业班级: 通信工程134班 2015年 12月 7 日实验一、全加器设计实验实验二、模可变计数器设计实验实验三、序列信号发生和检测器设计实验实验四、交通灯控制器设计实验实验五、多功

3、能数字钟设计实验实验六、出租车计费器设计实验本课程总结一、全加器设计实验(一)实验目的1、熟悉建立文件夹和建立工程的整个过程。2、学会建立波形文件。3、学会将文件下载到板子上。(二)设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下:1、利用书上的程序,完成实验目的,实现两个一位二进制数的相加,并将进位输出。(三)主要仪器设备1、微机 1台2、QuartusII集成开发软件 1套3、EDA实验装置 1套(四)实验思路由于要用到例化语句,所以需要将文件都放在一个文件夹里然后创建工程。选择文件夹和名称。添加文件选择实验室用的芯片选择仿真工具半加

4、器真值表如下ABSOCO0000011010101101其中A和B为输入信号,SO为和值输出,CO为进位输出。程序如下。module banjia(A,B,SO,CO); input A,B; output SO,CO; assign SO=AB; assign CO=A&B;Endmodule由真值表可得输入信号A和B异或可作为和值输出,相与可作为进位输出。全加器真值表如下AinBinCinCoutSum0000001001100011101000101011101011011111ain和bin为输入信号,cin为进位信号与ain和bin一起相加,cout为进位出书,sum为和值输出。程序

5、如下。module quanjia(ain,bin,cin,cout,sum); output cout,sum; input ain,bin,cin; wire net1,net2,net3; banjia U1(ain,bin,net1,net2); banjia U2(.A(net1),.SO(sum),.B(cin),.CO(net3); or U3(cout,net2,net3);Endmodule这里用了例化语句调用了一个半加器的模块让ain与bin通过半加器的相加之后的和值net1作为一个输入信号再与进位信号cin相加作为和值sum,ain与bin相加产生的进位信号net2和ai

6、n与bin的和值net1与cin相加产生的进位信号net3相或作为整体的进位输出cout,便可完成真值表的要求。(五)时序仿真添加文件添加引脚然后对输入信号进行赋值,赋值为周期性信号。编译后保存。仿真后效果如下将程序烧入板子如下(六)实验总结因为这个是第一次进EDA实验室,对软件硬件都不了解。遇到很多的简单问题,也就是操作上的不熟练。对照书本上的步骤一步一步操作,才能完成。真应该加强动手能力。通过这次实验理解了全加器的原理和例化语句的使用,初步对EDA实验产生了兴趣。二、模可变计数器设计(一)实验目的1、进一步熟悉实验装置和Quartus软件的使用;2、进一步熟悉和掌握EDA设计流程;3、学习

7、简单组合、时序电路的EDA设计;4、学习计数器中二进制码到BCD码的转换技巧;5、学习实验装置上数码管的输出方法。(二)设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现模可变计数器功能,具体要求如下:1、设置一个按键控制改变模值,按键按下时模为10-99之间(具体数值自行确定)的数,没按下时模为100-199之间(具体数值自行确定)的数;2、计数结果用三位数码管十进制显示。(三)主要仪器设备1、微机 1台2、QuartusII集成开发软件 1套3、EDA实验装置 1套(四)实验思路总体程序如下module jishuqi (CLK,rst,M,SG,en,q,d);

8、input CLK,rst,en; input M; output SG; reg7:0 cnt; reg clk1; reg7:0 SG; reg sel; output reg11:0 q; reg11:0 model; reg3:0 a; output reg d; wire3:0 gw,sw,bw; assign gw3:0=q3:0; assign sw3:0=q7:4; assign bw3:0=q11:8; always (M) if (M) model=12b000000110000; else model=12b000100000000; always (posedge CL

9、K) begin cnt=cnt+1; if (cnt=200) begin clk1=1b1; cnt=0; end else clk1=1b0; if (sel2) sel=sel+1; else sel=0; end always (posedge CLK or negedge rst) begin if(!rst) q=0;else if(en) begin if(qmodel) begin if (gw=9) begin q=q+7; if (sw=9) q=q+96; end else q=q+1; end else q=0;end end always (q) begin if(

10、qmodel) d=0; else d=1;end always (sel) begin case (sel) 0: a=bw; 1: a=sw; 2: a=gw; default: a=0; endcase case (a)0:SG=8b00111111; 1:SG=8b00000110;2:SG=8b01011011; 3:SG=8b01001111; 4:SG=8b01100110; 5:SG=8b01101101;6:SG=8b01111101; 7:SG=8b00000111; 8:SG=8b01111111; 9:SG=8b01101111; default: SG=8b11111

11、111; endcase end endmodule分频模块分频模块由时钟频率的分频作为计数脉冲,每200个系统脉冲有一个技术脉冲,同时可以利用系统脉冲进行循环选择SEL来进行循环扫码。程序如下 always (posedge CLK) begin cnt=cnt+1; if (cnt=200) begin clk1=1b1; cnt=0; end else clk1=1b0; if (sel2) sel=sel+1; else sel=0; 选择模块由M选择,M为1时模是30,M为0时模为100。always (M) if (M) model=12b000000110000; else mo

12、del=12b000100000000; 计数模块计数模块如下,由于q为16进制数,我们需要的输出为BCD码,故进行调整。平常时q来一个脉冲加1,当加到个位为9时,也就是1001,将其加7变为16也就是0,实现了个位由9到0的BCD计数,同时也会向十位进1。当十位和个位同时,为9时,q位加96也就是十位加6,再加上个位向十位进的1就是加7,十位会清零同时个位也会清零,同时向百位进1,实现了正常的十进制BCD码计数。Rst则为清零信号,en为使能信号。always (posedge CLK or negedge rst) begin if(!rst) q=0;else if(en) begin

13、if(qmodel) begin if (gw=9) begin q=q+7; if (sw=9) q=q+96; end else q=q+1; end else q=0;end End当计数到顶后有个标志位d标志是否计到顶。always (q) begin if(qmodel) d=0; else d=1;end循环扫码模块如下,由于sel的变化频率和系统时钟相同,所以肉眼辨别不出来在跳动,可以通过其分别选择数码管并将个位十位百位呈现在数码管上,同时配有译码程序。always (sel) begin case (sel) 0: a=bw; 1: a=sw; 2: a=gw; default

14、: a=0; endcase case (a)0:SG=8b00111111; 1:SG=8b00000110;2:SG=8b01011011; 3:SG=8b01001111; 4:SG=8b01100110; 5:SG=8b01101101;6:SG=8b01111101; 7:SG=8b00000111; (五)实验截图仿真时用CLK代替分频频率便于观察.总体图Rst可以实现计数的清零。当M为1时实现了模30的计数,同时标志位为1当M为0时实现了模100的计数,同时标志位为1使能信号en为0时计数保持不变(六)实验总结初步进行了自己设计程序和仿真一系列工作,加深了对设计过程和语句使用的理

15、解。进而对软硬件的操作使用都有了进一步的熟练,遇到的基础问题也能想办法去解决了,不像第一次那样手足无措了。语法语句也大概有了了解。三、序列信号发生和检测器设计 (一)实验目的1、进一步熟悉EDA实验装置和Quartus软件的使用方法;2、学习有限状态机法进行数字系统设计;3、学习使用原理图输入法进行设计。(二)设计要求完成设计、仿真、调试、下载、硬件测试等环节,在EDA实验装置上实现一个串行序列信号发生器和一个序列信号检测器的功能,具体要求如下:1、先用设计011101101100100100序列信号发生器,其最后6BIT数据用LED显示出来;2、再设计一个序列信号检测器,检测上述序列信号,若

16、检测到串行序列“110110”则输出为“1”,否则输出为“0”;(三)主要仪器设备1、微机 1台2、QuartusII集成开发软件 1套3、EDA实验装置 1套(四)实验思路首先画出状态转移图总体程序如下module xulieji2(clk,rst,en,date,SOUT); parameter s0=1,s1=2,s2=3,s3=4,s4=5,s5=6,s6=7; input clk,rst,en; output date,SOUT; wire SOUT; reg8:0 cnt; reg6:0 ST,NST; reg5:0 date; reg16:0 sdate; assign SOUT

17、=(NST=s6); always ( posedge clk or negedge rst ) begin if(!rst) begin ST=s0; date=6b000000; sdate=17b011101101100100100; cnt=16;end else if(en) begin ST=NST; date5:1=date4:0; date0=sdatecnt; cnt=cnt-1;end else cnt=0; case(ST) s0: begin if(date0=1b1) NST=s1;else NST=s0;end s1: begin if(date0=1b1) NST

18、=s2;else NST=s0;end s2: begin if(date0=1b0) NST=s3;else NST=s2;end s3: begin if(date0=1b1) NST=s4;else NST=s0;end s4: begin if(date0=1b1) NST=s5;else NST=s0;end s5: begin if(date0=1b0) NST=s6;else NST=s2;end s6: begin if(date0=1b0) NST=s0;else NST=s4;end default: NST=s0; endcase endendmodule 这里用到了状态

19、机技术,状态机可以方便的设置程序满足什么条件然后去往什么状态,利用状态机可以实现检测到110110时的状态,同时可以在不满足时准确的调往正确的状态以便于下一步的判断。状态机简写为FSM(Finite State Machine),主要分为2大类:第一类,若输出只和状态有关而与输入无关,则称为Moore状态机;第二类,输出不仅和状态有关而且和输入有关系,则称为Mealy状态机。要特别注意的是,因为Mealy状态机和输入有关,输出会受到输入的干扰,所以可能会产生毛刺(Glitch)现象,使用时应当注意。事实上现在市面上有很多EDA工具可以很方便的将状态图的描述转换成可以综合的程序代码。状态机可归纳

20、为4个要素,即现态、条件、动作、次态。这样的归纳,主要是出于对状态机的内在因果关系的考虑。“现态”和“条件”是因,“动作”和“次态”是果。详解如下:现态:是指当前所处的状态。条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。赋值模块parameter s0=1,s1=2,s2=3,s3=4,s4=5,s

21、5=6,s6=7; input clk,rst,en; output date,SOUT; wire SOUT; reg8:0 cnt; reg6:0 ST,NST; reg5:0 date; reg16:0 sdate; assign SOUT=(NST=s6);s1到s6为状态机的不同状态,clk为控制序列输入的信号,rst为清零信号,en为使能信号,SOUT为检测到序列110110时的输出信号1,cnt为控制哪一位数据进行检测的数,ST和NST为状态机现在的状态和下一时刻将要到来的状态,date为检测到的6为数据,sdate为输入序列,当检测到状态为s6时,通过assign SOUT=(

22、NST=s6)可以让SOUT输出为1.输入序列模块always ( posedge clk or negedge rst ) begin if(!rst) begin ST=s0; date=6b000000; sdate=17b011101101100100100; cnt=16;end else if(en) begin ST=NST; date5:1=date4:0; date0=sdatecnt; cnt=cnt-1;end else cnt=0;Clk为序列输入信号,rst为清零信号,rst为低电平时将初始状态设为s0,初始6位待检测数据为000000,17位输入序列为0111011

23、01100100100,先从最高位从左往右输入,所以cnt开始时为16。en为使能信号,当en为1时可以将下一状态NST赋予现在状态ST,同时将序列进行移位,待检测信号进行输入,同时cnt减1指向下一数据。如果en为0,则保持现在的状态不进行工作。状态转移模块case(ST) s0: begin if(date0=1b1) NST=s1;else NST=s0;end s1: begin if(date0=1b1) NST=s2;else NST=s0;end s2: begin if(date0=1b0) NST=s3;else NST=s2;end s3: begin if(date0=1

24、b1) NST=s4;else NST=s0;end s4: begin if(date0=1b1) NST=s5;else NST=s0;end s5: begin if(date0=1b0) NST=s6;else NST=s2;end s6: begin if(date0=1b0) NST=s0;else NST=s4;end default: NST=s0; endcase endEndmodule通过这个状态转移语句可以正确的实现检测到110110便可使状态到达s6,即便序列为110110110时也是可以的,原理附状态转移图。(五)时序仿真可以清楚的看出,当检测到110110序列时s

25、out便为1,即便是连续的110110110也可以检测出来,证明了这个程序的正确性。(六)实验总结要求画出状态转移图,我把书上的状态机部分仔细阅读,参考了书上的程序编写了这个程序,一开始检查的时候不符合要求,后来检查是状态转移图弄错了,修改之后进行仿真,便得到了正确的结果。状态机在EDA的程序设计中应用广泛。经过这次实验深刻掌握了状态机技术和状态转移图的画法,进一步激发了我对eda的兴趣。四、 交通灯控制器设计 (一)实验目的1、学习与日常生活相关且较复杂数字系统设计;2、进一步熟悉EDA实验装置和Quartus软件的使用方法;3、学习二进制码到BCD码的转换;(二)设计要求完成设计、仿真、调

26、试、下载、硬件测试等环节,在型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1、有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2、交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4、平时系统停留在主干道通行(MGCR)状态,一旦S信号有效,经主道黄灯4秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5、一旦S信号消

27、失,系统脱离MRCG状态,即经乡道黄灯4秒(MRCY)状态进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟;6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。(三)主要仪器设备1、微机 1台2、QuartusII集成开发软件 1套3、EDA实验装置 1套(四)实验思路总体程序如下程序大体分为S=1与S=0的情况,不同情况对应不同处理方法,每一次COUNTER均为0时根据S的1和0来改变数码管的计数的灯的情况,具体原理在注释中有。module jiaotong (S,clk,LED,COUNTER,LED1,sel); input cl

28、k; reg CPB; /时钟input S; output 2:0 sel;reg 2:0 sel; /指明乡村路口是否有汽车的通行信号reg 3:0a;output 5:0 LED; /信号灯的显示output 7:0 LED1; /显示时间的十位output 8:0 COUNTER; /数码的显示reg 5:0 LED;reg 7:0 COUNTER;reg 7:0 LED1;reg 35:0i;reg flag1;reg flag2; reg 7:0 cnt; initialbegin flag2=b0; flag1=b0; COUNTER7:0=D60; LED5:0=6b001100; /主干道是绿灯乡村道是红灯end always (posedge clk) begi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1