EDA实验报告材料(四选一、四位比较器、加法器、计数器、巴克码发生器)
EDA课程设计报告--四位加法器设计

《EDA》课程设计题目:四位加法器设计学号: 200906024245姓名:梁晓群班级:机自094指导老师:韩晓燕2011年12月28日—2011年12月30日目录摘要----------------------------------3EDA简介---------------------------3概述----------------------------------4 1.1目的与要求-------------------4 1.2实验前预习-------------------41.3设计环境----------------------5四位全加器的设计过程----------52.1 半加器的设计-----------------62.2一位全加器的设计-----------92.3四位全加器的设计----------11收获与心得体会----------------13摘要本文主要介绍了关于EDA技术的基本概念及应用,EDA设计使用的软件Quartus7.2的基本操作及使用方法,以及半加器、1位全加器和四位全加器的设计及仿真过程。
EDA简介EDA的概念EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作.EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。
EDA 四位加法器 实验报告

实验报告课程名称:EDA技术与VHDL实验题目:四位加法器设计班级学号:姓名:成绩:一、实验目的 ..................................................................................... - 1 -二、实验任务 ..................................................................................... - 1 -三、系统总体设计 ............................................................................. - 1 -四、VHDL程序设计......................................................................... - 1 -1. 用原理图输入方式设计半加器 ................................................ - 2 -2. 全加器的设计 ............................................................................ - 4 -3.4位全加器的设计 ....................................................................... - 5 -五、仿真 ............................................................................................... - 5 -六、仿真结果分析 ............................................................................... - 6 -一、实验目的熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个4位全加器的设计把握文本和原理图输入方式设计的详细流程。
EDA仿真实验报告

EDA仿真实验报告EDA仿真实验报告姓名:学号:班级:一.实验目的1.了解EDA技术的发展、应用。
2.学习Multisim的使用。
二.实验内容1.与非门实现四舍五入2.用74LS138和必要的门电路设计一个表决电路3.用74LS85设计四位数值比较器三.实验软件与环境1.EDA技术EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。
2.EDA的应用EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。
主要是了解EDA的基本概念和基本原理、使用EDA的某种工具进行电子课程的实验并从事简单系统的设计,为今后工作打下基础。
3.MultisimMultisim是Interactive Image Technologies公司推出的以Windows 为基础的板级仿真工具,适用于模拟/数字线路板的设计。
本实验使用了NI Multisim 14.0 软件。
四.实验内容与步骤1.与非门实现四舍五入电路(只能用与非门)真值表:逻辑表达式:F=m(5,6,7,8,9)2.用74LS138和必要的门电路设计一个表决电路真值表:F=M'ABC+MA'BC+MAB'C+MABC'+MABC=MAB+MAC+MB C+ABC 电路方面要注意输出为低电平,所以要用与非门。
3.用74LS85设计四位数值比较器电路方面注意74LS85正确使用,控制端要接A=B以便使两个四位数从高位开始比较,如果高位相等再比较次高位,以此类推。
五.实验结果1.与非门实现四舍五入电路(只能用与非门)一共有三个图,分别是输入0(四舍),输入9(五入)和无效输入。
EDA实验报告

一、实验内容使用封装的标准74LS 器件基本电路设计一个四选一数据选择器。
二、实验设计S A B OUT 1 / / 1 0 0 0 C0 0 0 1 C1 0 1 0 C2 011C3三、实验内容按照分析的结果表格,计算出四选一数据选择器的逻辑函数 OUT=]''''['3210ABC C AB BC A C B A S ++++ 按照上述逻辑函数,连接下图逻辑图,即可达到功能。
1、使用文本设计方式完成一个四位二进制比较器2、使用文本设计方式完成一个四位二进制加法器三、四位二进制比较器的设计实验1、四位二进制比较器的功能要求四位二进制比较器的基本输入输出模式如右图其中,输入为两个四位二进制数字a,b,3为高位,0为低位。
要求当a>b时,bt代表的灯亮(值为1),a<b时,st代表的灯亮,a=b时,eq代表的灯亮。
a b bt eq st1 0 1 0 00 0 0 1 00 1 0 0 13、代码设计library ieee;use ieee.std_logic_1164.all; /*程序头文件*/entity Exp_2 is /*定义此项目的输入与输出及其格式*/ port(a:in std_logic_vector(3 downto 0); /*定义了两个包含4个变量的变量组*/ b:in std_logic_vector(3 downto 0);bt,st,eq:out std_logic);end Exp_2;architecture behave of Exp_2 isbeginp1:process(a,b) /*程序正文*/begin /*分别指定三种情况下对输出的不同赋值*/ if (a>b)then bt<='1';eq<='0';st<='0';elsif (a<b)then bt<='0';eq<='0';st<='1';elsif (a=b)then bt<='0';eq<='1';st<='0';end if;end process p1;end behave;5、功能仿真首先我们设计需要使用的仿真波形,下图即为我设计的输入波形。
EDA实验报告——计数器

EDA实验报告——计数器一、实验目的本实验主要是通过搭建计数器,了解计数器的基本原理和使用方法,掌握数字电路的设计方法及仿真分析方法。
二、实验原理计数器是数字电路的重要组成部分,在数字电路的多个应用中都有着广泛的应用。
计数器可以实现多种数字处理功能,如二进制计数、定量计数、计时、频率分频等。
三、实验材料1. Protues软件2. 74LS90集成电路3. 7段数码管4. 4位拨动开关5. 4个LED灯6. 电路板、杜邦线等。
四、实验内容1. 给定 74LS90 计数器数据手册,分析本实验使用到的 74LS90 芯片的接口及特性。
2. 根据实验需求,用 Protues 软件搭建计数器电路图。
3. 在计数器电路图中连通 74LS90 芯片的译码器输出端口,设置与四个拨动开关相连的输入端口以及 LED 显示器输出端口,实现计数器的计数。
4. 在计数器的输出端口增加 7 段数码管,通过数码管显示计数值。
5. 根据实验需求搭建模电流源电路,对实验电路进行仿真分析,并对仿真结果进行评估。
五、实验步骤2. 从库中拖动 74LS90 芯片、7 段数码管、拨动开关、LED 灯等元件到设计图中。
4. 在 74LS90 芯片工作模式的选择端口接上拨动开关,选择计数器的计数方式。
5. 配置模电流源电路,并设置仿真参数。
6. 进行仿真并记录仿真结果。
七、实验结果本实验搭建的计数器能够正确地进行计数,并且将计数结果通过数码管和 LED 灯显示出来。
在进行仿真分析时,根据仿真数据评估实验电路的合理性。
本实验通过搭建计数器,了解计数器的基本原理和使用方法,掌握数字电路的设计方法及仿真分析方法。
实验中主要学习了数字计数器的结构、性能和工作原理,在搭建计数器电路时主要包括了 74LS90 芯片的接口和设置以及输入输出端口的设置。
通过本实验,我进一步了解了计数器的基本知识和原理,也学习了如何使用 Protues 软件进行电路的搭建和仿真。
EDA实验报告

实验一:QUARTUS II 软件使用及组合电路设计仿真实验目得:学习QUARTUS II 软件得使用,掌握软件工程得建立,VHDL源文件得设计与波形仿真等基本内容。
实验内容:1.四选一多路选择器得设计基本功能及原理:选择器常用于信号得切换,四选一选择器常用于信号得切换,四选一选择器可以用于4路信号得切换。
四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)与s(1)及一个信号输出端y。
当s输入不同得选择信号时,就可以使a,b,c,d中某一个相应得输入信号与输出y端接通。
逻辑符号如下:程序设计:软件编译:在编辑器中输入并保存了以上四选一选择器得VHDL源程序后就可以对它进行编译了,编译得最终目得就是为了生成可以进行仿真、定时分析及下载到可编程器件得相关文件。
仿真分析:仿真结果如下图所示分析:由仿真图可以得到以下结论:当s=0(00)时y=a;当s=1(01)时y=b;当 s=2(10)时y=c;当s=3(11)时y=d。
符合我们最开始设想得功能设计,这说明源程序正确。
2.七段译码器程序设计基本功能及原理:七段译码器就是用来显示数字得,7段数码就是纯组合电路,通常得小规模专用IC,如74或4000系列得器件只能作十进制BCD码译码,然而数字系统中得数据处理与运算都就是2进制得,所以输出表达都就是16进制得,为了满足16进制数得译码显示,最方便得方法就就是利用VHDL译码程序在FPGA或CPLD中实现。
本项实验很容易实现这一目得。
输出信号得7位分别接到数码管得7个段,本实验中用得数码管为共阳极得,接有低电平得段发亮。
数码管得图形如下七段译码器得逻辑符号:程序设计:软件编译:在编辑器中输入并保存了以上七段译码器得VHDL源程序后就可以对它进行编译了,编译得最终目得就是为了生成可以进行仿真、定时分析及下载到可编程器件得相关文件。
仿真分析:仿真结果如下图所示:分析:由仿真得结果可以得到以下结论:当a=0(0000)时led7=1000000 此时数码管显示0;当a=1(0001)时led7=1111001 此时数码管显示1;当a=2(0010)时led7=0100100此时数码管显示2;当a=3(0011)时led7=0110000此时数码管显示3;当a=4(0100)时led7=0011001此时数码管显示4; 当a=5(0101)时led7=0010010此时数码管显示5; 当a=6(0110)时led7=0000010此时数码管显示6;当a=7(0111)时led7=1111000 此时数码管显示7; 当a=8(1000)时led7=0000000 此时数码管显示8; 当a=9(1001)时led7=0010000 此时数码管显示9;当a=10(1010)时led7=0001000 此时数码管显示A;当a=11(1011)时led7=0000011 此时数码管显示B;当a=12(1100)时led7=1000110 此时数码管显示C;当a=13(1101)时led7=0100001此时数码管显示D;当a=14(1110)时led7=0000110此时数码管显示E;当a=15(1111)时led7=0001110 此时数码管显示F;这完全符合我们最开始得功能设计,所以可以说明源VHDL程序就是正确得。
eda四位全加器实验报告

eda四位全加器实验报告EDA实验报告(四位全加器的实现)实验一四位全加器的实现一、实验目的1、掌握Quartus9.0图形编辑输入法2、掌握Quartus环境下文件的编译、仿真及下载方法3、了解VHDL语言的设计流程4、掌握quartus环境下VHDL的使用方法二、实验内容1、用图形/原理图法实现4位全加器。
2、用VHDL语言实现4位全加器,必须使用元件例化。
3、仿真并通过。
3、下载到实验板,并验收三、实验步骤1、图形编辑发设计4位加法器(1)新建图形文件,设计一位全加器,逻辑电路图如下图(图1-1)所示。
图1-1(2)将设计好的一位全加器进行例化,操作为file?Create/Update?Create symbol files for currentfile,完成此操作后会在元器件符号表里找到刚刚做好的一位全加器。
(3)再新建一个图形文件,用四个已经做好的一位全加器级联成一个四位全加器,其逻辑原理图如图1-2所示。
编辑好后保存文件,在文件列表里找到该文件,右键?Set as Top-level Entity,将其设置为顶层文件,点击编译按钮就行编译。
1图1-2(4)新建波形文件,赋予每个输入端口某种输入信号,保存波形文件,进行功能仿真,观察输出端波形与输入信号关系是否正确。
若不正确,查找问题所在并解决问题;若正确,则进行管脚分配,分配完毕后再编译一次使分配生效,连接DE2开发板到电脑,将文件下载到开发板进行验证。
2、用VHDL语言设计4位加法器(1)新建一个VHDL源文件,文件名为adder1.vhd,使用VHDL 实现一位全加器,其VHDL代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY adde1r ISPORT(A,B,Ci:IN STD_LOGIC;S,Co:OUT STD_LOGIC);END adder1;ARCHITECTURE qadder OF adder1 ISBEGINPROCESS(A,B,Ci)VARIABLE n1,n2,n3:STD_LOGIC;BEGINn1:=A AND B;n2:=A XOR B;2n3:=Ci AND n2;Co=n3 OR n1;S=n2 XOR Ci;END PROCESS;END qadder;(2)再新建一个VHDL源文件,命名为adder4.vhd,在这里将adder一位全加器例化并使用它,做成四位全加器,代码如下:library ieee;use ieee.std_logic_1164.all;entity adder4 isport(A,B:in std_logic_vector(3 downto 0); S:out std_logic_vector(3 downto 0);Co:out std_logic;Ci:in std_logic);end adder4;architecture adder_4 of adder4 iscomponent adderport(A:in std_logic;B:in std_logic;Ci:in std_logic;Co:out std_logic;S:out std_logic);end component;signal c1,c2,c3:std_logic;beginu1:adder port map(A(0),B(0),Ci,c1,S(0)); u2:adder port map(A(1),B(1),c1,c2,S(1)); u3:adder port map(A(2),B(2),c2,c3,S(2)); u4:adder port map(A(3),B(3),c3,Co,S(3)); end adder_4;(3)保存文件后将adder4设置为顶层文件并编译,编译通过后按照与图形编辑发一样的仿真、管脚分配方式进行操作,最后下载到开发板验证四、实验现象两种方式实现的四位加法器下载到DE2开发板后都可正常工作,其中使用SW0作为低位的进位,SW4~1作为数据B,SW8~5作为数据A,LDG3~0作为输出的结果,LEDG4作为输出的进位。
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)

EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)EDA实验报告实验14选1数据选择器的设计一、实验目的1.学习EDA软件的基本操作。
2.学习使用原理图进行设计输入。
3.初步掌握器件设计输入、编译、仿真和编程的过程。
4.学习实验开发系统的使用方法。
二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台三、实验说明本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。
实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。
本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。
实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。
例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。
学会管脚锁定以及编程下载的方法等。
四、实验要求1.完成4选1数据选择器的原理图输入并进行编译;2.对设计的电路进行仿真验证;3.编程下载并在实验开发系统上验证设计结果。
五、实验结果4选1数据选择器的原理图:仿真波形图:管脚分配:实验2 四位比较器一、实验目的1.设计四位二进制码比较器,并在实验开发系统上验证。
2.学习层次化设计方法。
二、实验仪器与器材1.EDA 开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其它器件与材料 若干 三、实验说明本实验实现两个4位二进制码的比较器,输入为两个4位二进制码0123A A A A 和0123B B B B ,输出为M(A=B ),G (A>B )和L (A<B )(如图所示)。
用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。
EDA实验报告4位全加器实验报告

EDA实验报告书姓名 XXX 学号 XXXXXXX 实验时间课题名称全加器实验目的1.掌握MAX+plusⅡ的使用方法。
2.掌握原理图输入的设计方法。
3.学习利用一位全加器设计多位全加器的方法。
设计要求1.利用MAX+plusⅡ软件进行原理图输入设计一位全加器。
2.进行编译、仿真、测试。
3.在一位全加器的基础上设计四位全加器,进行编译、仿真、测试、观察实验结果。
设计思路计算机中的加法器一般就是全加器,它实现多位带进位加法。
图中的“进位入”Ci-1指的是低位的进位输入,“进位出”指的是本位的进位输出。
一位全加器的真值表见下表:111111------⋅+⋅+⋅=⋅⋅+⋅⋅++⋅=iiiiiiiiiiiiiii iiiiiCBCABACCBACBAC B AC BAS输入输出Ci-1Bi Ai Si Ci0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1设计原理图及源程序仿真波形图实验结果问题讨论1.试比较利用卡诺图直接设计四位全加器和利用一位全加器设计四位全加器这两种方法的优缺点。
答:卡诺图直接设计四位全加器的优点是:没有进行产生逻辑,运算速度快。
一位全加器设计四位全加器是串行进位方式是将全加器级联构成多位加法器。
通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
2.本实验中设计的4位全加器有何缺陷?答:这种全加器的最大缺点是运算速度慢。
在最不利的的情况下,做一次加法运算需要经过四个全加器的传输延迟时间才能得到稳定可靠的运算结果教师评分教师签名日期操作成绩报告成绩。
EDA技术4选1多路选择器实验报告

EDA技术4选1多路选择器实验报告实验报告:EDA技术4选1多路选择器实验一、实验目的本实验旨在通过EDA(Electronic Design Automation)技术,利用4选1多路选择器实现数据选择功能,加深对数字电路设计基础知识的理解,掌握EDA技术的实际应用。
二、实验原理4选1多路选择器是一种数字逻辑电路,它有4个数据输入端,1个数据输出端和2个选择端。
通过控制选择端的状态,可以选择其中一个数据输入端的数据输出到输出端。
三、实验步骤1.实验准备在实验前,需要准备以下设备和软件:•数字逻辑实验箱•EDA软件(如Quartus II)•连接线若干•万用表•实验电路板•4选1多路选择器芯片(如74LS153)•发光二极管及限流电阻(用于显示输出结果)2.实验操作(1)将4选1多路选择器芯片连接到实验电路板上,并按照要求连接发光二极管及限流电阻。
(2)使用EDA软件创建新项目,并选择合适的FPGA芯片型号。
(3)在新项目中添加4选1多路选择器模块,并将其与FPGA芯片连接。
(4)根据实验要求,编写控制逻辑的VHDL或Verilog代码。
(5)将控制逻辑代码编译并下载到FPGA芯片中。
(6)使用万用表检查连接是否正确,发光二极管是否亮起。
(7)通过改变选择端的输入状态,观察发光二极管亮灭情况,验证4选1多路选择器的数据选择功能。
四、实验结果与分析通过本次实验,我们成功地利用4选1多路选择器实现了数据选择功能。
在EDA软件中,我们设计了合适的控制逻辑,将选择的输入数据传送到输出端,并通过发光二极管显示输出结果。
当改变选择端的输入状态时,观察到发光二极管的亮灭情况随之改变,证明了4选1多路选择器的数据选择功能。
通过本次实验,我们深入了解了数字电路设计的基本知识,掌握了EDA技术在实践中的应用。
通过使用EDA软件进行设计、编译和下载程序,我们能够更加便捷地进行数字电路实验。
此外,通过实际操作,我们学会了使用数字逻辑实验箱、万用表等实验设备,提高了实践操作能力。
eda实验报告(全加器,四选一数据选择器,交通灯)

浙师大数理与信息工程学院学生实验报告实验一简单组合逻辑电路设计1、实验目的熟悉软件使用,了解CPLD设计的过程。
用画逻辑图和直接使用VHDL语言的两种方法进行逻辑设计。
2、实验内容用开关K7,K8作为输入设置,从输出指示LED观察OUT21,22,23,24等的变化。
3、实验条件EDA实验箱、QUARTUS2软件4、实验设计原理图VHDL源程序library ieee;use ieee.std_logic_1164.all;entity shier isPort( k7,k8:in std_logic;out20,out21,out22,out23,out24:out std_logic); end shier;architecture sr of shier isbeginout20<=k7;out21<=not k7;out22<=k7 and k8;out23<=k7 or k8;out24<=k7 xor k8;end sr;波形仿真实验二三八译码器电路设计1、实验目的熟悉软件使用,了解CPLD设计的过程。
用画逻辑图和直接使用VHDL语言的两种方法进行逻辑设计。
2、实验内容用开关K1,K2,K3,K4作为输入设置,组成一个高输出有效的三八译码器,从输出指示LED观察OUT1到OUT8随K1,K1,K3置值的改变而引起相应的变化。
3、实验条件EDA实验箱、QUARTUS2软件4、实验设计原理图VHDL源程序library ieee;use ieee.std_logic_1164.all;entity shisan isport( a,b,c:in std_logic;y:out std_logic_vector(7 downto 0));end shisan;architecture one of shisan isbeginprocess(a,b,c)variable d:std_logic_vector(2 downto 0);begind:=(c&b&a);if d<="000" theny<="00000001";elsif d<="001" theny<="00000010";elsif d<="010" theny<="00000100";elsif d<= "011"theny<="00001000";elsif d<= "100"theny<="00010000";elsif d<="101"theny<="00100000";elsif d<="110" theny<="01000000";elsif d<="111" theny<="10000000";else null;end if;end process;end one;波形仿真实验四四选一数据选择器电路设计1、实验目的熟悉和了解VHDL语言涉及数字电路的流程,掌握完整的EDA设计方法。
EDA技术4选1多路选择器实验报告

EDA技术4选1多路选择器实验报告实验报告:EDA技术4选1多路选择器1.引言多路选择器是一种常见的组合电路,用于从多个输入信号中选择出一个输出信号。
在数字电路设计中,采用EDA(Electronic Design Automation)技术可以方便地进行多路选择器的设计、模拟和验证。
本实验旨在使用EDA技术设计、模拟和验证一个4选1多路选择器。
2.设计本实验采用Verilog HDL语言进行设计。
首先,我们定义一个4位的输入端口sel,用于选择4个输入信号in0、in1、in2和in3中的一个。
然后,我们定义一个输出端口out,用于输出被选择的信号。
接下来是设计的核心部分,根据4位选择信号sel的不同取值,选择相应的输入信号作为输出信号。
我们使用一个case语句来实现多路选择器的选择功能。
3.仿真为了验证设计的正确性,我们使用EDA技术对多路选择器进行了仿真。
在仿真中,我们可以输入不同的选择信号和输入信号组合,观察输出结果是否符合预期。
通过仿真,我们可以验证多路选择器在不同输入和选择信号组合下的正确性和稳定性。
如果输出结果与预期一致,那么我们可以得出结论:设计的多路选择器是正确的。
4.验证验证是设计过程中非常重要的一步,通过验证可以判断设计是否达到了预期的功能和性能要求。
我们使用EDA技术对多路选择器进行了验证。
在验证过程中,我们更加注重多路选择器的性能指标,如延迟和功耗等。
我们可以通过模拟分析和优化来改进多路选择器的性能。
5.总结本实验通过使用EDA技术设计、模拟和验证了一个4选1多路选择器。
通过实验我们学习了EDA技术在数字电路设计中的作用和应用。
同时,我们了解了多路选择器的基本原理和设计方法,掌握了Verilog HDL语言的设计和仿真技巧。
通过本实验,我们发现EDA技术能够极大地提高数字电路设计的效率和准确性。
通过合理应用EDA技术,我们可以设计出更加可靠、高效的数字电路,并且可以方便地对其进行仿真和验证。
EDA技术4选1多路选择器实验报告

0
0
A
0
1
B
1
0
C
1
1
D
(三)实验仪器及器材
PC机一台;Quartus II软件一套;KHF-5型实验开发系统一套
(四)实验方法及步骤
实验方法及步骤与实验一各个步骤一致,按照实验一进行就行。
1,打开Quartus II开发环境;
2,新建项目;
注意:文件夹名不能用中文,也最好不要用数字;不要将文件夹设在计算机已有的安装目录中,更不要将工程文件直接放在安装目录中。
3、完成软件仿真,管脚配置后下载进行硬件测试。3、完成简单与非门电路的VHDL设计或原理图设计,仿真后下载到实验箱上进行硬件测试。
(二)实验原理:
4选1数据选择器有两个地址输入端:S1、S0;4个数据输入端:D、C、B、A;1个输出端Y。其真值表如表1示。
表14选1数据选择器真值表
地址输入
输出
S0
S1
(五)实验数据及分析处理
源程序
4选1数据选择器--用IF-THEN语句
波形仿真结果
RTL电路图
(六)实验结果体会
实验前熟悉数据选择器的工作原理,实验过程中结合理论进行分析;并且初步掌握了QuartusⅡ环境下4选1数据选择器的VHDL设计或原理图设计。波形仿真时仍遇到问题,通过老师指导解决了那个问题,其他方面基本没问题,达到了实验目的。
实验报告
学院:电子信息工程学院专业:dianzi
电子信息工程技术2014年12月20日星期六
姓名
康杰
学号
2013030341079
班级
2013电技二班
指导师
余华
课程名称
EDA技术与VHDL
(完整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)实验报告(4位二进制加法器)

电子设计(EDA)实验报告(4位二进制加法器)一、实验名称4位二进制加法器二、实验目的掌握输入编辑原理图文件的方法;掌握编译原理图文件的方法;掌握仿真原理图文件的方法;理解Quartus 2 器件编程的方法三、实验环境计算机与Quartus 2 工具软件四、实验原理图、源程序entity halfadd isport(a1,b1:in bit;s1,c1:out bit);end ;architecture a of halfadd isbeginprocess(a1,b1)begins1<=a1 xor b1 after 10ns;c1<=a1 and b1 after 10ns;end process;end a;entity orgate isport(a,b:in bit;o:out bit);end orgate;architecture a of orgate isbegino<=a or b;end a;entity fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end ;architecture a of fulladd issignal temp_s,temp_c1,temp_c2:bit; component halfaddport(a1,b1:in bit;s1,c1:out bit);end component;component orgate port(a,b:in bit;o:out bit);end component;beginu0:halfadd port map(i1,i2,temp_s,temp_c1);u1:halfadd port map(temp_s,c_in,fs,temp_c2); u2:orgate port map(temp_c1,temp_c2,c_out); end a;entity add4 isport(a,b:in bit_vector(3 downto 0);cin:in bit;fs:out bit_vector(3 downto 0);cout:out bit);end add4;architecture a of add4 issignal temp_co0,temp_co1,temp_co2:bit; component fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end component;beginu0:fulladd port map(a(0),b(0),cin,fs(0),temp_co0);u1:fulladd port map(a(1),b(1),temp_co0,fs(1),temp_co1);u2:fulladd port map(a(2),b(2),temp_co1,fs(2),temp_co2);u3:fulladd port map(a(3),b(3),temp_co2,fs(3),cout);end a;五、实验波形图及分析延迟12.08ns。
EDA实验报告

EDA实验报告一、实验目的本次 EDA 实验的主要目的是熟悉电子设计自动化(EDA)软件的使用,掌握数字电路的设计、仿真和实现流程,提高对数字逻辑电路的理解和设计能力。
二、实验设备与环境1、计算机一台2、 EDA 软件(如 Quartus II 等)三、实验原理1、数字逻辑基础数字电路中的基本逻辑门包括与门、或门、非门、与非门、或非门等。
通过这些基本逻辑门的组合,可以实现各种复杂的数字逻辑功能。
2、组合逻辑电路组合逻辑电路的输出仅取决于当前的输入,不存在存储单元。
常见的组合逻辑电路有加法器、编码器、译码器等。
3、时序逻辑电路时序逻辑电路的输出不仅取决于当前的输入,还与电路的过去状态有关。
常见的时序逻辑电路有计数器、寄存器等。
四、实验内容1、设计一个简单的加法器使用基本逻辑门设计一个两位加法器,输入为两个两位的二进制数A 和 B,输出为它们的和 S 以及进位 C。
2、设计一个 4 位计数器实现一个 4 位的计数器,能够在时钟信号的上升沿进行计数,计数范围为 0 到 15。
3、设计一个数码管显示译码器将输入的 4 位二进制数转换为数码管的 7 段显示编码,实现数字 0 到 9 的显示。
五、实验步骤1、加法器设计(1)打开 EDA 软件,创建一个新的项目。
(2)使用原理图输入方式,绘制出加法器的逻辑电路图,包括两个半加器和一个或门。
(3)对设计进行编译,检查是否存在语法错误。
(4)创建仿真文件,设置输入信号的激励,进行功能仿真,观察输出结果是否符合预期。
2、计数器设计(1)在项目中新建一个模块,使用 Verilog HDL 语言描述计数器的功能。
(2)编写测试代码,对计数器进行仿真验证。
(3)将计数器下载到硬件开发板上,通过观察实际的输出结果验证其功能。
3、数码管显示译码器设计(1)同样使用原理图输入方式,设计数码管显示译码器的逻辑电路。
(2)进行编译和仿真,确保译码器的功能正确。
(3)将译码器与计数器连接起来,实现数码管的动态显示。
eda实验报告(四位全加器的实现)

eda实验报告(四位全加器的实现)一、概述本实验是基于EDA软件对四位全加器电路进行实现的过程。
在EDA软件中,通过电路图的设计和仿真,可以有效地判断电路的正确性,从而进一步改进设计方案。
二、实验过程本实验的目的是实现四位全加器的电路。
在四位全加器的电路中,需要实现三个输入端口A、B和CIN,以及两个输出端口SUM和COUT。
其中,SUM输出端口表示输入端口A和B相加的结果,COUT输出端口则表示两个输入端口相加后的进位。
首先,在EDA软件中,使用电路图工具设计了四位全加器的电路。
在电路图中,输入端口和输出端口均使用标准连接器进行连接。
在电路图中,使用四个完整加法器电路连接起来,从而实现四位全加器电路的功能。
接着,对设计出的电路进行了仿真。
仿真的过程中,需要给输入端口设置相应的电信号,以模拟实际应用中的电路电信号。
通过观察仿真结果,可以判断输入端口和输出端口的功能是否正确,从而判断电路图的设计是否正确。
最后,将完成的电路图经过PCB工具进行绘制。
绘制完成后,将其导入到模拟工具中,进行实际电路的模拟测试。
在测试过程中,需要将输入端口和输出端口分别连接到接口测试架,并按照正常的电路连接方式进行测试。
通过测试结果,可以判断电路图中所设计的电路是否正确。
同时,测试结果还能验证电路的可靠性和稳定性,从而进行后续改进。
三、实验结果根据以上实验过程,在EDA软件中,成功设计了四位全加器电路,并进行了仿真和实际测试。
在测试结果中,电路功能正常,而输出端口的结果也与预期结果一致。
经过多次测试,电路的稳定性和可靠性也得到了验证。
四、结论通过以上实验,得出如下结论:1. EDA软件在电路设计和仿真方面具有很大的优势,能够极大地提高电路设计的效率和可靠性。
2. 在设计电路时,需要充分考虑各个输入端口之间的电路连接方式,以确保电路的准确性和稳定性。
3. 在完成电路设计之后,需要进行仿真和测试,以验证电路的正常功能和性能表现,从而进一步改进和优化电路设计方案。
EDA实验报告含结果图

EDA电子课程实验报告专业:班级:姓名:学号:实验一四人表决器一实验目的1、熟悉Quartus II软件的使用。
2、熟悉EDA-IV实验箱。
3、熟悉EDA开发的基本流程。
二硬件需求1、RC-EDA-IV型实验箱一台;2、RC-EDA-IV型实验箱配套USB-Blaster下载器一个;3、PC机一台。
三实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
四人表决器顾名思义就是由四个人来投票,当同意的票数大于或者等于3人时,则认为同意;反之,当否决的票数大于或者等于2人时,则认为不同意。
实验中用4个拨挡开关来表示4个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
四实验内容VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--------------------------------------------------------------------entity EXP3 isport(k1,K2,K3,K4 : in std_logic;ledag : out std_logic_vector(3downto 0);m_Result : out std_logic);end EXP3;--------------------------------------------------------------------architecture behave of EXP3 issignal K_Num : std_logic_vector(2 downto 0); signal K1_Num,K2_Num: std_logic_vector(2 downto 0); signal K3_Num,K4_Num: std_logic_vector(2 downto 0);beginprocess(K1,K2,K3,K4)beginK1_Num<='0'&'0'&K1;K2_Num<='0'&'0'&K2;K3_Num<='0'&'0'&K3;K4_Num<='0'&'0'&K4;end process;process(K1_Num,K2_Num,K3_Num,K4_Num,)beginK_Num<=K1_Num+K2_Num+K3_Num+K4_Num;end process;process(K_Num) beginif(K_Num>2) thenm_Result<='1';elsem_Result<='0';end if;end process;end behave;实验电路实验二格雷码转换一实验目的1、了解格雷码变换的原理。
EDA技术实验报告

EDA技术实验报告实验一利用原理图输入法设计4位全加器一、实验目的:掌握利用原理图输入法设计简单组合电路的方法,掌握MAX+plusII 的层次化设计方法。
通过一个4位全加器的设计,熟悉用EDA 软件进行电路设计的详细流程。
二、实验原理:一个4位全加器可以由4个一位全加器构成,全加器的进位以串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的低位进位输入信号cin 相接。
1位全加器f-adder 由2个半加器h-adder 和一个或门按照下列电路来实现。
半加器h-adder 由与门、同或门和非门构成。
四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界面,掌握利用原理图进行电路模块设计的方法。
QuartusII 设计流程见教材第五章:QuartusII 应用向导。
2.设计1位全加器原理图(1)生成一个新的图形文件(file->new->graphic editor )(2)按照给定的原理图输入逻辑门(symbol ->enter symbol) COCO 1S 2S 3S 4(4)为管脚和节点命名:在管脚上的PIN_NAME处双击鼠标左键,然后输入名字;选中需命名的线,然后输入名字。
(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建一个设计的符号,该符号可被高层设计调用。
3.利用层次化原理图方法设计4位全加器(1)生成新的空白原理图,作为4位全加器设计输入(2)利用已经生成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形文件(file->new->Other Files->Vector Waveform File),保存后进行仿真(Processing ->Start Simulation),对4位全加器进行时序仿真。
eda实验报告计数器

eda实验报告计数器EDA实验报告-计数器引言:计数器是数字电路中常用的基本模块之一,它在各个领域都有着广泛的应用。
本实验旨在通过EDA(电子设计自动化)软件进行计数器的设计与仿真,探索计数器的原理和功能。
一、计数器的基本原理计数器是一种能够按照规定的顺序改变其输出状态的电子电路。
它通过内部的触发器和逻辑门实现数字信号的计数功能。
常见的计数器有二进制计数器、十进制计数器等。
二、实验设计与仿真1. 实验目标本次实验的目标是设计一个4位二进制计数器,并通过EDA软件进行仿真验证。
计数器的功能是在每个时钟脉冲到来时,输出的二进制数加1。
2. 设计思路计数器的设计需要考虑以下几个方面:- 选择适当的触发器:本实验选择了D触发器作为计数器的基本单元,因为D触发器具有简单、易于控制的特点。
- 确定计数器的位数:本实验设计了一个4位计数器,即可以表示0~15的二进制数。
- 连接逻辑门:通过逻辑门将各个触发器连接起来,实现计数器的功能。
3. 电路设计根据设计思路,我们使用EDA软件进行电路设计。
首先,将4个D触发器连接起来,形成4位计数器。
然后,根据计数器的功能要求,将时钟信号连接到每个触发器的时钟输入端。
最后,将各个触发器的输出通过逻辑门进行连接,得到计数器的输出。
4. 仿真验证完成电路设计后,我们使用EDA软件进行仿真验证。
通过输入不同的时钟信号,观察计数器的输出是否符合预期。
在仿真过程中,我们可以调整时钟信号的频率,观察计数器的计数速度。
三、实验结果与分析通过EDA软件的仿真,我们得到了计数器的输出结果。
在时钟信号的作用下,计数器按照预期进行了计数,并输出了相应的二进制数。
通过观察输出结果,我们可以得出以下几点结论:- 计数器的输出与时钟信号的频率有关,频率越高,计数速度越快。
- 计数器的输出按照二进制的顺序进行计数,当达到最大值时,会从0重新开始计数。
四、实验总结本次实验通过EDA软件进行了计数器的设计与仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA实验报告实验14选1数据选择器的设计一、实验目的1.学习EDA软件的基本操作。
2.学习使用原理图进行设计输入。
3.初步掌握器件设计输入、编译、仿真和编程的过程。
4.学习实验开发系统的使用方法。
二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台三、实验说明本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。
实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。
本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。
实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。
例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。
学会管脚锁定以及编程下载的方法等。
四、实验要求1.完成4选1数据选择器的原理图输入并进行编译;2.对设计的电路进行仿真验证;3.编程下载并在实验开发系统上验证设计结果。
五、实验结果4选1数据选择器的原理图:仿真波形图:管脚分配:实验2 四位比较器一、实验目的1.设计四位二进制码比较器,并在实验开发系统上验证。
2.学习层次化设计方法。
二、实验仪器与器材1.EDA 开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其它器件与材料 若干 三、实验说明本实验实现两个4位二进制码的比较器,输入为两个4位二进制码0123A A A A 和0123B B B B ,输出为M (A=B ),G (A>B )和L (A<B )(如图所示)。
用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。
四、实验要求1.用硬件描述语言编写四位二进制码 比较器的源文件; 2.对设计进行仿真验证; 3.编程下载并在实验开发系统上进行 硬件验证。
四位比较器功能框图 五、实验结果四位比较器VHDL 源文件:library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity comp4 is port (A:in std_logic_vector(3 downto 0); B:in std_logic_vector(3 downto 0); M,G ,L:out std_logic); end comp4;architecture behave of comp4 is begin p1: process(A,B) beginCOMP43A 2A 1A 0A 3B 2B 1B 0B G M Lif (A>B) then G<='1';M<='0';L<='0';elsif (A<B) then G<='0';M<='0';L<='1';elsif (A=B) then G<='0';M<='1';L<='0';else G<='1';M<='1';L<='1';end if;end process p1;end behave;仿真波形图:管脚分配:试验3 并行加法器设计一、试验目的1.设计一个4位加法器。
2.体会用VHDL 进行逻辑描述的优点。
3,熟悉层次化设计方法。
二、试验仪器与器材1.EDA 开发软件 一套2.微机 一台3.试验开发系统 一台4.打印机 一台5.其他器材和材料 若干 三、试验说明本试验实现一个4位二进制数加法器,其功能框图如图所示。
试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。
四、实验要求1.用硬件描述语言编写4位二进制数全加器的源文件; 2.对设计文件进行编译; 3.仿真设计文件;4.编程下载并进行试验验证。
五、试验结果4位二进制全加器的源文件: library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity add4 is port (a:in std_logic_vector(3 downto 0);adder4a2 a1 a0 b3 b2 b1 b0 cis3 s2 s1 s0co全加器功能框图a3b:in std_logic_vector(3 downto 0);ci:in std_logic;s:out std_logic_vector(3 downto 0);co:out std_logic);end add4;architecture behave of add4 issignal aa,bb,sum: std_logic_vector(4 downto 0); beginaa<='0'& a;bb<='0'& b;sum<=aa+bb+ci;s<=sum(3 downto 0);co<=sum(4);end behave;仿真波形图:管脚分配:实验4 计数器设计一、实验目的计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。
二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台5.其他器材与材料若干三、实验说明计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。
下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。
四、实验要求1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。
2.编制仿真测试文件,并进行功能仿真。
3.下载并验证计数器功能。
4.为上述设计建立元件符号。
5.在上述基础上分别设计按8421BCD码和二进制计数的100进制同步计数器。
五、实验结果十进制计数器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 isport(reset,clk,en: in bit;co : out bit;q : out std_logic_vector(0 to 3));end entity counter10;architecture ar_counter10 of counter10 issignal cq: std_logic_vector(0 to 3);beginp1: process (clk,en,reset)variable cnt: integer range 0 to 10 :=0 ;beginif (reset='0') thenif (clk'event and clk='1') thenif ( en='1' ) thencnt:=cnt+1;cq <=cq+1;if (cnt=10) thenco<='1';cnt:=0;cq<="0000";elseco<='0';end if;end if;end if;elsecnt:=0;co<='0';cq<="0000";end if;q<=cq;end process p1;end architecture ar_counter10;仿真波形图:管脚分配:4_7译码器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity BCD isport (a:in std_logic_vector(3 downto 0);b:out std_logic_vector(6 downto 0)); end BCD;architecture rt of BCD issignal indata:std_logic_vector(3 downto 0); beginindata<=a;process(indata)begincase indata iswhen "0000"=> b <="1000000";when "0001"=> b <="1111001";when "0010"=> b <="0100100";when "0011"=> b <="0110000";when "0100"=> b <="0011001";when "0101"=> b <="0010010";when "0110"=> b <="0000010";when "0111"=> b <="1111000";when "1000"=> b <="0000000";when "1001"=> b <="0010000";when others=> b <="1111111";end case;end process;end rt;BCD引脚分配BCD仿真波形分频器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpinqi isport(clk : in bit;oclk : out bit);end entity fenpinqi;architecture ar_fpq of fenpinqi issignal inclk: bit;signal number: integer range 0 to 30000000 :=0; beginp0: process (clk)beginif (clk'event and clk='1') thenif (number=24999999) thennumber<=0;inclk<=not inclk;elsenumber<=number+1;inclk<=inclk;end if;end if;oclk<=inclk;end process p0;end architecture ar_fpq;10进制计数器原理图100进制计数器原理图:仿真波形图:管脚分配:100进制计数器的另一种做法:100进制计数器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter100 isport(reset,clk,en: in bit;co : buffer bit;coo : out bit;qb : out std_logic_vector(0 to 3);qa : out std_logic_vector(0 to 3));end entity counter100;architecture ar_counter of counter100 is signal bq: std_logic_vector(0 to 3);signal cq: std_logic_vector(0 to 3);beginp1: process (clk,en,reset)variable cnt: integer range 0 to 10 :=0 ; beginif (reset='0') thenif (clk'event and clk='1') thenif ( en='1' ) thencnt:=cnt+1;cq <=cq+1;if (cnt=10) thenco<='1';cnt:=0;cq<="0000";elseco<='0';end if;end if;end if;elsecnt:=0;co<='0';cq<="0000";end if;qa<=cq;end process p1;p3:process(co)variable cnt1: integer range 0 to 10 :=0 ;beginif (reset='0') thenif (co='1') thencnt1:=cnt1+1;bq <=bq+1;if (cnt1=10) thencoo<='1';cnt1:=0;bq<="0000";elsecoo<='0';end if;end if;elsecnt1:=0;coo<='0';bq<="0000";end if;qb<=bq;end process p3;end architecture ar_counter;100进制计数器原理图实验5 巴克码发生器一、实验目的1.实现一个在通信领域中经常使用的巴克码发生器。