EDA技术课程大作业

合集下载

EDA 技术实用教程 课后作业答案

EDA 技术实用教程 课后作业答案

作业3-6module Mux3_1(a1,a2,a3,s0,s1,outy); input a1,a2,a3,s0,s1;output outy;reg outy;reg temp;always @(a2,a3,s0)beginif(s0 == 1'b0)temp = a2;elsetemp = a3;endalways @(a1, temp,s1)beginif(s1 == 1'b0)outy = a1;elseouty = temp;endendmodule作业3-7 半减器module H_suber(x,y,diff,s_out);input x,y;output diff,s_out;reg s_out;wire diff;assign diff = x ^ y;always @(x,y)beginif(x < y)s_out = 1'b1;elses_out = 1'b0;endendmodule全减器module F_suber(x,y,sub_in,diffr,sub_out); input x,y,sub_in;output diffr,sub_out;wire diffr,sub_out;wire H_diff,H_sout,s_out;assign sub_out = s_out || H_sout;H_suber U1 (.x(x),.y(y),.diff(H_diff),.s_out(H_sout));H_suber U2 (.x(H_diff),.y(sub_in),.diff(diffr),.s_out(s_out));Endmodule8位全减器module Bit8_suber(X,Y,Sub_in,Diff,Sub_out);input[7:0] X,Y;input Sub_in;output[7:0] Diff;output Sub_out;wire[7:0] Diff;wire Sub_out;wire[6:0] sub_out;F_suber U1(.x(X[0]),.y(Y[0]),.sub_in(Sub_in),.diffr(Diff[0]),.sub_out(sub_out[0]));F_suber U2(.x(X[1]),.y(Y[1]),.sub_in(sub_out[0]),.diffr(Diff[1]),.sub_out(sub_out[1])); F_suber U3(.x(X[2]),.y(Y[2]),.sub_in(sub_out[1]),.diffr(Diff[2]),.sub_out(sub_out[2])); F_suber U4(.x(X[3]),.y(Y[3]),.sub_in(sub_out[2]),.diffr(Diff[3]),.sub_out(sub_out[3])); F_suber U5(.x(X[4]),.y(Y[4]),.sub_in(sub_out[3]),.diffr(Diff[4]),.sub_out(sub_out[4])); F_suber U6(.x(X[5]),.y(Y[5]),.sub_in(sub_out[4]),.diffr(Diff[5]),.sub_out(sub_out[5])); F_suber U7(.x(X[6]),.y(Y[6]),.sub_in(sub_out[5]),.diffr(Diff[6]),.sub_out(sub_out[6])); F_suber U8(.x(X[7]),.y(Y[7]),.sub_in(sub_out[6]),.diffr(Diff[7]),.sub_out(Sub_out)); Endmodule作业3-13Amodule DFF_A(D,EN,CLK,RST,Q,Q1);input D,EN,CLK,RST;output Q,Q1;reg Q;wire Q1;wire D_temp;assign D_temp = D && EN;assign Q1 = (~D_temp)||RST;always @(negedge RST or posedge CLK)beginif(!RST)Q <= 1'b0;elseif(EN)Q <= D;elseQ <= Q;endmoduleBmodule DFF_B (A,B,C,D,Y);input A,B,C,D;output Y;reg Y;wire temp1,temp2,temp3;assign temp1 = A || B;assign temp2 = C && D;assign temp3 = temp1 ^ temp2; always @(A,temp1,temp3)beginif(temp1)Y = temp3;elseY = A;endendmoduleCmodule DFF_C(RST,D,CLK,Q,DOUT); input RST,D,CLK;output Q,DOUT;reg Q,DOUT;reg D_temp1;wire D_temp2;assign D_temp2 = D ^ D_temp1; always @(RST,D)beginif(RST)D_temp1 = 1'b0;elseD_temp1 = D;endalways @(posedge CLK)beginQ <= D_temp1;DOUT <= D_temp2;endmoduleDmodule DFF_D(SET,D,CLK,EN,RESET,Q);input SET,D,CLK,EN,RESET;output Q;reg Q;wire SET_temp;assign SET_temp = (~RESET) && SET;always @(posedge CLK or posedge RESET or posedge SET_temp) beginif(RESET)Q <= 1'b0;elseif(SET_temp)Q <= 1'b1;elseif(EN)Q <= D;elseQ <= Q;endendmodule8-2.用Mealy机类型,写出控制ADC0809采样的状态机。

电子科技大学20春《EDA技术》在线作业3.doc

电子科技大学20春《EDA技术》在线作业3.doc

1.EDA设计流程包括( )、设计输入、设计处理和器件编程四个步骤。

A.设计准备B.总体设计C.详细设计D.设计数据【参考答案】: A2.请在下例的语句中选择所需的符号____。

signal a,b,c :std_logic;c____a+b after 10ns;A.:=B.<=C.==D.=【参考答案】: B3.下面关于信号和变量的比较,错误的是()。

A.信号赋值可以有延迟时间B.变量赋值无时间延迟C.变量可以看作硬件的一根连线 D.进程对信号敏感【参考答案】: C4.基于下面技术的PLD器件中允许编程次数最多的是()。

A.FLASHB.EEPROMC.PROMD.SRAM【参考答案】: D5.MAX+PLUS的文本文件类型是(后缀名)是A.*.scfB.*.vhdC.*.gdfD.*.sof【参考答案】: B6.关于数组A的定义如下:signal A:bit_vector(7 downto 0);那么,A=“00110101”,A(7 downto 5)=_____________。

A.’010B.‘001C.‘011D.’100【参考答案】: B7.一个完整结构的结构体由哪两个基本层次组出A.数据说明和进程B.结构体说明和结构体功能描述C.顺序描述语句和并行执行语句 D.结构体例化和结构体赋值【参考答案】: B8.文本输入方式是指采用()进行电路设计的方式。

A.CB.硬件描述语言C.CD.JAVA【参考答案】: B9.字符串型文字O“1234”的长度为___________。

A.12B.4C.8D.16【参考答案】: A10.EDA的设计验证包括()、时序仿真和器件测试三个过程。

A.形式仿真B.数值仿真C.功能仿真D.行为仿真【参考答案】: C11.值为“1110”的标准逻辑矢量,进行sla运算后值为____________ 。

A.1100B.1101C.1110D.1000【参考答案】: B12.在verilog语言中,a=4b'1011,那么^a=A.4b'1011B.4b'1111C.1b'1D.1b'0【参考答案】: C13.综合是EDA设计流程的关键步骤,综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;在下面对综合的描述中,()是错误的。

eda课程设计30个题目

eda课程设计30个题目

1数字频率计1)设计一个能测量方波信号的频率的频率计。

2)测量的频率范围是0 999999Hz。

3)结果用十进制数显示。

2乒乓球游戏机1)用8个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍2)一方发球后,球以固定速度向另一方运动(发光二极管依次电量),当球达到最后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动,在其他时候击球视为犯规,给对方加1分;都犯规,各加1分;3)甲乙各有数码管计分4)裁判有一按钮,可系统初始化,每次得分后,按下一次3彩灯控制器1)设计一个彩灯控制器,使十个彩灯(LED管)能连续发出四种以上不同的显示形式(如奇数依次亮),;2)随着彩灯显示图案的变化,发出不同的音响声(可用不同频率的矩形波产生)。

4速度表1)显示汽车时速Km/h2)车轮每转一圈,有一个传感脉冲;每个脉冲代表1m的距离3)采样周期设为10S4)*要求显示到小数点后2位5)数码管显示6)*超速报警5拔河游戏机1)设计一个能进行拔河游戏的电路。

2)电路使用15个(或9个)发光二极管,开机后只有中间一个发亮,此即拔河的中心点。

3)游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。

4)亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。

5)*用数码管显示获胜者的盘数6 6 数字跑表1)具有暂停/启动功能2)具有重新开始功能3)用6个数码管分别显示百分秒、秒和分钟4)能计两个人跑步时间,并能选择显示77 电梯控制器1)5层电梯控制器,用5个led显示电梯行进过程,并用数码管显示电梯当前所在楼层位置,每层电梯入口处设有上楼和下楼请求按钮,按下按钮,则相应楼层的led亮2)电梯到达请求楼层,相应的请求led灯灭,电梯门打开,开门5S,电梯自动关门,继续上行(下行)3)每层设有电梯上行和下行指示灯4)能记忆电梯内部的请求信号88 篮球计分器1)具有30秒计时、显示2)可对计时器清零、置数、启动和暂停3)30秒倒计时4)两个数码管显示两队比分5)超时报警并可解除报警99电子琴1)设计一个简易电子琴;2)利用一基准脉冲产生1,2,3,。

eda课程设计题目答案

eda课程设计题目答案

eda课程设计题目答案一、教学目标本课程的教学目标是使学生掌握eda的基本概念、原理和应用方法,培养学生分析问题和解决问题的能力,提高学生的创新意识和实践能力。

具体来说,知识目标包括:了解eda的基本概念、原理和流程;掌握常见的eda工具和软件的使用方法;了解eda在电子设计中的应用领域。

技能目标包括:能够运用eda工具进行基本的电路设计和仿真;能够根据设计需求选择合适的eda工具和软件;能够对设计结果进行分析和评估。

情感态度价值观目标包括:培养学生对eda技术的兴趣和热情;培养学生勇于探索、创新和合作的精神;培养学生关注社会、关注科技发展的意识。

二、教学内容本课程的教学内容主要包括eda的基本概念、原理和应用方法。

具体安排如下:第1章:eda概述,介绍eda的定义、发展历程和应用领域;第2章:eda工具和软件,介绍常见的eda工具和软件的使用方法;第3章:电路设计,介绍电路设计的基本原理和方法;第4章:仿真与验证,介绍仿真与验证的基本原理和方法;第5章:eda应用案例,介绍eda在实际项目中的应用案例。

三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

具体安排如下:第1章:采用讲授法,介绍eda的基本概念和原理;第2章:采用讨论法,引导学生探讨eda工具和软件的使用方法;第3章:采用案例分析法,分析实际电路设计案例;第4章:采用实验法,让学生动手进行电路设计和仿真;第5章:采用讲授法和讨论法,总结本课程的主要内容和知识点。

四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:教材:《eda技术与应用》;参考书:《电子设计自动化原理与应用》;多媒体资料:教学PPT、视频教程等;实验设备:计算机、eda工具软件、电路实验板等。

以上教学资源将有助于丰富学生的学习体验,提高学生的学习效果。

五、教学评估本课程的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。

(完整word版)EDA计算器设计大作业

(完整word版)EDA计算器设计大作业

计算器设计专业:电子信息工程设计者:本文介绍了一个简单的计算器的设计,该设计采用了现场可编程逻辑器件FPGA设计,并基于VHDL 语言实现加减乘除功能,并用十进制显示在数码管上.系统由计算部分、输入部分、选择部分、输出部分组成,计算部分为加法器、减法器、乘法器和除法器组成.使用Altera公司的QuartusII开发软件进行功能仿真并给出仿真波形,并下载到试验箱,用实验箱上的按键开关模拟输入,用数码管显示十进制计算结果.通过外部按键可以完成四位二进制数的加、减、乘、除四种运算功能,其结果简单,易于实现.关键字:VHDL,计算器,QuartusII一.实验目的 (4)二、流程图 (5)三.顶层原理图 (5)四、各个模块 (7)(1)加法器模块 (7)1、封装元件 (7)2、加法器程序 (7)3、仿真结果 (8)(2)减法器模块 (9)1、封装元件 (9)2、减法器程序 (10)3、仿真结果 (11)4、硬件运行结果 (11)(3)乘法器模块 (12)1、封装元件 (12)2、乘法器的设计思想 (13)3、乘法器程序 (14)4、仿真结果 (14)5、硬件运行结果 (15)(4)除法器模块 (16)1、封装元件 (16)2、除法器设计思想 (16)3、除法器程序 (16)4、仿真结果 (17)5、硬件运行结果 (17)(5)8位除法器 (18)1、封装元件 (18)2、8位除法器设计思想 (19)3、8位除法器程序 (19)4、仿真结果 (22)(6)数码管七段译码电路 (22)1、封装元件 (22)2、共阴极七段显示码十六进制转换表 (23)3、七段译码器程序 (23)4、仿真结果 (24)(7)选择模块 (24)1、封装元件 (24)2、程序 (25)五、管脚锁定 (26)六、小结与收获 (26)一.实验目的1、熟悉QuartusII软件的相关操作,掌握数字电路设计的基本流程.2、介绍QuartusII 的软件,掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,下载等基本操作。

EDA大作业 简易计算器

EDA大作业 简易计算器

EDA大作业简易计算器目录EDA大作业简易计算器 (1)目的 (2)任务 (2)内容及步骤 (3)实验设计及实现过程 (3)设计一个1位全加器 (3)设计四位全加器 (4)(1)设计四位加法器 (5)(2)设计可进行加减运算的四位全加器 (6)(3)实现四位全加器的原码输出 (7)设计四位乘法器 (10)(1)设计八位加法器 (10)(2)设计四位乘法器 (11)(3)将乘积结果转化为十进制数 (13)构成简易计算器 (15)下载到实验箱上验证功能 (17)小结与收获 (18)目的1、学习面向可编程器件的FPGA的简单数字系统的设计流程;2、掌握EDA软件Quartus II的原理图输入方式,以及硬件描述语言描述方式;3、熟悉实验装置——实验箱。

任务在可编程逻辑器件上实现一个简易计算器,可以进行4位二进制数的加法和乘法运算,其中被加(乘)数取值范围0~15,加(乘)数取值范围-15~15。

要求用原理图的输入方式及硬件描述语言的结构描述方式完成。

用实验箱上的按键开关模拟输入,用数码管显示十进制计算结果。

内容及步骤1、设计一个1位全加器。

运用波形仿真检查功能正确后,将其封装成1位全加器模块。

2、以1中已封装的1位全加器模块为基础设计一个4位全加器并将其封装成模块,要求:(1) 加数为正时,实现两个4位二进制数与来自低位进位的加法运算,输出显示和及高位进位。

(2) 加数为负时,实现两个4位二进制数的减法运算,输出显示差的原码和正负数标志。

3、以全加器为基础设计一个4位乘法器并封装成乘法器模块,输出显示乘积和正负数标志。

4、以2、3中生成的器件模块为基础构成一个简易计算器,实现如下图功能。

根据S的输入,分别完成Y=A+B或Y=A×B。

5、下载到实验箱上验证功能。

实验设计及实现过程设计一个1位全加器电路图如下:其中A1、B1分别为两个加数,C1为来自低位的进位,S为输出的全加和,C01为向高位的进位。

西电eda大作业

EDA实验报告班级:021211班指导老师:杨明磊实验一:QUARTUS II软件使用及组合电路设计仿真一、实验目的:学习QUARTUS II软件的使用,掌握软件工程的建立、VHDL源文件的设计和波形仿真等基本内容;二、实验内容:1.四选一多路选择器的设计首先利用QuartusⅡ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。

(1)、功能及原理原理:数据选择器又称为多路转换器或多路开关,它是数字系统中常用的一种典型电路。

其主要功能是从多路数据中选择其中一路信号发送出去。

所以它是一个多输入、单输出的组合逻辑电路。

功能:当选择控制端s10=00时,输出ay=;s10=01时,输出by=;s10=10时,输出cy=;s10=11时,输出dy=。

(2)、逻辑器件符号(3)、VHDL语言(4)、波形仿真(5)、仿真分析由波形可知:当s10=00时,y的波形与a相同;当s10=01时,y的波形与b相同;当s10=10时,y的波形与c相同;当s10=11时,y的波形与d相同;与所要实现的功能相符,源程序正确。

2、七段译码器程序设计仿真(1)、功能及原理7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。

实验中的数码管为共阳极,接有低电平的段发亮。

例如当LED7S输出为 "0010010" 时,数码管的7个段:g、f、e、d、c、b、a分别接0、0、1、0、0、1、0,于是数码管显示“5”。

(2)、逻辑器件符号(3)、VHDL语言(4)、波形仿真(5)、仿真分析由仿真波形可以直观看到,当A=“0000”时,led7s=1000000,数码管显示为0;A=“0001”时,led7s=1111001,数码管显示为1;....依此可验证波形仿真结果完全符合预期,源程序正确。

西电EDA大作业

《数字电路与系统设计》EDA实验报告班级:学号:姓名:西安电子科技大学电子工程学院毫秒表计时器一、实验功能简介:本系统是利用verilog语言设计,并在Basys2 FPGA开发板上实现的毫秒表计时器。

该系统从0.00s开始以0.01s为步长开始计时当计到0.99s时经过判定后个位加一变为1.00s,之后继续以0.01s为步长从1.00s开始计时直到1.99s,之后进行判定个位加一变为2.00s,继续上述循环,直到毫秒表计时计到59.99s 时进行判定时钟自动重置再继续从0.00s开始计时。

本系统设置了一个复位时钟,推动复位键可以在计时期间中断计时,归零后重新计时。

二、实验条件:1.Basys2 FPGA开发板Basys2 FPGA开发板是一个电路设计实现平台,任何人都可以通过它来搭建一个真正的数字电路。

Basys2是围绕着一个Spartan-3E FPGA芯片和一个Atmel AT90USB USB控制器搭建的,它提供了完整、随时可以使用的硬件平台,并且它适合于从基本逻辑器件到复杂控制器件的各种主机电路。

Basys2板上集成了大量的I/O设备和FPGA所需的支持电路。

主要特点如下:Xilinx Spartan 3E FPGA,10万或25万门,FPGA特性18位乘法器,72位高速双端口Block RAM,以及500MHz+运算能力,USB2.0高速接口提供FPGA配置和数据传输,Xilinx Platform Flash ROM可以无限次存储FPGA 配置,用户可配置晶振(25,50,100MHz),另附可连接第二个时钟晶振的插座,三个内置稳压器(1.2V,2.5V,和3.3V),允许使用3.5V-5.5V的外部电源供电,8个用户可编程LED指示灯,4个七段数码管显示器,4个按键开关,8个滑动开关,1个PS/2接口和1个8位VGA显示接口,4个6针用户扩展接口,可以用来连接Digilent PMOD附属电路板,需要Adept2.0或更新版本软件来进行操作。

微波线路EDA大作业

微波EDA作业电磁场4班 B09020416 吴迪1.用Matlab编写微带线分析和综合程序并计算(1)基片厚度0.254mm,相对介电常数2.2的50Ohm微带线的宽度。

解:(1)程序流程图:清除原始数据W的取值范围令t=W/h分别计算a、b计算有效介电常数计算均匀媒质微带阻抗计算当特性阻抗逼近50时W的取值程序代码及注释:clearw=0.7859:0.00001:0.786 %W的值的取值范围t=w/0.254a=1+1/49*log((t.^4+(1/52*t).^2)/(t.^2+0.432))+1/18.7*log(1+(1/18.1*t).^3)b=0.564*((2.2-0.9)/(2.2+3))^0.053n=(2.2+1)/2+((2.2-1)/2)*(1+10*(1./t)).^(-a*b) %有效介电常数f=6+(2*pi-6)*exp(-(30.666./t).^0.7528)m=(376.73/(2*pi))*log(f./t+sqrt(1+(2./t).^2)) %均匀媒质微带线阻抗y=50-m./sqrt(n) %使y逼近0时W的取值运行结果:w =0.7859 0.7859 0.7859 0.7859 0.7859 0.7860 0.7860 0.7860 0.7860 0.7860 0.7860t =3.0941 3.0941 3.0942 3.0942 3.0943 3.0943 3.0943 3.09443.0944 3.0944 3.0945a =1.0455 1.0455 1.0455 1.0455 1.0455 1.0455 1.0455 1.04551.0455 1.0455 1.0455b =0.5240n =1.8722 1.8722 1.8722 1.8722 1.8722 1.8722 1.8722 1.87221.8722 1.8722 1.8722f =6.0010 6.0010 6.0010 6.0010 6.0010 6.0010 6.0010 6.0010 6.0010 6.0010 6.0010m =68.4190 68.4185 68.4179 68.4174 68.4168 68.4162 68.4157 68.4151 68.4146 68.4140 68.4134y =-0.0036 -0.0031 -0.0027 -0.0023 -0.0019 -0.0014 -0.0010 -0.0006 -0.0002 0.0003 0.0007由运行结果可以得宽度为:0.7860mm另外编程可以画出横坐标为w,纵坐标为Z0的图像:(2)基片相对介电常数6.4的微带线,W/h在0.5-10.0之间变化时,特性阻抗Z0的曲线。

EDA大作业~~~~彩灯设计,《彩灯控制器》济南大学 EDA

电子设计自动化大作业题目彩灯控制器学院班级 xxxxxxx姓名 xxxxxx学号 xxxxxxxxxxx二O一二年十月三十一日题目:彩灯控制器一、设计要求:设计能让一排彩灯(8只)自动改变显示花样的控制系统,发光二极管可作为彩灯用。

控制器应有两种控制方式:(1)规则变化。

变化节拍有0.5秒和0.x秒两种,交替出现,每种节拍可有4种花样,各执行一或二个周期后轮换。

(2)随机变化。

无规律任意变化。

二、总体设计:1、总体结构图前端控制(外部端口示意图、总体结构图)2、各模块功能三、单元模块设计每个模块含有以下内容:1、模块名(1)模块功能1.分频器a.功能:实现4096分频且占空比为50%b.功能:当clkd为1时实现512分频,clkd为0时输出为0。

c.功能:当clkd为0时实现256分频,clkd为1时输出为0。

2.前端控制功能:当k为0时总输出clk,k为1时总输出为序列码11010110。

3.模8计数器功能:当clr为0时输出为“000”,当clr为1时为模8计数器输出三位二进制数。

(2)VHDL源程序VHDL代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity deng isport(clk: in std_logic;clr: in std_logic;choose: in std_logic_vector(2 downto 0);led: out std_logic_vector(7 downto 0));end deng;architecture control of deng issignal cnt1:std_logic_vector(1 downto 0); signal cnt2:std_logic_vector(1 downto 0); signal cnt3:std_logic_vector(1 downto 0); signal cnt4:std_logic_vector(1 downto 0); signal cnt5:std_logic_vector(1 downto 0); signal cnt6:std_logic_vector(1 downto 0); signal cnt7:std_logic_vector(1 downto 0); signal cnt8:std_logic_vector(1 downto 0);beginprocess(clk,clr)beginif clr='0'thenled<="00000000";elseif choose="000" thenif clk'event and clk='0' thencnt1<=cnt1+1;end if;case cnt1 iswhen "00"=>led<="10000000";when "01"=>led<="01000000";when "10"=>led<="00100000";when "11"=>led<="00010000";end case;elsif choose="001" thenif clk'event and clk='1' thencnt2<=cnt2+1;end if;case cnt2 iswhen "00"=>led<="00000001";when "01"=>led<="00000010";when "10"=>led<="00000100";when "11"=>led<="00001000"; end case;elsif choose="010" thenif clk'event and clk='1' then cnt3<=cnt3+1;end if;case cnt3 iswhen "00"=>led<="10000000";when "01"=>led<="00100000";when "10"=>led<="00001000";when "11"=>led<="00000010";end case;elsif choose="011" thenif clk'event and clk='1' thencnt4<=cnt4+1;end if;case cnt4 iswhen "00"=>led<="00000001";when "01"=>led<="00000100";when "10"=>led<="00010000";when "11"=>led<="01000000"; end case;elsif choose="100" thenif clk'event and clk='0' thencnt5<=cnt5+1;end if;case cnt5 iswhen "00"=>led<="10000001";when "01"=>led<="11000011";when "10"=>led<="11100111";when "11"=>led<="11111111"; end case;elsif choose="101" thenif clk'event and clk='1' thencnt6<=cnt6+1;end if;case cnt6 iswhen "00"=>led<="01111110";when "01"=>led<="00111100";when "10"=>led<="00011000";when "11"=>led<="00000000"; end case;elsif choose="110" thenif clk'event and clk='1' thencnt7<=cnt7+1;end if;case cnt7 iswhen "00"=>led<="11000000";when "01"=>led<="00110000";when "10"=>led<="00001100";when "11"=>led<="00000011"; end case;elsif choose="111" thenif clk'event and clk='1' thencnt8<=cnt8+1;end if;case cnt8 iswhen "00"=>led<="10000001";when "01"=>led<="01000010";when "10"=>led<="00100100";when "11"=>led<="00011000";end case;end if;end if;end process;end architecture control;输入choose为“000”时的仿真波形:结果分析:设置choose为“000”,当clr=1时led7~led4每过一个时钟变为高电平其余时间为低电平,led3~led0为低电平,当clr=0时输出全部为0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 安阳工学院 电子信息与电气工程学院 课程大作业:EDA技术 题目: 组数:第 11 组 班级:(电子信息工程10-1)

教师成绩由以下评分标准累计得出 1、 电路设计和仿真结果正确清晰合理 ‘ 25% 2、 设计和仿真结果分析正确合理。 25% 3、 大作业报告重点突出、阐述清晰。 25% 4、 小组能很好的组织、合作,过程顺利,按时完成大作业。 15% 5、 陈述清晰正确、有说服力,能够正确回答问题。 10% 总分

学生自评分值 任务 分值 (%)

个人贡献分值 (%)

1 计划和组织 20 7 3 5 3 2 2 电路设计和仿真 35 6 8 6 8 7 3 设计完成和结果分析 20 3 4 4 5 4

4 报告 15 4 3 3 2 3 5 陈述和回答问题 10 1 2 2 2 3 个人平均分值(%) 21 20 20 20 19

大作业总成绩 姓名

成绩

总成绩=J*60%+(J+J*(X-25%))*40% J为教师成绩,X为学生自评分值 2

数字时钟 1. 设计任务和设计方案 1.1设计任务 1、依据预先设定的数字数字时钟的功能,完成对数字钟的设计。 2、通过数字时钟的设计,学习Quartus II中基于VHDL设计的流程。 3、通过这次的设计,掌握简单时序逻辑电路的设计方法与功能仿真技巧。

1.2 设计方案

在方案中要实现的功能是: (1)设置复位、清零等功能 (2)有时、分、秒计数显示功能,小时为24进制,分钟和秒为60进制以24小时循环计时 (3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间 (4)时钟通过数码管显示且时钟计数显示时有LED灯显示; 总体方框图

2. 方案实施 根据系统设计要求,系统由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。这些模块都放在一个顶层文件中。 1)时钟计数: 思路:时计时器为一个24进制计数器,分、秒计时器均为60进制计数器。当秒计时器接受到一个秒脉冲时,秒计数器开始从1计数到60,此时秒显示器将显示00、01、02、...、59、00;每当秒计数器数到00时,就会产生一个脉冲输出送至分计时器,此时分计数器数值在原有基础上加1,其显示器将显示00、01、02、...、59、00;每当分计数器数到00时,就会产生一个脉冲输出送至时计时器,此时时计数器数值在原有基础上加1,其显示器将显示00、01、02、...、23、00。即当数字钟运行到23点59

时 调 整

分 调 整

控制单元 使能端信号 CLK信号

数字时钟

LED显示 秒显示

时显示

分显示 60进制 60进制

24进制 3

分59秒时,当秒计时器在接受一个秒脉冲,数字钟将自动显示00点00分00秒。 实现:首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。sethour可以调整时钟的小时部分, setmin可以调整分钟,步进为1。由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。CLK端连接外部10Hz的时钟输入信号clk。对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。 2)时间设置: 思路:当开关拨至校时档时,电子钟秒计时工作,通过时、分校时开关分别对时、分进行校对,开关每按1次,与开关对应的时或分计数器加1,当调至需要的时与分时,拨动reset开关,电子钟从设置的时间开始往后计时。 实现:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。我们可以通过实验板上的键7和键4进行任意的调整,因为我们用的时钟信号均是1HZ的,所以每LED灯变化一次就来一个脉冲,即计数一次。 3)清零功能: reset为复位键,低电平时实现清零功能,高电平时正常计数。可以根据我们自己进行任意时间复位。

原理图

3.结果和结论

实验箱使用模式7,键8为复位按键,键8为1时正常工作。键4设置小时,键7 4

设置分钟。 下载成功后,按下键8,及使六个LED复位清零,显示数秒的自动计时,可以通过4键设置小时数,7键设置分钟数。当秒数满60则进一位,分钟数满60进一位,当显示为23:59:59时,秒数在加一则显示00:00:00,之后从新计时。

仿真结果及分析

时序仿真 建立波形文件:选择 File→New→Other File→Vector Waveform File→Name→Insert Nod or Bus→Node Finder→ Pins→List→单击“>>”(所有输入/输出都被拷贝到右边的一侧,这些正是我们希望的各个引脚,也可以只选其中的的一部分,根据实际情况决定)→OK 设定仿真时间宽度:选择 Edit → End time…在End time选择窗中选择适当的仿真时间域,以便有足够长的观察时间。 波形文件存盘:选择File→Save as 选项,直接存盘即可。 运行仿真器:在菜单中选择项,直到出现,仿真结束。 1.秒时序仿真图

2.分时序仿真图 5

3.小时时序仿真 4.显示时序仿真 4,分析与心得 这次的EDA实验设计报告我们做的是时钟电路,采用了自顶向下设计方法。由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。通过手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字时钟真正具有使用功能。通过这次实验设计,让我们对EDA有了更深刻的认识,加深了同学之间探讨问题的积极性,增强了动手解决问题的能力。同时,提高了我们学习这门课程的热情。在此,感谢李老师给我们这次机会,能让我们在这貌似枯燥的课本理论知识里发现了甘露。 5.任务分工 翟扬帆 进行程序的仿真 曾凡超 绘制原理图 杨鹏 程序的编写与调试 李许彦 依据功能,设计方案模块 仲李岸 整理报告 6

6.参考文献 [1]潘松 黄继业 EDA技术实用教程(第四版) 科学出版社2010年6月 7.附录

VHDL源程序 秒计数模块的VHDL源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity second is port(clk,reset,semin:in std_logic; enmin:out std_logic; daout:out std_logic_vector(6 downto 0)); end second; architecture one of second is signal count:std_logic_vector(6 downto 0); signal enmin_1,enmin_2:std_logic; begin daout<=count; enmin_2<=(semin and clk); enmin<=(enmin_1 or enmin_2); process(clk,reset,semin) begin if(reset='0')then count<="0000000"; enmin_1<='0'; elsif(clk'event and clk='1')then if(count(3 downto 0)="1001")then if(count<16#60#)then if(count="1011001")then enmin_1<='1';count<="0000000"; else count<=count+7; end if; else count<="0000000"; end if; elsif(count<16#60#)then count<=count+1; enmin_1<='0'; else count<="0000000";enmin_1<='0'; 7

end if; end if; end process; end one;

分计数模块VHDL程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity minute is port(clk,reset,clks,sethour:in std_logic; enhour:out std_logic; daout:out std_logic_vector(6 downto 0)); end minute; architecture rtl of minute is signal count:std_logic_vector(6 downto 0); signal enhour_1,enhour_2:std_logic; begin daout<=count; enhour_2<=(sethour and clk); enhour<=(enhour_1 or enhour_2); process(clk,reset,sethour) begin if(reset='0')then count<="0000000"; enhour_1<='0'; elsif(clk'event and clk='1')then if(count(3 downto 0)="1001")then if(count<16#60#)then if(count="1011001")then enhour_1<='1';count<="0000000"; else count<=count+7; enhour_1<='0'; end if; else count<="0000000"; end if; elsif(count<16#60#)then count<=count+1; enhour_1<='0' after 100 ns; else count<="0000000";enhour_1<='0'; end if; end if;

相关文档
最新文档