(完整版)EDA大作业
EDA大作业格式规范交通信号灯
交通信号灯EDA技术课程大作业设计题目:交通信号灯学生姓名:学号:专业班级:2012年5月 4 日交通信号灯1.设计背景和设计方案1.1设计背景这学期我们学了EDA课程。
为了更加熟练掌握VHDL的设计流程及原理设计了交通信号灯。
交通信号灯有基于DSP设计的,有基于ARM嵌入式的,有基于单片机的,有基于EDA的,还可以用标准逻辑器件。
但是,这些控制方法的功能修改和调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的难度。
所以,现在国内外大多采用EDA技术来实现交通灯控制系统的设计。
随着社会的发展,我国机动车辆的数量也在突飞猛涨。
基于这种情况,我国的道路交通问题已成为令人担忧的问题。
为了缓解交通压力,同时为了降低我国交通事故发生率运用控制系统控制设计成的交通信号灯已成为必然趋势。
在我们的日常生活中较为普遍并且容易操作,便于实现方案论证。
运用quartusii5.1软件实现此电路的设计与仿真。
1.2设计方案交通信号灯的逻辑变化可以使用一个有限状态机来实现。
通常,在最简单的情况下,十字路口的东西和南北两个方向分别有“红、绿、黄”三个交通灯,这三个灯的逻辑变化用来控制交通秩序。
在正常工作情况下,十字路口一般为两路交通灯,我们可以假设为南北方向和东西方向。
为了描述方便我们用E代表东,W代表西,S代表南,N代表北R代表红,G代表绿,Y代表黄。
东西和南北两个方向的红、黄、绿三个交通灯的状态变化顺序可以表示如表1.1所示。
表1.1 交通灯状态变化顺序表在系统复位时,其起始状态一般为两个方向均为红灯,即RR。
另外在某些情况下还有一种备用的工作模式,即两个方向均为黄灯(YY)。
因此在控制时,有多个控制输入信号,及复位信号(reset)和备用模式设置信号(std_by)。
2. 方案实施首先,在除去E盘以外的其他盘下新建一个文件夹,重命名为traffic(注意文件名不能有汉语)。
然后,打开quartusii5.1应用软件。
eda大作业
e d a大作业本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March班级 021291学号 02129057EDA实验报告学院电子工程学院专业电子信息工程学生姓名 02129057导师姓名纠博交通控制器一.设计目标设计一个十字路口交通控制系统,其东西,南北两个方向除了有红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示每一路允许通行的时间,绿灯,黄灯,红灯的持续时间分别是70、5和75秒。
当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,时钟停止计时,且其数字在闪烁。
当特殊运行状态结束后,管理系统恢复原来的状态,继续正常运行。
二.设计思路与实施方案1.设计目标思路整理①在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一方向(东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄灯。
②设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别是70s、5s和75s。
③当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。
当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。
2.原理分析本系统主要由分频器,计数器,控制器,倒计时显示器等电路组成。
分频器将晶振送来的50MHZ信号变为1HZ时钟信号;计数器实现总共150秒的计数,它也是交通控制系统的一个大循环;控制器控制系统的状态转移和红黄绿灯的信号输出;倒计时显示电路实现75秒,70秒及5秒的倒计时和显示功能。
整个系统的工作时序受控制器控制,是系统的核心。
基于此,做出交通控制系统的转移图如下:其中,s0:A方向绿灯亮,B方向红灯亮,此状态持续70秒;S1:A方向黄灯亮,B方向红灯亮,此状态持续5秒;S2:A方向红灯亮,B方向绿灯亮,此状态持续70秒;S3:A方向红灯亮,B方向黄灯亮,此状态持续5秒;S4:紧急制动状态,A方向红灯亮,B方向红灯亮,当hold=‘0‘时进入这种状态。
EDA实验课程大作业报告:设计制作一个用于十字路口的交通灯控制器
交通灯控制器设计一.系统功能设计要求设计制作一个用于十字路口的交通灯控制器,要求如下:(1)南北和东西方向各有一组红、绿、黄灯来指挥交通,持续时间分别为25S,20S,和5S。
(2)当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止。
(3)当特殊情况结束后,控制器恢复原来状态,继续正常运行。
(4)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
二.设计原理1.交通灯控制器的状态转换根据题目要求将将红绿灯的状态转换列成如下表:2.设计方案1)由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。
频率设定CLK1k对应的频率为50MHZ。
2)控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。
3)每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。
4)显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。
三.变量符号说明其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4为数码管地址选择信号输出端。
四.代码说明library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Hongld ISport (clk1k,SN:in std_logic; --SN紧急情况led1, led2, led3, led4 :out std_logic_vector (6 downto 0);--显示管显示时间用light:out std_logic_vector (5 downto 0)); --红绿黄灯end Hongld;architecture traffic1 of Hongld ISsignal S:std_logic_vector (1 downto 0); --状态signal DXT:std_logic_vector(7 downto 0):=X"01"; --东西方向时间signal NBX:std_logic_vector(7 downto 0):=X"01"; --南北方向时间signal ART,AGT,AYT,BRT,BGT,BYT: std_logic_vector(7 downto 0); --红绿黄灯信号signal temp: integer range 0 to 49999999; --产生1s计数器时计数signal clk: std_logic;beginART<="00100101";AGT<="00100000";AYT<="00000100";BRT<="00100101";BGT<="00100000";BYT<="00000100";process(clk1k) -- 选频率为50MHZ beginif (clk1k'event and clk1k='1') thenif temp=49999999 thentemp<=0;clk<='1';elsetemp<=temp+1;clk<='0';end if;end if;end process;process(clk,DXT,NBX) --状态转换进程beginif clk'event and clk ='1' thenif(DXT ="00000001")OR (NBX = "00000001") then S<=S+1;else S<=S;end if; --状态转换结束end if;end process;process (clk,SN,S) --倒计时模块beginif SN = '1' then DXT<=DXT; NBX<=NBX;elseif clk'event and clk='1' thenif (DXT="0000000") OR (NBX="00000000") thencase S ISwhen "00"=>DXT<=ART; NBX<=BGT; --南北红灯、东西绿灯when "01"=>NBX<=BYT; --南北红灯、东西黄灯when "10"=>DXT<=AGT; NBX<=BRT; --南北绿灯、东西红灯when "11"=>DXT<=AYT; --南北黄灯、东西红灯when others=>NULL;end case;end if;if DXT/="00000000" thenif DXT(3 downto 0)= "0000" thenDXT(3 downto 0)<="1001";DXT(7 downto 4)<=DXT(7 downto 4)-1;else DXT(3 downto 0)<=DXT(3 downto 0)-1;DXT(7 downto 4)<=DXT(7 downto 4);end if;end if;if NBX/="00000000" thenif NBX(3 downto 0)="0000" thenNBX(3 downto 0)<="1001";NBX(7 downto 4)<=NBX(7 downto 4)-1;else NBX(3 downto 0)<=NBX(3 downto 0)-1;NBX(7 downto 4)<=NBX(7 downto 4);end if;end if;end if;end if;end process; --倒计时模块结束process(DXT,NBX,S,SN) --显示模块begincase NBX(3 downto 0) iswhen "0000"=>led1<="1000000";when "0010"=>led1<="0100100"; when "0011"=>led1<="0110000"; when "0100"=>led1<="0011001"; when "0101"=>led1<="0010010"; when "0110"=>led1<="0000010"; when "0111"=>led1<="1111000"; when "1000"=>led1<="0000000"; when "1001"=>led1<="0010000"; when others=>led1<="1111111"; end case;case NBX(7 downto 4) iswhen "0000"=>led2<="1000000"; when "0001"=>led2<="1111001"; when "0010"=>led2<="0100100"; when "0011"=>led2<="0110000"; when "0100"=>led2<="0011001"; when "0101"=>led2<="0010010"; when "0110"=>led2<="0000010"; when "0111"=>led2<="1111000"; when "1000"=>led2<="0000000"; when "1001"=>led2<="0010000"; when others=>led2<="1111111"; end case;case DXT(3 downto 0) iswhen "0000"=>led3<="1000000"; when "0001"=>led3<="1111001"; when "0010"=>led3<="0100100"; when "0011"=>led3<="0110000"; when "0100"=>led3<="0011001"; when "0101"=>led3<="0010010"; when "0110"=>led3<="0000010"; when "0111"=>led3<="1111000"; when "1000"=>led3<="0000000"; when "1001"=>led3<="0010000"; when others=>led3<="1111111"; end case;case DXT(7 downto 4) iswhen "0000"=>led4<="1000000"; when "0001"=>led4<="1111001"; when "0010"=>led4<="0100100";when "0100"=>led4<="0011001";when "0101"=>led4<="0010010";when "0110"=>led4<="0000010";when "0111"=>led4<="1111000";when "1000"=>led4<="0000000";when "1001"=>led4<="0010000";when others=>led4<="1111111";end case;if SN ='1' then light<="001001";elsecase S ISwhen "00"=>light<="010001";when "01"=> light <="100001";when "10"=> light <="001010";when "11"=> light <="001100";when others=>NULL;end case;end if;end process;end traffic1;五.仿真波形图仿真时序波形图。
EDA大作业
EDA大作业信号发生器的设计要求:(1) 产生方波、三角波、锯齿波、正弦波(2)产生波形的模式可选(3)频率为10KHz设计方案:1.总体设计思路1.1 设计步骤此设计将按模块式实现,据设计要求,设计总共分四大步份完成:(1)产生波形(四种波形:方波、三角波、矩形波和锯齿波)信号;(3)频率为10KHZ幅度固定;1.2设计思想利用VHDL编程,依据基本数字电路模块原理进行整合。
系统各部分所需工作时钟信号由输入系统时钟信号得到。
总体设计框图如下图1所示:波形输出2. 方案论证2.1方案采用VHDL语言来编程,然后下载文件到FPGA来实现。
VHDL语言是电子设计领域的主流硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大降低了硬件设计任务,提高了设计效率和可靠性,要比模拟电路快得多。
该方案是利用FPGA具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性,设计图如图2。
图2 FPGA总体设计图(需要修改) 通过FPGA软件扫描方式将波形数据读出传输给DAC0832(为8分辨率的D/A转换集成芯片)产生波形输出。
这种方法在软、硬件电路设计上都简单,且与我们的设计思路紧密结合。
㈠3硬件选择4软件设计4.1.1 波形产生模块本设计用VHDL语言根据傅立叶函数采集点进行扫描,分别产生正弦波、三角波和矩形波。
以下介绍各种常用周期信号的傅立叶函数展开式。
4.1.3正弦波(1)设计思想正弦波发生分为两个步骤,即正弦波幅值采样存储和正弦波波形的还原输出。
幅值采样是将一个周期正弦波进行64等分,如图3所示,将64个采样点进行量化处理,量化值=255*sin360/64(V),将64点量化值存入存储器ROM。
正弦波形的产生是通过循环反复将存储器中的64点采样值通过DAC0832进行还原输出,得到幅值正比于64点采样值的正弦波。
(完整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技术课程所学知识,利用硬件描述语言Verilog HDL、EDA软件Quartus II和硬件平台Cyclone/Cyclone II FPGA进行电路系统的设计。
本次实验我完成的内容是简单计算器的设计,下面我简单的进行一下原理的阐述。
设计一个简单计算器,输入为8位二进制数,分别用两位数码管显示,输出的计算结果为16位二进制数,并用四位数码管显示,能够实现+、-、 *、/ 四种运算,其中除法的结果显示分为商和余数两部分,分别用两位数码管显示。
为了完成要求的效果显示,我先设计了一个简单的四则运算器,为了使其结果能清楚的看到,所以计算器模块和一个7段数码管模块连接。
实验要求,输入分别用两位数码管显示,输出用四位数码管显示,所以用一个3—8译码器和数码管连接,通过开关控制,形成动态显示。
从左向右,依次是第一位数码管显示a的高四位,第二位数码管显示a的低四位;第三位数码管显示b的高四位,第四位数码管显示b的低四位;第五位数码管到第八位数码管显示输出的结果。
通过改变时钟,使其看起来像同时显示在数码管上。
设计流程如下图,分别用两个数码管表示八位二进制数,用一个case 语句表示输入数值采用哪种运算方式,分别用00,01,10,11表示加,减,乘,除。
用3—8译码器选择从哪个数码管输出。
硬件流程图输出结果 A. B 的显示软件流程图LED 灯接线部分显示:中心控制 复位编码 数码管输出输入A 输入B 运算选择C 输出out L E D 8 L E D 7 L E D 6 L E D 5 L E D 4 L E D 3 L E D 2 L E D 1第三章程序简单计算器的程序如下:module jsq9(a,b,c,Dout,count,clk,rst);input[7:0]a,b;input clk,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; DECL7S u1(.A(a[7:4]) , .LED7S(LED7S1));DECL7S u2(.A(a[3:0]) , .LED7S(LED7S2));DECL7S u3(.A(b[7:4]) , .LED7S(LED7S3));DECL7S u4(.A(b[3:0]) , .LED7S(LED7S4));DECL7S u5(.A(out[15:12]) , .LED7S(LED7S5));DECL7S u6(.A(out[11:8]) , .LED7S(LED7S6));DECL7S u7(.A(out[7:4]) , .LED7S(LED7S7));DECL7S u8(.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@(posedge clk or negedge rst)beginif(!rst)count<=3'b000;else if(count==3'b111)count<=3'b000;elsecount<=count+3'b001;endalways@(posedge clk)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;endcaseendendmodulemodule DECL7S (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第四章模块连接在本程序中,共由三个模块组成,第一个模块是一个四选一多路器其仿真图为:第二个模块是7段数码管显示程序如下module DECL7S (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仿真图如下:把这个两个模块用一个3—8译码器进行连接,使其达到实验的要求。
EDA完整版答案
1. 一个项目的输入输出端口是定义在 A 。
A. 实体中B. 结构体中C. 任何位置D. 进程体2. 描述项目具有逻辑功能的是 B 。
A. 实体B. 结构体C. 配置D. 进程3. 关键字ARCHITECTURE定义的是 A 。
A. 结构体B. 进程C. 实体D. 配置4. MAXPLUSII中编译VHDL源程序时要求 C 。
A. 文件名和实体可以不同名B. 文件名和实体名无关C. 文件名和实体名要相同D. 不确定5. 1987标准的VHDL语言对大小写是 D 。
A. 敏感的B. 只能用小写C. 只能用大写D. 不敏感6. VHDL语言中变量定义的位置是 D 。
A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置7. VHDL语言中信号定义的位置是 D 。
A. 实体中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置8. 变量是局部量可以写在 B 。
A. 实体中B. 进程中C. 线粒体D. 种子体中9. 变量和信号的描述正确的是 A 。
A. 变量赋值号是:=B. 信号赋值号是:=C. 变量赋值号是<=D. 二者没有区别10. 变量和信号的描述正确的是 B 。
A. 变量可以带出进程B. 信号可以带出进程C. 信号不能带出进程D. 二者没有区别11. 关于VHDL数据类型,正确的是 B 。
A. 数据类型不同不能进行运算B. 数据类型相同才能进行运算C. 数据类型相同或相符就可以运算D. 运算与数据类型无关12. 下面数据中属于实数的是 B 。
A. 4.2B. 3C. …1‟D. “11011”13. 下面数据中属于位矢量的是 D 。
A. 4.2B. 3C. …1‟D. “11011”14. 关于VHDL数据类型,正确的是 B 。
A. 用户不能定义子类型B. 用户可以定义子类型C. 用户可以定义任何类型的数据D. 前面三个答案都是错误的15. 可以不必声明而直接引用的数据类型是 C 。
EDA大作业1
EDA大作业1 3位二进制运算器及其数码管扫描显示电路一、目的1. 学习面向可编程器件(FPGA)的简单数字系统的设计流程。
2. 熟练掌握EDA设计软件Quartus II的原理图输入方式和层次化设计模式。
3.熟悉实验装置——实验板,掌握板上外设的工作原理。
二、预习任务按照以下任务要求完成电子版预习报告。
验收后和终结报告合并一起提交。
1. 根据实验任务中的步骤提示,写出要用到的电路模块及其功能。
2. 阅读附录了解FPGA实验板提供的外设资源,并掌握其工作原理。
三、实验任务在可编程逻辑器件上实现一个运算器,可以进行3位二进制数(无符号数)的加减运算。
要求用原理图的输入方式完成。
用实验板上的按键和拨码开关模拟输入,用数码管和发光二极管显示运算结果。
具体内容及步骤如下:1. 用门电路设计一个1位二进制全加器。
运用波形仿真检查功能正确后,将其封装成1位全加器模块。
2. 以1中已封装的1位全加器模块为基础实现一个3位二进制全加器,并仿真检查功能正确与否。
3. 以2中的3位全加器模块为基础实现一个3位二进制运算器,可以完成运算S=M±N。
其中当减法运算结果为负数时,输出显示差的原码和负数标志。
可将运算结果和负数标志下载至发光二极管显示验证。
4. 设计一个4位数码管的扫描显示电路。
(1)将运算器的两个运算数和运算结果根据拨码开关DIP1、DIP2的状态,在4位数码管上轮流显示,如表1所示。
(提示:可以选用库中的译码器7448或自行设计译码器)(2)负数标志在发光二极管显示。
拨码开关与数码管实物图,见图1。
表1 拨码开关与数码管状态表图1a 拨码开关图1b 4位扫描数码管5. 下载到实验板上验证功能。
外设与FPGA的连接引脚见《FPGA实验板说明书》。
四、验收步骤请同学们首先按以下步骤自查:1. 3位二进制全加器的顶层原理图和仿真2. 运算器的顶层原理图和仿真3. 运算器下载及功能演示4. 运算器及数码管扫描显示电路的顶层原理图和仿真5. 运算器及数码管扫描显示电路下载及功能演示整个project下载实现全部功能后,才能开始验收。
西电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技术应用总结报告基于EDA技术的8位十进制数字频率计设计院(系、部):姓名:班级:指导教师签名:2013年11 月13 日目录1 EDA发展最新动态 (3)1.1功能验证 (3)1.2混合信号验证 (3)1.3可制造性设计 (3)2 EDA技术的概念 (3)3 基于EDA技术的8位十进制数字频率计 (4)3.1引言 (5)3.2软件开发环境 (4)3.3设计方案 (5)3.4、数字频率计模块电路设计 (5)3.4.1分频计设计 (6)3.4.2测频控制信号发生器设计 (6)3.4.3 8位十进制计数器cnt32d的设计 (6)3.4.4锁存器reg32设计 (7)3.4.5动态扫描译码驱动器decode设计 (7)3.4.6数字频率计顶层电路图 (8)3.5硬件测试及验证 (8)4 分析 (9)5 参考文献 (12)1 EDA发展最新动态(1)、功能验证(Functional Verification):随着制造工艺的进步,单位面积上所能容纳的器件数暴增。
设计师可以有足够的空间设计出前所未有的复杂电路,但是要如何验证这么庞大电路功能的正确性却仍是一项棘手的挑战。
明显地,设计能力以及验证能力中间存在着难以跨越的鸿沟。
研究指出,在整个产品研发周期中,有趋近于80%左右的时间都是花在功能验证上。
因此若要大幅提前产品上市的时间,首要必须解决验证的瓶颈。
传统的仿真工具已经无法应付百万门级以上的设计验证需求,举例来说,单就1分钟的MPEG编码进行Verilog仿真可能要花费数个月的时间;但若是采硬件方针,只需要5分钟。
Mentor持续的在最新的验证技术上进行投资,对于最新的验证方法学也不断推陈出新。
Mentor能帮助客户轻松转化到下一代系统设计和设计方法,以应对设计周期并最大程度减少设计复杂度。
(2)、混合信号验证(Mixed Signal):传统的设计流程是把模拟和数字系统独立开发,常带来设计速度慢、昂贵,甚至不适当的副作用,而Mentor的ADMS混合设计工具所提供的自动化功能可帮助去除这道数模隔阂,能够支持模拟、数字和混合信号设计方法中自上而下(top-down)和由下而上(bottom-up)的验证手段──Eldo工具用于模拟仿真,ModelSim用于数字仿真,让混合信号的SoC设计者能通过与数字电路“硬件描述语言与行为级模型”相仿的工具轻松自动转换。
EDA技术课程大作业
2。
篇幅在3000-4000字
3.系统中要求有硬件框图、软件框图、EDA片内框图
题目A:2005年全国大学生电子设计竞赛试题A题。
要求产生的信号源用DDS方式使用FPGA芯片来产生。
题目B:基于FPGA的步进电机细分控制器的设计
要求使用FPGA芯片来产生步进电机细分控制器所需要的PWM信号;步进电机(6相,每相的电流为4A,工作电压为50V)的驱动电路;总的系统硬件图。
题目C:视频信号采集系统的设计
1.视频信号的规格为VCD像素数为352X288 ( PAL 制
式)
2.视频信号的采样精度为8bit,采样深度50帧。
题目D:高速公路车辆超速监测系统的设计
1.汽车的速度上限为120/小时。
2.采用FPGA芯片作为主控器件来测速。
简易无线供电系统
数字式电参数测量仪。
数电EDA大作业一报告
将3个CP1串行级联,并将第一个的进位输入端接符号位。
实现功能:求补码
5.简易3-1选择器(3_1selector):
输入:选择端S2S1S0,数位I2I1I0输出:Y
约束条件:
实现功能:选通一个输入端。
6.简易2-4译码器(2_4decoder):
实现功能:通过拨码开关或者接入两列方波序列让加数和结果分别显示在数码管上。
二、设计思路
1.注意到两个带符号位的四位二进制数时,需要先把二进制数的补数相加再取补数,所以做三个补码器和一个全加器组合,进而完成运算器。
2.对于带符号位的三位二进制数,可以扩展成四位,即把M, N扩展成A3A2A1A0形式,其中,A3为符号位,A2补0,A1A0与原M、N的最后两位相同。
2.全加器和运算器的设计基本没有遇到设计上的问题,因为电子技术实验三组合电路有设计过类似电路。
3.设计分频器时,遇到的问题是在quartus ii中不能直接添加时钟,最后查看FPGA使用说明才知道用晶振产生时钟信号。
4.分频器接入电路后出现错位重影的问题,分析是竞争冒险的问题,所以继续分频,直到能准确显示为止(31.25Hz)。
8.同步十进制加法器(SDAC):
实现功能:产生占空比为1/10的方波。
9.降200k分频器(FD200k):
用5个SDAC串联,最后接上一个T触发器,并使T为1或T与CLK相接。
实现功能:将频率降低200k,如将50MHz降为250Hz。
10.扫描显示电路(show):
用2-4译码器、3-1选择器、运算器、7447译码器等组合成扫描显示电路。
A模块:
分别输出31.25Hz和5Hz的时钟信号。
EDA大作业
EDA技术课程大作业设计题目:移位相加8位硬件乘法器的设计学生姓名:曲毅学号:0990*******专业班级:通信1101移位相加8位硬件乘法器电路设计1. 设计背景和设计方案1.1设计背景纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现多位乘法器,基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。
这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA构成实验系统后,可以很容易的用ASIC大型集成芯片来完成,性价比高,可操作性强。
1.2设计方案此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法器,它的核心器件是八加法器。
所以关键是设计好八位加法器方案一八位直接宽位加法器,它的速度较快,但十分耗费硬件资源,对于工业化设计是不合理的方案二:由两个四位加法器组合八位加法器,其中四位加法器是四位二进制并行加法器它的原理简单,资源利用率和进位速度方面都比较好。
综合各方面的考虑,决定采用方案二。
由8位加法器构成的以时序逻辑方式设计的8位乘法器乘法通过逐向移位加原理来实现,从被乘数的最低位开始,若为1,则乘数左移与上一次和相加;若为0,左移后以全零相加,直至被乘数的最高位。
本乘法器结构框图如下:图1 基本结构框图本乘法器原理图如图2所示:由五个模块组成。
其中ARICTL是乘法运算控制电路,它的START信号上的上跳沿与高电平有2个功能,即16位寄存器清零和被乘数A[7..0]]向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号,乘法时钟信号从ARICTL的CLK 输入。
当被乘数被加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。
当为1时:一位乘法器ANDARITH打开,8位乘数B[7..0]在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。
西电EDA满分大作业
EDA报告题目 VHDL设计初步学院电子工程学院专业学号导师姓名朱燕目录第一章实验部分(流水灯) (2)1、程序设计: (2)2、程序代码 ............................................................................................. 错误!未定义书签。
3、程序调试 ............................................................................................. 错误!未定义书签。
第二章习题部分.............................................................................................. 错误!未定义书签。
习题一 ....................................................................................................... 错误!未定义书签。
习题二 ....................................................................................................... 错误!未定义书签。
习题三 ....................................................................................................... 错误!未定义书签。
习题四 ....................................................................................................... 错误!未定义书签。
EDA期末大作业设计
EDA 课程设计报告题 目 简易电子琴 组 员 王维婷(3110403128) 郑雅亿(3110403131) 专业班级 电子信息工程112班宁波理工学院一、实验目的1.学习利用数控分频器、键盘实验。
2.理解PS/2键盘的基本原理。
二、实验原理本实验利用键盘的数字按键部分来控制电子琴的C调,DO RA,MI,FA,SO,LA,SI,分别用0,1,2,3,4,5,6,7来进行控制。
们使用了键盘的介入来进行控制。
组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的2个基本要素,首先让我们来了解音符与频率的关系。
乐曲的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。
在2个八度音之间,又可分为12个半音,每2个半音的频率比为。
另外,音符A(简谱中的低音6)的频率为440Hz,音符B到C之间、E到F之间为半音,其余为全音。
由此可以计算出简谱中从低音1至高音1之间每个音符的频率,如图所示。
简谱中音符与频率的关系如图所示,为PS/2键盘的接口引脚图。
下图为PS/2键盘的通信时序图。
主系统由4个模块组成:TOP是顶层设计文件,其内部有三个功能模块:Tone.VHD、Speaker.VHD、enc16_4.VHD.、PS2VHDL.VHD、clkdiv10.VHD、clkdiv50.VHD以及PULSE12.VHD模块TONE是音阶发生器,当4位发声控制输入INDEX中某一位为高电平时,则对应某一音阶的数值将从端口TONE输出,作为获得该音阶的分频预置值;同时由CODE输出对应该音阶简谱的显示数码,如‘5’,并由HIGH输出指示音阶高8度显示。
由例6-28可见,其语句结构只是类似与真值表的纯组合电路描述,其中的音阶分频预置值,如Tone <= 1290是根据产生该音阶频率所对应的分频比获得的。
简易电子琴电路结构模块SPEAKER中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块SPEAKER由端口TONE获得一个2进制数后,将以此值为计数器的预置数,对端口CLK12MHZ输入的频率进行分频,之后由SPKOUT向扬声器输出发声。
EDA大作业格式与范例
EDA⼤作业格式与范例五⾢⼤学信息⼯程学院EDA技术课程名称:EDA技术设计题⽬:基于Verilog HDL语⾔的可整点输出学号系统院系:信息⼯程学院班级:设计者:学号:指导教师:刘战设计时间:2013.06.09五⾢⼤学电⼦系统EDA⽬录第⼀章引⾔ (3)1.1 状态机简介 (3)1.2 状态检测 (3)1.3V erilog HDL硬件描述语⾔简介 (4)1.4V erilog HDL硬件描述语⾔主要功能简介 (4)第⼆章状态检测机设计 (6)2.1 状态检测机设计要求 (6)2.2 状态检测机设计思路 (6)2.3 利⽤Quartus II软件仿真实现 (6)2.3.1 电路变量分析 (6)2.3.2 新建⼯程moore (7)2.3.3 设计输⼊ (7)2.3.4 Verilog语⾔描述 (7)2.3.5 仿真电路图 (8)2.3.6 状态装换图 (9)2.3.7创建波形⽂件 (9)2.3.8Quartus II仿真设置 (10)2.3.9仿真结果 (10)第三章总结 (11)参考⽂献 (12)第⼀章引⾔1.1状态机简介有限状态机是绝⼤部分控制电路的核⼼结构。
有限状态机是⼀种概念性机器,它能采取某种操作来响应⼀个外部事件。
具体采取的操作不仅能取决于接收到的事件,还能取决于各个事件的相对发⽣顺序。
之所以能做到这⼀点,是因为机器能跟踪⼀个内部状态,它会在收到事件后进⾏更新。
为⼀个事件⽽响应的⾏动不仅取决于事件本⾝,还取决于机器的内部状态。
另外,采取的⾏动还会决定并更新机器的状态。
这样⼀来,任何逻辑都可建模成⼀系列事件/状态组合。
状态机可归纳为4个要素,即现态、条件、动作、次态。
这样的归纳,主要是出于对状态机的内在因果关系的考虑。
“现态”和“条件”是因,“动作”和“次态”是果。
详解如下:①现态:是指当前所处的状态。
②条件:⼜称为“事件”,当⼀个条件被满⾜,将会触发⼀个动作,或者执⾏⼀次状态的迁移。
eda大作业
班级021039学号02103121EDA报告题目VHDL 设计初步 ________________ 学院_________________ 电子工程学院___________________ 专业_________________ 信息对抗技术___________________ 学生姓名 ___________________________________________ 导师姓名目录第一章实验部分(秒表) (2)1、...................................................................... 程序设计: 22、....................................................................... 程序代码23、....................................................................... 程序调试4第二章习题部分 (8)习题一 (8)习题二 (8)习题三 (10)习题四 (11)习题五 (12)习题六 (14)习题七 (17)第一章实验部分(秒表)1、程序设计:秒表显示共有6位,两位显示分,两位显示秒,十分秒和百分秒各一位。
设计时使用一个计数器,随着时钟上升沿的到来循环计数,每计数一次,百分秒位加一,通过百分秒位满十进位来控制十分位的计数,十分位满十进位,依次类推,实现秒表计数。
为实现秒位的计时精确,百秒位必须以0.01秒的时间间隔计数,即时钟的频率是100Hz为此,本设计采用3MHz的时钟频率通过分频得到100Hz的时钟频率,再送给控制时钟以得到比较精确的CLK信号。
其中,时钟信号CLK为3MHz 的时钟频率,分频后得到的时钟为CLK2输出引脚CLK2和输入引脚CLK2在外部相连,实现将分频后的时钟送入。
(完整word版)EDA实验报告完整版
数字系统设计基础实验报告实验名称: 1.组合电路设计___2.失序电路设计___3.计数器的设计___4.原理图设计加法器学号: ___ ********__ ____**: ___ **_______班级: __ 计科09-1班_____老师: __ ______中国矿业大学计算机学院2011年10月27日一.实验一: 组合电路的设计二.实验目的三.熟悉QuartusⅡ的VHDL文本设计流程全过程, 学习简单组合电路的设计、仿真和硬件测试。
四.实验任务任务1: 利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤, 得出仿真波形。
最后在试验系统上进行硬件测试, 验证本项设计的功能。
五.任务2: 将此多路选择器看成是一个元件mux21a, 利用元件例化语句描述电路图, 并将此文件放在同一目录中。
六.对于任务中的例子分别进行编译、综合、仿真, 并对其仿真波形作出分析说明。
七.实验过程1.新建一个文件夹, 取名CNT10。
2.输入源程序。
3.文件存盘, 文件名为cnt10, 扩展名为.vhd。
八.创建工程, 按照老师要求对软件进行设置。
九.进行失序仿真, 得到仿真图形。
十.实验程序任务1:entity CNT10 ISport (a,b,s:in bit;y:out bit);end entity CNT10;architecture one of CNT10 isbeginprocess (a,b,s)if s='0' then y<=a; else y<=b;end if;end process;end architecture one;任务2:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUXK ISPORT (s0,s1: in STD_LOGIC;a1,a2,a3: in STD_LOGIC;outy: out STD_LOGIC );END ENTITY MUXK;ARCHITECTURE double OF MUXK ISSIGNAL tmpout,tmp:STD_LOGIC;BEGINu1: PROCESS(s0,a2,a3,tmp)BEGINIF s0='0' then tmp<=a2;else tmp<=a3;END IF ;END PROCESS u1 ;u2: PROCESS(s1,a1,tmp,tmpout)BEGINIF s1='0' then tmpout<=a1;else tmpout<=tmp; END IF ;END PROCESS u2 ;outy<=tmpout;END ARCHITECTURE double;十一.实验结果任务1:任务2:十二.实验体会在课堂上对于“EDA与VHDL”这门课的用处及用法一直一知半解, 课上对于一些编程也是学的很模糊, 因为学习过模拟电路与数字电路, 所以总认为器件仿真要用电脑模拟器件或者直接用实物, 但是通过本次实验对QuartusⅡ的初步接触, 了解了其功能的强大。
EDA技术课程大作业
E D A技术课程大作业-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII安阳工学院电子信息与电气工程学院课程大作业:EDA技术题目:组数:第 11 组班级:(电子信息工程10-1)教师成绩由以下评分标准累计得出1、电路设计和仿真结果正确清晰合理‘ 25%2、设计和仿真结果分析正确合理。
25%3、大作业报告重点突出、阐述清晰。
25%4、小组能很好的组织、合作,过程顺利,按时完成大作业。
15%5、陈述清晰正确、有说服力,能够正确回答问题。
10%总分学生自评分值大作业总成绩总成绩=J*60%+(J+J*(X-25%))*40% J 为教师成绩,X 为学生自评分值数字时钟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。
EDA大作业
摘要该系统利用VHDL语言、PLD设计出租车计费系统,以MAX+PLUSⅡ软件作为开发平台,设计了出租车计费器系统程序并进行了程序仿真。
使其实现计费以及预置和模拟汽车启动、停止、暂停等功能,并动态扫描显示车费数目。
关键词: 出租车计费器;计数器;VHDL语言;MAX+PLUSⅡ;一、实验任务及要求(a)能够实现计费功能费用的计算是按行驶里程收费,设出租车的起步价是6.00元,当里程小于2km里时,按起步价收费;当里程大于2km时每公里按1.5元计费。
等待累计时间超过2.5min,按每分钟1.5元计费。
所以总费用按下式计算:总费用=起步价+(里程-2km)*里程单价+等候时间*等候单价(b)能够实现显示功能显示汽车行驶里程:用四位数字显示,显示方式为“XX”,单价为km。
计程范围为0~99km,计程分辨率为1km。
显示等候时间:用两位数字显示分钟,显示方式为“XX”。
计时范围为0~59min,计时分辨率为1min。
显示总费用:用四位数字显示,显示方式为“XXX.X”,单位为元。
计价范围为999.9元,计价分辨率为0.1元。
二、设计原理根据设计要求,系统的输入信号clk,计价开始信号Start,等待信号Stop,里程脉冲信号fin。
系统得输出信号有:总费用数cha0 ~cha3,行驶距离km0 ~km1,等待时间min0 ~min1 等。
系统有两个脉冲输入信号clk_750k、fin,其中clk_750k将根据设计要求分频成15hz和1hz分别作为公里计费和超时计费的脉冲。
两个控制输入开关start、stop;控制过程为:start作为计费开始开关,当start为高电平时,系统开始根据输入的情况计费。
当有乘客上车并开始行驶时,fin脉冲到来,进行行驶计费,此时的stop需要置为0;如需停车等待,就把stop变为高电平,并去除fin输入脉冲,进行等待计费;当乘客下车且不等待时,直接将start置为0,系统停止工作;价格开始归为起步价6.00元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA技术实践报告十进制加法计数器
姓名:**
学号: ********* 专业:电气自动化
班级: 12级自动化二班
日期: 2014.6.20
目录
第1章前言 (1)
1.1摘要 (1)
第2章设计说明 (2)
2.1设计思路 (2)
2.2模块介绍 (2)
2.3真值表 (3)
第3章原理图 (5)
第4章波形仿真图 (10)
第5章管脚锁定及连线 (11)
第6章总结 (13)
第一章前言
本次课程设计介绍了一种基于数字电子技术的十进制加法器实现了如下功能:
1.用四个数码管显示加数与被加数和结果
2.设置加数和被加数。
当加数和被加数超过9时显示“E”,计算结果显示为“EE”
3.分别用四个拨码开关控制加数与被加数
4.当加数、被加数超过9时,蜂鸣器报警5秒
EDA技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为实验工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化建、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。
利用EDA技术进行电子系统的设计,具有以下几个特点:1.用软件的方式设计硬件;2.用软件方式设计的系统到硬件系统的转换是由有关的开发软件自当完成的;3.设计过程中可用有关软件进行仿真;4.系统可现场编程,在线升级;5.整个系统可集成在一个芯片上,体积小,功能低,可靠性高。
因此,EDA技术是现代电子设计的发展趋势。
1.1摘要
此次设计是十进制加法器,用74238进行加法部分,根据BCD码加法运算规则,当俩数相加的结果小于或等于9时,相加结果与二进制数相加结果一致,当相加结果大于9时,相当于按二进制数相加所得的结果再加6.
当加数或被加数超过九时,数码管显示E,结果显示EE。
蜂鸣器报警5秒钟。
关键字:十进制加法器,数码管显示,蜂鸣器报警
第二章设计说明
2.1 设计思路
分别用4个拨码开关设置被加数和加数,加数与被加数输入后分别用比较器与9进行比较。
当加数、被加数小于等于9时,比较器输出低电平,输入有效,当加数、被加数大于9时,比较器输出高电平,该输入数无效,置为“E”,此时蜂鸣器报警。
使用D触发器与计时器定时5秒钟。
使用全加器进行加数与被加数的和,结果用数码管显示。
相加结果经过进位及译码处理后用两个数码管显示结果。
数码管采用静态显示方式,前两位分别显示被加数、加数,后两位显示相加结果。
2.2模块介绍
1.输入模块:每四个拨码开关控制加数和被加数,一共八个开关。
设置范围0~15。
输入的加数和被加数分别使用7485与9进行比较。
比较后将送到加法模块和数码管中进行运算。
若加数或被加数大于9时,AGBO将输出高电平,通过非门,与门和或门输出1110B,七段数码管显示E。
并且给蜂鸣模块输送高电位,蜂鸣器报警5秒钟,数码管的结果显示EE。
当输入的加数或被加数小于9时,就输出原数。
2.加法模块:把输入的加数与被加数用全加器74283相加,当俩数的相加结果小于9时,相加的结果与二进制相加结果一样;相加的结果大于9时,相当于按二进制数相加所得的结果再加6.因此,首先要把俩个加数被加数做加法运算,运算的结果经过判断决定是否加6。
把输出的结果用7485与9相比较,小于等于9直接输出,大于九是再做加6运算,因此还需要一个加法器74238,完成加6的运算输出的结果作为结果的个位。
把两个加法器的进位相或所以无论哪一位进位结果的十位都会输出1。
3.蜂鸣模块:触发方式为边沿触发的D触发,再加上一个同步十进制加法计数器74160构成5进制计数器。
Q端接741610的ENP、ENT端和蜂鸣器。
当D触发器的CLK端接收到一个上升沿后,Q端由0变为1,蜂鸣器开始报警,74160开始计数(时钟频率为1HZ),计数到5(0101)时,给D触发器和74160清零信号,D触发器被清零,Q端变为0,此时虽然CLK保持1,但是上升沿已经过了,故Q端状态不再改变,仍然保持0,
一直等待下次的上升沿,即完成了蜂鸣器报警5s。
2.3真值表
7485真值表
74283真值表74160真值表
D触发器真值表
第三章原理图3.1总原理图
3.2输入模块原理图
3.3加法原理图
3.4蜂鸣模块原理图
第四章波形及仿真
彷真的分别是3+2,8+1,2+15,15+15 当加数或被加数超过9时,蜂鸣器在上升沿处触发,发出警报。
第五章管教锁定及连线
第六章总结
本次EDA课程设计对于PC机上的操作要求较高,在设计初期PC上的软件操作成了设计的最大难题,从另一方面看也极大地锻炼了我的专业软件使用能力。
从设计本身来说内容不是特别难,但是细节方面却成了前期工作难以快速进行的诟病,多谢老师和同学的指导顺利过渡到仿真线路上来,工作进行至此便顺畅许多。
从本次实践看到了自己在专业软件上的不足,这需要长期不断地锻炼来磨就,平时锻炼过少的弊端从这次实践体现出来。
希望在以后的学习中多多练习,熟能生巧,练就一手过硬的软件技术。