异步十二进制加减计数器 课程设计报告
计数器课程设计的设计总结

计数器课程设计的设计总结一、课程目标知识目标:1. 学生能理解计数器的基本原理和功能,掌握计数器的使用方法。
2. 学生能够运用计数器进行100以内的数字加减运算,并正确读取结果。
3. 学生理解计数器在日常生活和数学运算中的应用价值。
技能目标:1. 学生通过操作计数器,提高动手操作能力和问题解决能力。
2. 学生能够运用计数器进行简单的数学运算,提升计算速度和准确性。
3. 学生通过小组合作,培养团队协作能力和沟通表达能力。
情感态度价值观目标:1. 学生对计数器产生兴趣,激发学习数学的热情。
2. 学生在操作计数器的过程中,培养耐心、细心的品质。
3. 学生认识到计数器在生活中的实际应用,体会数学与生活的紧密联系。
课程性质:本课程为数学学科的操作实践课程,旨在通过计数器的操作,帮助学生掌握100以内的数字加减运算,提高学生的动手操作能力和问题解决能力。
学生特点:二年级学生好奇心强,动手能力强,喜欢操作性的学习活动,但注意力集中时间较短,需要教师引导和激发。
教学要求:教师需注重学生的个体差异,关注动手操作的指导,通过趣味性和实践性的教学活动,提高学生的参与度和兴趣,确保课程目标的实现。
在教学过程中,将课程目标分解为具体的学习成果,以便进行后续的教学设计和评估。
二、教学内容本课程以《数学》二年级下册教材中“100以内的加法和减法”章节为基础,结合计数器操作实践,组织以下教学内容:1. 计数器的基本认识:介绍计数器的外观、结构及功能,让学生了解计数器在数学运算中的作用。
2. 计数器的使用方法:教授计数器的操作步骤,包括如何清零、如何进行加法和减法运算,以及如何读取结果。
3. 100以内的加法和减法运算:利用计数器进行100以内的数字加减运算,巩固学生对加法和减法的理解,提高运算速度和准确性。
4. 实践与应用:设计实际操作题,让学生运用计数器解决生活中的数学问题,体验数学与生活的紧密联系。
教学大纲安排如下:第一课时:认识计数器,学习计数器的使用方法。
加减可逆计数器实训报告

一、实训目的本次加减可逆计数器实训旨在通过实际操作,加深对数字电路原理和计数器设计方法的理解,提高动手能力和实践技能。
通过本次实训,使学生掌握加减可逆计数器的设计原理、电路实现方法,并能够熟练运用相关工具进行电路仿真和测试。
二、实训环境1. 实验设备:数字电路实验箱、示波器、万用表、计算机等。
2. 实验软件:Multisim、Proteus等电路仿真软件。
三、实训原理加减可逆计数器是一种能够实现加法、减法、保持和异步清零的计数器。
它由加法计数器、减法计数器、保持电路和异步清零电路组成。
在加法计数器中,计数器的状态每增加1,输出端的状态也相应增加1;在减法计数器中,计数器的状态每减少1,输出端的状态也相应减少1;保持电路使计数器在需要保持状态时保持原有状态;异步清零电路可以在任意时刻使计数器清零。
四、实训过程1. 设计加减可逆计数器电路原理图。
2. 利用Multisim或Proteus等电路仿真软件搭建加减可逆计数器电路。
3. 设置电路参数,进行仿真测试。
4. 分析仿真结果,验证电路功能。
5. 利用数字电路实验箱搭建实物电路。
6. 测试实物电路,验证电路功能。
五、实训结果与分析1. 仿真结果分析通过仿真测试,验证了加减可逆计数器电路的功能。
在加法计数模式下,计数器能够实现从0到9的计数;在减法计数模式下,计数器能够实现从9到0的计数;在保持模式下,计数器能够保持原有状态;在异步清零模式下,计数器能够快速清零。
2. 实物电路测试结果分析利用数字电路实验箱搭建的实物电路,经过测试,验证了电路的功能。
在加法计数模式下,计数器能够实现从0到9的计数;在减法计数模式下,计数器能够实现从9到0的计数;在保持模式下,计数器能够保持原有状态;在异步清零模式下,计数器能够快速清零。
六、实训总结1. 通过本次实训,加深了对数字电路原理和计数器设计方法的理解。
2. 提高了动手能力和实践技能,学会了使用电路仿真软件进行电路设计和测试。
同步和异步十进制加法计数器的设计

同步和异步十进制加法计数器的设计1. 引言1.1 引言在计算机科学领域,同步和异步十进制加法计数器是常见的设计。
它们可用于对数字进行加法运算,是数字逻辑电路中的重要组成部分。
同步计数器和异步计数器的设计原理和工作方式有所不同,各有优劣势。
同步十进制加法计数器是一种通过时钟信号同步运行的计数器,采用同步电路设计。
它的设计目的是确保每一位数字在同一时刻进行加法运算,以保证正确性和稳定性。
同步计数器具有较高的精确度和可靠性,但需要更多的电路元件和较复杂的控制逻辑。
与之相反,异步十进制加法计数器采用异步电路设计,每一位数字都根据前一位数字的状态自主运行。
这种设计方式减少了电路复杂度和功耗,但可能会造成计算不稳定或出错的情况。
在选择计数器设计时需要根据实际需求和应用场景进行权衡。
通过对同步和异步十进制加法计数器的设计进行比较分析,可以更好地理解它们的优劣势和适用范围。
结合实际的应用案例,可以更好地理解它们在数字逻辑电路中的作用和价值。
2. 正文2.1 设计目的在设计同步和异步十进制加法计数器时,我们的主要目的是实现一个能够对十进制数字进行加法运算的电路。
具体来说,我们希望设计一个可以接受两个十进制数字作为输入,并输出它们的和的计数器。
设计的目的是为了实现数字的加法计算,并且保证计数器的正确性、稳定性和效率。
在设计过程中,我们需要考虑到各种可能的输入情况,例如进位、溢出等,并确保计数器能够正确处理这些情况。
我们也希望设计出一个简洁、高效的电路,以确保在实际应用中能够满足性能要求。
我们也需要考虑到电路的功耗和面积,以确保设计的成本和资源利用是否合理。
设计同步和异步十进制加法计数器的目的是为了实现对十进制数字的加法运算,保证计数器的正确性和性能,并在满足需求的前提下尽可能地降低成本和资源消耗。
2.2 同步十进制加法计数器的设计同步十进制加法计数器是一种利用时钟脉冲同步输入和输出的数字电路,用于实现十进制加法运算。
含异步清规和同步使能的加法计数器

实验三含异步清零和同步使能的加法计数器一、实验目的1、了解二进制计数器的工作原理。
2、进一步熟悉QUARTUSII软件的使用方法和VHDL输入。
3、时钟在编程过程中的作用。
二、实验原理二进制计数器中应用最多、功能最全的计数器之一,含异步清零和同步使能的加法计数器的具体工作过程如下:在时钟上升沿的情况下,检测使能端是否允许计数,如果允许计数(定义使能端高电平有效)则开始计数,否则一直检测使能端信号。
在计数过程中再检测复位信号是否有效(低电平有效),当复位信号起作用时,使计数值清零,继续进行检测和计数。
其工作时序如图3-1所示:图3-1 计数器的工作时序三、实验内容本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。
实验中时钟信号使用数字时钟源模块的1HZ信号,用一位拨动开关K1表示使能端信号,用复位开关S1表示复位信号,用LED模块的LED1~LED11来表示计数的二进制结果。
实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。
通过输入不同的值模拟计数器的工作时序,观察计数的结果。
实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。
数字时钟信号模块的电路原理如图3-2所示,表3-1是其时钟输出与FPGA的管脚连接表。
图3-2 数字时钟信号模块电路原理表3-1 数字时钟输出与FPGA的管脚连接表按键开关模块的电路原理如图3-3所示,表3-2是按键开关的输出与FPGA的管脚连接表。
图3-3 按键开关模块电路原理信号名称FPGA I/O名称核心板接口管脚号功能说明S[0] Pin_AF5 JP1_91 ‘S1’SwitchS[1]Pin_AH6 JP1_93 ‘S2’SwitchS[2]Pin_AH7 JP1_95 ‘S3’SwitchS[3]Pin_AH8 JP1_97 ‘S4’SwitchS[4]Pin_AG10 JP1_99 ‘S5’SwitchS[5]Pin_AG11 JP1_101 ‘S6’SwitchS[6]Pin_AH14 JP1_90 ‘S7’SwitchS[7] Pin_AG7 JP1_92 ‘S8’SwitchS[8]Pin_AG8 JP1_94 ‘S9’SwitchS[9]Pin_AF9 JP1_96 ‘S10’SwitchS[10]Pin_AH10 JP1_98 ‘S11’SwitchS[11] Pin_AH11 JP1_100 ‘S12’Switch表3-2 按键开关与FPGA的管脚连接表四、实验步骤1、打开QUARTUSII软件,新建一个工程。
实验4-加减计数器实验报告

上海理工大学计算机工程学院实验报告实验名称步长可变的加减计数器课程名称ISP在线编程技术姓名彭金梅学号05010105日期2007-12-27 地点计算机学院机房成绩教师佟国香一实验目的:1 掌握加减计数器以及特殊功能计数器的设计原理。
2.用VHDL语言设计多功能计数器。
二实验原理:计数分同步计数器和异步计数器。
1 加减工作原理加减计数也称可逆计数器,就是根据计数控制信号的不同,在时钟脉冲的作用下,计数器可以进行加1计数操作或者减1计数操作。
2 变步长工作原理如步长为3的加法计数器,计数状态变化为0 。
3。
6 。
9。
12……,步长值由输入端控制。
在加法计数时,当计数值达到或超过99时,在计数器下一个时钟脉冲过后,计数器也。
三实验内容:1 设计的计数步长可在0~79之间变化2.通过仿真或观察波形图验证设计的正确性。
3 编译下载验证结果。
四设计提示1.注意IF语句的嵌套。
2.注意加减计数的变化,计数值由9变0(加法)及由0变9(减法)各位的变化。
由于计数器为十进制计数器,还应考虑进位或借位后进行加6及减6校正。
五实验步骤:(1)代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count is ――实体PORT(clk,clr,updn:in STD_LOGIC; ――端口length:in STD_LOGIC_VECTOR(7 downto 0);S:out STD_LOGIC_VECTOR(7 downto 0));END count;ARCHITECTURE countB of count is ――结构体SIGNAL C_count: STD_LOGIC_VECTOR(7 downto 0); ――信号量beginS<= C_count;PROCESS (clk,clr,length,updn)VARIABLE temp:STD_LOGIC_VECTOR(8 downto 0); ――变量BEGINif(clr='1') thenC_count<=(others=>'0');elsif(clk' EVENT and clk='1') thenif(updn='1') thentemp:=C_count+length;if(temp>"011111111") thenC_count<=( others=>'0');elseC_count<=C_count+length;end if;elseif(temp<length) thenC_count<=(others=>'0');elseC_count<=C_count-length;end if;end if;end if;end process;end countB;2 仿真截图上述仿真数据:updn-----判断做加法还是减法Clk――时钟Clr――清零Length(7 downto 0)----步长S (7 downto 0)――输出六实验小结:这次步长可变的加减计数器需要将二进制数转换成BCD码,代码编了可是没有运行成功。
设计含异步清零和同步使能的加法计数器

实验二设计含异步清零和同步使能的加法计数器1.实验目的学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
2.实验内容或原理在Quartus II 上对源程序进行编辑、编译、综合、适配、仿真。
说明源程序各语句的作用,详细描述其功能特点,给出其所有信号的时序仿真波形。
RST为异步清零信号,高电平有效;CLK是锁存信号;EN为计数使能信号。
当时钟信号CLK、复位信号RST或时钟使能信号EN中任一信号发生变化,都将启动进程语句PROCESS。
此时如果RST为‘1’,将对计数器清零,即复位,这项操作是独立于CLK的,因而称异步。
3.实验仪器(1)GW48系列SOPC/EDA实验开发系统(2)配套计算机及Quartus II 软件4.实验步骤(1)完成含异步清零和同步使能的加法计数器的VHDL描述,并对其进行波形仿真,确定结果正确。
(2)建议选择实验电路模式5对该设计进行硬件验证。
5. VHDL仿真实验(1)为此工程新建一个文件夹。
启动QuartusII软件工作平台,新建工程设计文件名为CNT10.vhd。
在新建的VHDL模型窗口下编写源程序代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,RST,EN: IN STD_LOGIC;CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT: OUT STD_LOGIC);END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK,RST,EN)V ARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST='1'THEN CQI := (OTHERS=>'0');ELSIF CLK'EVENT AND CLK='1'THENIF EN='1'THENIF CQI<9 THEN CQI :=CQI+1;ELSE CQI :=(OTHERS=>'0');END IF;END IF;END IF;IF CQI=9 THEN COUT<='1';ELSE COUT<='0';END IF;CQ<=CQI;END PROCESS;END behav;(2)创建工程及全程编译。
异步十二进制加减计数器 课程设计报告

集成电路课设报告VHDL语言描述能力强,覆盖面广,抽象能力强,所以用VHDL语言作为硬件模型建模很合适。
设计者的原始描述是非常简练的硬件描述,经过EDA工具综合处理,最终生成付诸生产的电路描述或版图参数描述的工艺文件。
整个过程通过EDA工具自动完成,大大减轻了设计人员的工作强度,提高了设计质量,减少了出错的机会。
VHDL语言可读性好。
VHDL既能被人容易读懂又能被计算机识别,作为技术人员编写的原文件,既是计算机程序、技术文档和技术人员硬件信息交流文件,又是签约双方的合同文件。
VHDL语言中设计实体、程序包、设计库,为设计人员重复利用别人的设计提供了设计手段。
重复利用他人的IP模块和软核是VHDL 的特色,许多设计不必个个都从头再来,只要在更高层次上IP模块利用起来,就能达到事半功倍的效果。
本实验就是用VHDL语言设计一个异步十二进制加减计数器。
一、题目:异步十二进制加减计数器二、电路工作原理所谓计数器就是指能够记忆时钟信号脉冲个数的时序逻辑电路,它是数字电路中应用及其广泛的一种基本逻辑单元,不仅能用于脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。
其原理就是将几个触发器按照一定的顺序连接起来,然后根据触发器的状态按照一定的规律随时钟信号的变化来记忆时钟的个数。
1、同步计数器和异步计数器根据计数器脉冲引入方式的不同,计数器分为同步计数器和异步计数器两大类。
(功能比较如下表所示)其中同步计数器是将计数脉冲同时引入到各级触发器,当输入计数时钟脉冲触发时,各级触发器的状态同时发生转移,而异步计数器是将计数器的低位计数触发器的输出作为相邻计数触发器的时钟脉冲,这样逐级串行连接起来的一类计数器。
也就是说,每一个触发器的翻转时刻并不是由时钟信号来同步的,而是由它下一位触发器的输出决定的。
2、置“0”方式——异步置“0”和同步置“0”异步置“0”方式:其置零信号Rd是经缓冲门直接加在触发器的R端的。
进制加减法数字电路课程设计报告

设计名称:设计一个一位十进制加减法器 设计内容:1、 0-9十个字符和“ +” “- ”分别对应一个按键,用于数据输入。
2、 用一个开关控制加减法器的开关状态。
3、 要求在数码显示管上显示结果。
设计目的与要求:1、 学习数字逻辑等电路设计方法,熟知加减法器、编码器、译码显示的工 作原理及特点;2、 培养勤奋认真、分析故障和解决问题的能力。
设计环境或器材、原理与说明:环境:利用多功能虚拟软件Multism8进行电路的制作、调试,并生成文件。
器材:74LS283或者4008,4个异或门(一片74LS86 (减法);74LS08 3输 入或门(加法)设计原理:图1二进制加减运算原理框图分析:如图1所示,第一步置入两个四位二进制数(要求置入的数小于 1010),如(1001)2和(0111)2,同时在两个七段译码显示器上显示出对应的十进制数 9置数显示所置入的两 个一位十进制数开关选择 运算方式和7;第二步通过开关选择运算方式加或者减;第三步,若选择加运算方式,所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;第四步,前面所得结果通过另外两个七段译码器显示。
设计过程(步骤)或程序代码:实验电路:1: 减法电路的实现:(1):原理:如图1所示(如下),该电路功能为计算A-B。
若n位二进制原码为N原,则与它相对应的补码为N补=2n-N原,补码与反码的关系式为N补=“反+1,A-B=A+B补-2 n=A+B 反+1-2n⑵:因为B®仁B非,B30=B,所以通过异或门74LS86对输入的数B求其反码,并将进位输入端接逻辑1以实现加1,由此求得B的补码。
加法器相加的结果为:A+B反+1,(3):由于2n=24=(10000)2,相加结果与相2n减只能由加法器进位输出信号完成。
当进位输出信号为1时,它与2n的差为0;当进位输出信号为0时,它与2n差值为1,同时还要发出借位信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集成电路课设报告VHDL语言描述能力强,覆盖面广,抽象能力强,所以用VHDL语言作为硬件模型建模很合适。
设计者的原始描述是非常简练的硬件描述,经过EDA工具综合处理,最终生成付诸生产的电路描述或版图参数描述的工艺文件。
整个过程通过EDA工具自动完成,大大减轻了设计人员的工作强度,提高了设计质量,减少了出错的机会。
VHDL语言可读性好。
VHDL既能被人容易读懂又能被计算机识别,作为技术人员编写的原文件,既是计算机程序、技术文档和技术人员硬件信息交流文件,又是签约双方的合同文件。
VHDL语言中设计实体、程序包、设计库,为设计人员重复利用别人的设计提供了设计手段。
重复利用他人的IP模块和软核是VHDL 的特色,许多设计不必个个都从头再来,只要在更高层次上IP模块利用起来,就能达到事半功倍的效果。
本实验就是用VHDL语言设计一个异步十二进制加减计数器。
一、题目:异步十二进制加减计数器二、电路工作原理所谓计数器就是指能够记忆时钟信号脉冲个数的时序逻辑电路,它是数字电路中应用及其广泛的一种基本逻辑单元,不仅能用于脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。
其原理就是将几个触发器按照一定的顺序连接起来,然后根据触发器的状态按照一定的规律随时钟信号的变化来记忆时钟的个数。
1、同步计数器和异步计数器根据计数器脉冲引入方式的不同,计数器分为同步计数器和异步计数器两大类。
(功能比较如下表所示)其中同步计数器是将计数脉冲同时引入到各级触发器,当输入计数时钟脉冲触发时,各级触发器的状态同时发生转移,而异步计数器是将计数器的低位计数触发器的输出作为相邻计数触发器的时钟脉冲,这样逐级串行连接起来的一类计数器。
也就是说,每一个触发器的翻转时刻并不是由时钟信号来同步的,而是由它下一位触发器的输出决定的。
2、置“0”方式——异步置“0”和同步置“0”异步置“0”方式:其置零信号Rd是经缓冲门直接加在触发器的R端的。
同步置“0”方式:当置“0”信号到达时,计数器并不立即置“0”,而是在有CP脉冲上升沿到来时,电路才被置零。
可逆计数器就是指在输入时钟信号脉冲的控制下,既可以进行递增计数也可以进行递减计数的一类特殊计数器。
对于具体的可你计数器来说,需要定义一个用来控制计数器方向的控制端口updown:当控制端口updown的值为逻辑‘1’时,可逆计数器进行加1操作,即递增计数,当控制端口updown的值为逻辑‘0’时,可逆计数器进行减1操作,即递减计数。
通过上述分析就可以明确地了解:程序1是异步置0的同步可逆计数器程序2是由低位触发器的输出提供高位触发器的时钟信号的,从而实现了异步加减计数。
三、VHDL设计思路与程序(一)程序11、VHDL设计思路设计中,CP是时钟输入端,下降沿有效;Rd为清零控制端,低电平有效;updown为计数方式控制端,updown=“1”时作加法计数,updown=“0”时作减法计数。
在计数工作之前,先由Rd给一个清零信号,使四个数据输入值都为“0”。
y3,y2,y1,y0为四个数据输出端,这就实现了异步清零。
当updown=“1”,Rd=“1”时,计数器进行加法计数,即从“0000”依次计数到“1011”,当updown=“0”,Rd=“1”时,计数器进行减法计数。
2、源程序及注释library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yu is 实体说明port (cp,rd,updown:in std_logic; 定义端口q:out std_logic_vector(3 downto 0));end yu;architecture yu of yu is 结构体signal y:std_logic_vector(3 downto 0); 定义信号beginprocess (cp,rd) 进程开始beginif rd='0'then 清零y<="0000";elseif (cp'event and cp='0')then 时钟信号为下降沿时if (updown='1')then 进行加法计数if y="1011"then 到11有进位,清零y<="0000";elsey<=y+1; 结果加1end if;else 否则进行减法计数if y="0000"then 到0有借位y<="1011";elsey<=y-1; 结果减1end if;end if;end if;end if;end process; 进程结束q<=y; 输出结果end yu; 程序结束(二)程序21、VHDL设计思路设计中,clk是时钟输入端,上升沿有效; updn为计数方式控制端,updn=“1”时作加法计数,updn=“0”时作减法计数;c是进位/借位输出端;c0为个位最高位输出。
在计数工作之前,个位q和十位k全部置0。
个位由时钟上升沿触发加/减1,十位由个位的进位/借位触发,从而实现十位的变化,即异步可逆计数。
当updown=“1”时,计数器进行加法计数,个位从“0”依次计数到“9”,进位,十位由“0”到“1”,当计数到11时清零;同理,当updown=“0”时,计数器进行减法计数。
2、源程序及注释library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yu1 isport (clk,updn:in std_logic;c:out std_logic;y0,y1:out std_logic_vector(3 downto 0));end yu1;architecture yu1 of yu1 issignal q:std_logic_vector(3 downto 0):="0000"; 个位 q 赋初值为0signal k:std_logic_vector(3 downto 0):="0000"; 十位 k 赋初值为0signal c0,c1:std_logic;beginprocess (updn,clk) 个位的进程beginif updn='1'then 进行加法计数if q=1 and k=1 then 到11时,有进位输出信号C1 c1<='1';elsec1<='0';end if;if clk'event and clk='1'then 时钟端为上升沿时if c1='1'or q=9 then 有进位输出信号C1,即到11时q<="0000"; 或个位到9该进位时,个位清零elseq<=q+1; 个位加1end if;end if;else 进行减法计数if clk'event and clk='1'thenif q=0 and k=0 then 到0时c1<='1'; 有借位输出信号,输出11 q<="0001"; 即个位 q 置1 elsif q=0 and k=1 then 到10,减1,个位输出9q<="1001";c1<='0';elseq<=q-1;c1<='0';end if;end if;end if;y0<=q; 个位输出c0<=q(3); 个位最高位输出end process;process (c0,c1) 十位的进程beginif updn='1'thenif c1'event and c1='0'thenk<="0000";elsif c0'event and c0='0'then 个位由9加1进位,变为0时 k<="0001"; 十位k置1end if;elseif c1='1'thenk<="0001";elsif c0'event and c0='1'then 个位由0减1到借位,变为9时 k<="0000"; 十位k置0end if;end if;end process;y1<=k;c<=c1;end yu1;四、仿真验证程序与仿真结果(一)测试程序11、仿真验证程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity t_yu isend t_yu;architecture t_yu of t_yu iscomponent yu isport (cp,rd,updown:in std_logic;q:out std_logic_vector(3 downto 0));end component;signal cp:std_logic:='0';signal rd:std_logic;signal updown:std_logic;signal q:std_logic_vector(3 downto 0);beginu0:yu port map (cp,rd,updown,q);cp<=not cp after 50ns;rd<='0','1'after 300ns;updown<='0','1'after 200ns,'0'after 1600ns;end t_yu;2、仿真结果:下图所示为异步十二进制加减计数器的波形图:(二)测试程序21、仿真验证程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity t_yu1 isend t_yu1;architecture t_yu1 of t_yu1 iscomponent yu1 isport (clk,updn:in std_logic;c:out std_logic;y0,y1:out std_logic_vector(3 downto 0)); end component;signal clk:std_logic:='0';signal updn:std_logic;signal c:std_logic;signal y0:std_logic_vector(3 downto 0);signal y1:std_logic_vector(3 downto 0);beginu0:yu1 port map (clk,updn,c,y0,y1);clk<=not clk after 50ns;updn<='1','0'after 2000ns;end t_yu1;2、仿真结果:下图所示为异步十二进制加减计数器的波形图:五、逻辑综合逻辑综合,就是将较高抽象层次的描述自动的转换到较低抽象层次描述的一种方法,就现有技术而言,就是将RTL级也就是行为级的描述转换成门级网表的过程。