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

合集下载

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实验报告

一、实验内容使用封装的标准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实验报告

计数器eda实验报告计数器EDA实验报告引言:计数器是数字电路中常见的基本模块之一,用于计算和记录输入脉冲信号的数量。

在本次实验中,我们将使用EDA工具对计数器进行设计和分析。

通过对计数器的EDA实验,我们旨在深入了解计数器的工作原理和性能特点。

一、实验目的本次实验的目的是通过EDA工具对计数器进行设计和分析,具体包括以下几个方面:1. 了解计数器的基本原理和工作方式;2. 学习使用EDA工具进行电路设计和仿真;3. 分析计数器的性能指标,如最大计数值、计数速度等。

二、实验步骤1. 设计计数器的电路原理图;2. 使用EDA工具进行电路仿真;3. 分析仿真结果,包括计数器的计数规律、计数速度等;4. 调整计数器的参数,观察对计数结果的影响;5. 总结实验结果并提出改进意见。

三、计数器的设计原理计数器是由触发器和逻辑门组成的电路,可以实现对输入脉冲信号的计数功能。

常见的计数器包括二进制计数器、十进制计数器等。

在本次实验中,我们将设计一个4位二进制计数器。

四、EDA工具的使用我们选择使用Xilinx ISE Design Suite进行电路设计和仿真。

该工具具有强大的功能和易于使用的界面,方便我们进行计数器的设计和分析。

五、仿真结果分析通过对计数器的仿真结果进行分析,我们可以得到以下结论:1. 计数器的计数规律:根据计数器的设计原理,我们可以观察到计数器的计数规律为二进制递增。

2. 计数器的计数速度:计数器的计数速度取决于输入脉冲信号的频率和计数器的时钟频率。

通过适当调整时钟频率,我们可以实现不同速度的计数。

六、参数调整与性能改进在实验过程中,我们可以通过调整计数器的参数来改进其性能。

例如,我们可以增加计数器的位数,以提高其计数范围;或者调整计数器的时钟频率,以改变其计数速度。

通过不断优化和改进,我们可以得到更加高效和灵活的计数器设计。

七、实验总结通过本次计数器EDA实验,我们深入了解了计数器的工作原理和性能特点,并学会了使用EDA工具进行电路设计和仿真。

EDA实验报告

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实验报告

实验一:QUARTUS II 软件使用及组合电路设计仿真页脚内容1实验目的:学习QUARTUS II 软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容。

实验内容:1.四选一多路选择器的设计基本功能及原理:选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。

四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)和s(1)及一个信号输出端y。

当s输入不同的选择信号时,就可以使a,b,c,d中某一个相应的输入信号与输出y端接通。

逻辑符号如下:页脚内容2程序设计:软件编译:在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:仿真结果如下图所示页脚内容3分析:由仿真图可以得到以下结论:当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个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。

数码管的图形如下页脚内容4七段译码器的逻辑符号:程序设计:页脚内容5软件编译:在编辑器中输入并保存了以上七段译码器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:仿真结果如下图所示:页脚内容6分析:由仿真的结果可以得到以下结论:当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;页脚内容7当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实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)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计数器的实验报告

eda计数器的实验报告

eda计数器的实验报告EDA计数器的实验报告引言:计数器是数字电路中常用的组合逻辑电路,用于实现对输入信号的计数功能。

EDA计数器是一种基于EDA(Electronic Design Automation,电子设计自动化)技术的计数器,利用EDA工具进行设计和仿真,能够更加高效地完成计数任务。

本实验旨在通过设计和实现EDA计数器,探索其原理和应用。

一、实验目的本实验的目的是通过设计和实现EDA计数器,深入理解计数器的工作原理,并掌握EDA技术在数字电路设计中的应用。

通过实验,我们将学习以下内容:1. 计数器的基本原理和分类;2. EDA工具的使用方法;3. 数字电路的设计与仿真。

二、实验步骤1. 确定计数器的功能要求:根据实验要求,我们需要设计一个4位二进制计数器,能够实现从0000到1111的计数功能。

2. 使用EDA工具进行设计:选择合适的EDA工具(如Verilog、VHDL等),根据计数器的功能要求,编写相应的代码。

3. 进行仿真:利用EDA工具提供的仿真功能,对设计的计数器进行仿真,验证其正确性和稳定性。

4. 进行综合和布局布线:将设计的计数器进行综合和布局布线,生成对应的逻辑网表和物理布局。

5. 进行时序分析和时序优化:对设计的计数器进行时序分析,优化其时序性能,确保其能够满足实际应用需求。

6. 进行静态和动态功耗分析:对设计的计数器进行静态和动态功耗分析,评估其功耗性能,并进行相应的优化。

三、实验结果与分析经过以上步骤的设计和优化,我们成功实现了一个4位二进制计数器。

通过EDA工具的仿真功能,我们验证了计数器的正确性和稳定性。

在时序分析和时序优化过程中,我们发现了一些潜在的时序问题,并进行了相应的优化,确保了计数器的正常工作。

在静态和动态功耗分析中,我们评估了计数器的功耗性能,并进行了一些优化措施,减少了功耗。

四、实验总结通过本次实验,我们深入学习了计数器的原理和分类,并掌握了EDA技术在数字电路设计中的应用。

eda仿真实验报告

eda仿真实验报告

eda仿真实验报告EDA仿真实验报告一、引言EDA(Electronic Design Automation)是电子设计自动化的缩写,是指利用计算机技术对电子设计进行辅助、自动化的过程。

在现代电子设计中,EDA仿真是不可或缺的一环,它可以帮助工程师验证电路设计的正确性、性能和可靠性。

本篇报告将介绍我在EDA仿真实验中的经验和收获。

二、实验背景本次实验的目标是对一个数字电路进行仿真,该电路是一个4位加法器,用于将两个4位二进制数相加。

通过仿真,我们可以验证电路设计的正确性,并观察其在不同输入情况下的输出结果。

三、实验步骤1. 电路设计:首先,我们根据给定的要求和电路原理图进行电路设计。

在设计过程中,我们需要考虑电路的逻辑关系、时序要求以及输入输出端口的定义等。

2. 仿真环境搭建:接下来,我们需要选择合适的EDA仿真工具,并搭建仿真环境。

在本次实验中,我选择了Xilinx ISE Design Suite作为仿真工具,并创建了一个仿真项目。

3. 仿真测试向量生成:为了对电路进行全面的测试,我们需要生成一组合适的仿真测试向量。

这些测试向量应该覆盖了电路的所有可能输入情况,以验证电路的正确性。

4. 仿真运行:在仿真环境搭建完成后,我们可以开始进行仿真运行了。

通过加载测试向量,并观察仿真结果,我们可以判断电路在不同输入情况下的输出是否符合预期。

5. 仿真结果分析:仿真运行结束后,我们需要对仿真结果进行分析。

通过对比仿真输出和预期结果,可以判断电路设计的正确性。

如果有不符合预期的情况,我们还可以通过仿真波形分析,找出问题所在。

四、实验结果与讨论在本次实验中,我成功完成了4位加法器的仿真。

通过对比仿真输出和预期结果,我发现电路设计的正确性得到了验证。

无论是正常情况下的加法运算,还是特殊情况下的进位和溢出,电路都能够正确地输出结果。

在实验过程中,我还发现了一些有趣的现象。

例如,在输入两个相同的4位二进制数时,电路的输出结果与输入完全一致。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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) begin3A 2A 1A 0A B B Bif (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);co全加器功能框图b: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)variablet: integer range 0 to 10 :=0 ;beginif (reset='0') thenif (clk'event and clk='1') thenif ( en='1' ) thent:=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)variablet: integer range 0 to 10 :=0 ;beginif (reset='0') thenif (clk'event and clk='1') thenif ( en='1' ) thent:=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)variablet1: integer range 0 to 10 :=0 ;beginif (reset='0') thenif (co='1') thent1:=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.实现一个在通信领域中经常使用的巴克码发生器。

相关文档
最新文档