VHDL语言快速入门必读
第1章VHDL语言基础

位矢量(BIT_VECTOR)。若端口定义为BIT,则其信号值 是一个1位的二进制数,取值只能是0或1;若端口定义为 BIT_VECTOR,则其信号值是一组二进制数。
➢ 在电路中,如果实体代表一个器件符号,则结构体描述了 这个符号的内部行为。当把这个符号例化成一个实际的器 件安装到电路上时,则需用配置语句为这个例化的器件指 定一个结构体(即指定一种实现方案),或由编译器自动选一 个结构体。
1. 结构体的一般语句格式 ARCHITECTURE 结构体名 OF 实体名 IS [说明语句;] BEGIN [功能描述语句;] END [ARCHITECTURE] [结构体名];
1.1 VHDL程序基本结构
一、VHDL程序设计约定 ➢ 语句结构描述中方括号“[ ]”内的内容为可选内容。 ➢ 对于VHDL的编译器和综合器来说,程序文字的大小写是不
加区分的。 ➢ 程序中的注释使用双横线“- -”。 ➢ 源程序命名与实体同名(MAX+plus Ⅱ要求)。
二、VHDL程序设计引例( 74LS00的设计 )
③ 信号赋值语句将设计实体内的处理结果向定义的信号或界面 端口进行赋值。
④ 子程序调用语句用于调用一个已设计好的子程序。
⑤ 元件例化语句对其他的设计实体作元件调用说明,并将此元 件的端口与其他的元件、信号或高层次实体的界面端口进行 连接。
A
A NAND2
Y
Y
B
B
(a)
A1
A NAND2
U1 Y
Y1
B1
B
A2
A NAND2
VHDL语言基础

VHDL语⾔基础VHDL语⾔基础1 数据对象数据对象包括常量、变量、信号和⽂件四种类型1.1 常量常量是对某⼀常量名赋予⼀个固定的值,⽽且只能赋值⼀次。
通常赋值在程序开始前进⾏,该值的数据类型则在声明语句中指明--定义常量语句:--Constant 常数名:数据类型:=表达式Constant Vcc:real:=5.2; --指定Vcc的数据类型是实数,赋值为5.0VConstant bus_width:integer:=8; --定义总线宽度为常数8常量所赋的值应和定义的数据类型⼀致;常量在程序包、实体、构造体或进程的说明性区域必须加以说明。
定义程序包内的常量课提供所包含的任何实体、构造体所引⽤,定义在实体说明内的常量只能在该实体内可见,定义在进程说明内的常量只能在该实体内可见,定义在进程说明区域中的常量只能在该进程内可见1.2 变量变量只能在进程语句、函数语句和过程语句结构中使⽤。
变量的赋值是直接的,⾮预设的。
变量不能表达“连线”或储存原件,不能设置传输延迟量--定义变量语句--Variable 变量名:数据类型:=初始值;Variable count:integer 0 to 255:=20; --定义count整数变量,变化范围0-255,初始值为20--变量赋值语句--⽬标变量名:=表达式;x:=10.0; --实数变量赋值为10.0Y:=1.5+x; --运算表达式赋值,表达式必须与⽬标变量的数据类型相同A(3 to 6):=("1101") --位⽮量赋值1.3 信号信号表⽰逻辑门的输⼊或输出,类似于连接线,也可以表达存储元件的状态。
信号通常在构造体、程序包和实体中说明--信号定义语句--Signal 信号名:数据类型:=初始值Signal clock:bit:='0'; --定义时钟信号,初始值为0Signal count:BIT_VECTOR(3 DOWNTO 0); --定义count为4位位⽮量--信号赋值语句⽬标信号名<=表达式;x<=9;Z<=x after 5 ns; --在5ns后将x的值赋给z2 数据类型2.1 VHDL的预定义数据类型类型定义说明布尔(Boolean)TYPE BOOLEAN IS (FALSE,TRUE);取值为FALSE和TRUE,不是数值,不能运算,⼀般⽤于关系运算符位(Bit)TYPE BIT IS ('0','1');取值为0和1,⽤于逻辑运算位⽮量(Bit_Vector)TYPE BIT_VECTOR IS ARRAY(Natural range<>)OF BIT;基于Bit类型的数组,⽤于逻辑运算字符(Character)TYPE CHARACTER IS (NUL,SOH,STX,...,'','!',...);通常⽤''引号引起来,区分⼤⼩写字符串(String)VARIABLE string_var:STRING(1 TO 7);string_var:="A B C D";通常⽤""引起来,区分⼤⼩写整数(Integer)variable a:integer range -63 to 63取值范围 -(231 -1)~(231-1)要求⽤RANGE⼦句为所定义的数限定范围,以便根据范围决定此信号或变量的⼆进制位数实数(Real)-取值范围-1.0E38~+1.0E38,仅可⽤于仿真不可综合时间(Time)-物理量数据,完整的包括整数和单位两个部分,⽤⾄少⼀个空格隔开,仅可⽤于仿真不可综合时间(Time)-开,仅可⽤于仿真不可综合错误等级(SeverityLevel)TYPE severity_level IS (NOTE、WARNING、ERROR、FAILURE);表⽰系统状态,仅可⽤于仿真不可⽤于综合类型定义说明2.2 IEEE预定义标准逻辑位与⽮量标准逻辑类型对数字逻辑电路的逻辑特性描述更加完整、真实,因此在VHDL程序中,对逻辑信号的定义通常采⽤标准逻辑类型标准逻辑位(Std_Logic)符号说明'U'Undefined(未初始化)'X'Forcing Unknown(强未知)'0'Forcing 0(强0)'1'Forcing 1(强1)'Z'High Impedance(⾼阻)'W'Weak Unknown(弱未知)'L'Weak 0(弱0)'H'Weak 1(弱1)'-'Don't Care(忽略)标准逻辑位⽮量(Std_Logic_Vector)基于Std_Logic类型的数组使⽤Std_Logic和Std_Logic_Vector要调⽤IEEE库中的Std_Logic_1164程序包;就综合⽽⾔,能够在数字器件中实现的是“-、0、1、Z”四种状态。
VHDL语言讲解

FT工作室
• • • • • • • • • • • • • • • • 八.并行语句 1.with select when 2.when else 九.顺序语句 1. if then else 2. case when 十.元件 调用元件首先在结构体中声明: component 元件名 port( ); end component; 然后在结构体begin后面讲管脚映射: U1:元件名 port map(……);
FT工作室
培训. Vቤተ መጻሕፍቲ ባይዱDL讲解
FT工作室
• 一.VHDL程序主要组成 • 1.库 • 2.包 • 3.实体 • 4.结构体
FT 工作室
• 二.程序开头 • library ieee; • use ieee.std_logic_1164.all; • use ieee.std_logic_unsigned.all; • use ieee.std_logic_arith.all; • 注:以后不管写什么VHDL程序,程序的开 头就这四句不变.
FT工作室
• 四.结构体 • 一个VHDL程序是实现某个特定功能的电路. 而功能的描述就是在结构体内. • architecture 结构名 of 实体名 is • 定义信号, • 定义状态机 • 调用其他模块 • begin • 功能描述 • end 结构名; •
FT工作室
• 五.进程 • 进程是放在结构体内的. • 固定写法:process(a,b,c…….) • 定义变量 • begin • if rst=‘0’ then • 要复位的信号 • elsif rising_edge(clk) then—时钟的上升沿 • 功能描述 • end if; • end process; • 其中括号里的a,b,c….是敏感信号.所谓敏感信号,就是当这些信 号里任意一个信号有变化,进程就会触发而工作.
VHDL语言基础

3.1 概 述
3.1.5 VHDL与其他硬件描述语言的比较
VHDL: 具有较强的系统级抽象描述能力,适合行为级和RTL
级的描述,设计者可不必了解电路细节,所以工作比较 少,效率高。但对综合器的要求高,不易控制底层电路 的生成。IEEEE标准,支持广泛。
RTL: Register Translate Level (寄存器传输级)
with input select drive<=B”1111110” when 0, drive<=B”0110000” when 1, drive<=B”1101101” when 2, drive<=B”1111001” when 3, drive<=B”1111110” when 4, drive<=B”0110000” when 5, drive<=B”1101101” when 6, drive<=B”1111001” when 7,, drive<=B”0110000” when 8, drive<=B”1101101” when 9,
1、程序包说明(包首): 语法: package 程序包名 is { 包说明项 } end 程序包名;
包声明项可由以下语句组成: use 语句(用来包括其他程序包); 类型说明;子类型说明;常量说明;信号说明;
子程序说明;元件说明。
例:程序包说明:
2、程序包包体 程序包的内容:子程序的实现算法 包体的语法: package body 程序包名 is { 包体说明项 } end 程序包名;
如:一个可置数的16位计数器的电路原理图
3.1 概 述
用VHDL语言描述的可置数的16位计数器
3.1 概 述
最新VHDL必须掌握的知识点和相关例题整理

VHDL总复习之必须要掌握的知识点和相关例题目录VHDL总复习之必须要掌握的知识点和相关例题 (1)1.VHDL语言的基本设计实体和完整的VHDL语言程序的结构 (2)2.进程(PROCESS)语句的结构 (2)3.VHDL语言子程序的结构 (2)(1).过程(Procedure) (2)(2).函数(Function) (2)4.过程与函数的主要区别 (3)5.进程和子程序中使用的语句 (3)6.VHDL语言中客体的概念及使用范围 (3)7.信号和变量的区别及作用范围 (3)8.VHDL语言的数据类型和运算操作 (4)9.VHDL语言构造体的三种描述方式 (4)PONENT(元件)语句和COMPONENT—INSTANT(元件例示)语句的功能和书写格式 (5)11.VHDL语言的主要描述语句的功能、使用场合和语法格式 (5)12.VHDL语言的命名规则 (6)13.VHDL语言的数值类属性描述 (6)14.VHDL语言的信号属性函数 (7)15.数值系统的定义方法,各种状态的含义 (7)16.采用有限状态机进行电路设计的基本方法 (7)17.仿真Δ延时引入的原因和对并发语句仿真结果的影响 (8)18.逻辑综合的概念与主要步骤 (8)19.运用VHDL语言和FPGA进行电路设计的主要步骤 (8)VHDL的全称以及利用VHDL设计硬件电路所具有的特点Very High Speed Integrated Circuit Hardware Description Language (超高速集成电路硬件描述语言)(1)设计文件齐全、方法灵活、支持广泛(2)系统硬件描述能力强(3)VHDL语言可以与工艺无关编程(4) VHDL语言标准、规范、易于共享和复用1.VHDL语言的基本设计实体和完整的VHDL语言程序的结构一个VHDL语言的基本设计实体由实体说明和构造体两个部分构成;一个完整的VHDL 语言程序包含5个部分:实体、构造体、配置、包集合(程序包)和库。
vhdl语言

VHDL语言VHDL(VHSIC Hardware Description Language)是用于描述数字电路和系统的硬件描述语言,是一种标准化的硬件描述语言,广泛应用于数字电路设计和电子系统设计领域。
VHDL语言是一种强大的工具,可以帮助工程师描述复杂的数字电路,并进行仿真和综合。
它可以描述电路的结构、功能和时序行为,是一种形式化的语言,能够准确地描述电路的行为特性,有助于工程师在设计阶段发现和解决问题。
VHDL语言的基本概念实体(Entity)•实体描述了电路的接口和功能,可以看作是一种抽象的模块。
•实体中定义了输入输出端口,以及对应的信号类型和位宽。
•实体可以包含多个体系结构(Architecture)。
体系结构(Architecture)•体系结构描述了实体的具体实现,定义了实体的行为。
•体系结构中包含了处理逻辑、时序行为以及信号的赋值。
•体系结构可以描述电路的功能和行为。
信号(Signal)•信号是VHDL语言中的基本数据类型,用于在电路中传递信息。
•信号可以是标量(Scalar)或矢量(Vector),可以是时序或组合。
•信号的赋值可以是同步的或异步的。
过程(Process)•过程描述了VHDL中的行为,通常用于描述组合逻辑或时序逻辑。
•过程中可以包含逻辑运算、条件语句、循环语句等。
•过程中的代码在仿真或综合时会被执行。
VHDL语言的应用VHDL语言主要用于数字电路设计、电子系统设计、FPGA设计等领域。
工程师可以使用VHDL语言描述数字电路的结构和行为,进行仿真和综合,快速验证设计的正确性。
VHDL语言的应用领域包括但不限于:•数字电路设计•通信系统设计•控制系统设计•图像处理系统设计•嵌入式系统设计VHDL语言在电子设计领域具有广泛的应用前景,可以帮助工程师快速高效地设计数字电路系统,并满足不同应用场景的需求。
总结VHDL语言是一种强大的硬件描述语言,可以帮助工程师描述数字电路的结构和行为,进行仿真和综合,快速验证设计的正确性。
三、VHDL语言基础

第三章VHDL语言基础本章介绍VHDL语言的基础知识,具体内容包括:1、概述2、VHDL程序的基本结构库、程序包、实体说明、结构体、配置3、VHDL的语言要素语法规则、数据对象、数据类型、运算操作符4、VHDL的描述语句并行语句、顺序语句、子程序、属性语句5、VHDL的描述方式行为描述方式、寄存器传输级描述方式、结构描述方式第一节概述HDL(Hardware Description Language):硬件描述语言,描述数字电路和系统的语言。
具体来说,用于描述数字系统的结构、行为、功能和接口。
在EDA设计中,设计者利用硬件描述语言,可以描述自己的设计思想,完成设计输入的步骤。
设计输入共有三种方法——原理图、文本、波形输入,其中,文本输入方式就是用硬件描述语言跟计算机交流,让计算机读懂设计者的设计。
VHDL的全称是V ery-High-Speed Integrated Circuit Hardware Description Language,译作甚高速集成电路硬件描述语言,是当前广泛使用的HDL语言之一,并被IEEE和美国国防部采用为标准的HDL语言。
1、发展历程:美国国防部1982年开发VHDL语言,在1987年被IEEE采用为标准硬件描述语言。
在实际使用过程中,发现1987年版本的缺陷,并于1993年对87版进行了修订。
因此,现在有两个版本的VHDL语言。
1)1987年的IEEE 1076(VHDL87)2)1993年进行了修正(VHDL93)VHDL语言目前已成为,开发设计可编程逻辑器件的重要工具。
2、优点:VHDL语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备的优点。
归纳起来,VHDL 语言主要具有以下优点:功能强大,设计方式多样VHDL具有功能强大的语言结构, 可用简洁明确的代码来描述十分复杂的硬件电路。
VHDL 语言设计方法灵活多样,既支持自顶向下的设计方式,也支持自底向上的设计方法;既支持模块化设计方法,也支持层次化设计方法。
VHDL语法入门

1.1 VHDL程序构件
配置说明
将具体的构造体分配给实体说明 示例
configuration conf1 of xor_gate is for data_flow end for; end conf1;
configuration conf2 of xor_gate is for structure end for; end conf1;
字符串
被双引号括起来的ASCII字符,如,“Hello”;
位串
被双引号括起来的数字序列,其前冠以基数说明符;如, B“0110_1111”,O“117”,X“FFE0”;
1.2 文法规则
文法格式
关键字、标识符:不区分大小写; 注释:‘--’,且只在该文本行有效; 分隔:‘;’为行分隔,VHDL的语句行可写在不同文本行
[端口说明;]
end [设计实体名] ;
1.1 VHDL程序构件
1.1 VHDL程序构件 IN
从外部输入至实体; 单向端口;
entity
1.1 VHDL程序构件 OUT
从实体输出至外部; 单向端口;
entity
1.1 VHDL程序构件 INOUT
可以从外部输入至实体; 也可以从实体输出至外部; 双向端口;
变量:
用于进程、子程序等模块的内部; 局部性数据对象;
1.3 数据对象及类型
例子:信号与变量
p2: process(a) variable tmp: integer:=1; begin tmp:=tmp*2; c2<=a+tmp; end process; end;
entity exmp1 is port(a: in Integer; b: out Integer); end; architecture behv of exmp1 is signal c1,c2: Integer; begin b<=c1+c2; p1: process(a) variable tmp: integer:=0; begin tmp:=tmp+1; c1<=a+tmp; end process;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一·1。
数据类型BIT与STD_LOGIC有什么区别。
BIT类型的取值只能是0或1,没有不定状态X,也没有高阻态。
STD_LOGIC类型可以有9种不同的值,包括U—初始值,X-不定,0-0,1—1,Z—高阻态,W—弱信号不定,L—弱信号0,H弱信号1。
‘—’不可能情况.2.信号和变量的异同。
信号是全局量,只要在结构体中已经定义,就可以在结构体中的所有地方使用,信号的赋值符号是”〈=”,信号带入时可以附加延时,信号实际带入过程和带入语句的处理时分开进行的。
变量是局部量,只能在进程,子程序内部定义和使用,变量的赋值符号是“:=",变量的赋值是立即执行的,不能附加延时。
3.VHDL语言的基本顺序语句和并行语句有哪些?双性语句:信号带入语句顺序语句:WHAT语句,断言语句,变量赋值语句,IF语句,CASE语句,LOOP语句,NEXT语句,EXIT语句,过程调用语句,NULL语句。
并行语句:进程(PROCESS)语句,条件带入语句,选择信号带入语句,并发过程调用语句,块语句。
4.用VHDL语言进行硬件设计的流程是什么?1。
分析实际的需求2确定芯片的功能3。
用VHDL 语言描述改元件4.编译,如果有错误修改后再编译直至编译通过。
5。
仿真,如果仿真不符合设计要求,修改程序直至仿真通过。
6。
测试7.综合,8.下载到实际的芯片上。
5.基本的硬件描述语言的种类有哪些?美国国防部开发的VHDL。
Verilog公司开发的Verilog-HDL.日本电子工业振兴协会开发的UDL/I语言。
6.VHDL语言中包含的库的种类有哪些?库:是经编译后的数据的集合,它存放包集合定义,实体定义,构造体定义,和配置定义。
库的种类:1.IEEE库,2。
STD库,3。
面向ASIC 的库,4.WORK库,5。
用户定义库7.IEEE库中所包含的基本类型转换函数有1。
包含程序所用的库LIBRARY IEEE;USE IEEE.STD_LOGIC_1164。
ALL;USE IEEE。
STD_LOGIC_UNSIGNED。
ALL;2.实体声明ENTITY fp ISPORT();END ENTITY fp;3.结构体,具体功能的实现ARCHITECTURE a OF fp ISBEGINEND ARCHITECTURE a;9。
VHDL的程序子结构有哪些?进程(PROCESS)顺序语句,块(BLOCK)并行语句,过程(PROCEDURE)顺序语句,函数(顺序语句)。
10.简述when-else和if-else的区别?If-else是顺序语句所以只能在进程内部使用,可以没有else语句,可以进行嵌套。
有自身值带入的描述,能组成锁存电路。
When—else是并行语句,在结构体内使用,必须要有else语句,不能进行嵌套,没有自身值带入的描述,不能组成锁存电路.11。
什么是ASIC,ASIC的特点是什么?ASIC是Application Specific Integrated Circuit 的英文缩写,在集成电路界被认为是一种为专门目的而设计的集成电路.ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。
12.逻辑电平有哪些?逻辑电平:有TTL、CMOS、LVTTL、ECL、PECL、GTL;RS232、RS422、LVDS等。
·其中TTL和CMOS的逻辑电平按典型电压可分为四类:5V系列(5V TTL和5V CMOS)、3.3V 系列,2.5V系列和1.8V系列。
·5V TTL和5V CMOS逻辑电平是通用的逻辑电平。
13.TTL电平和CMOS电平可以互联吗?数字电路中TTL电平是个电压范围,规定输出高电平>2.4V,输出低电平<0。
4V。
在室温下,一般输出高电平是3.5V,输出低电平是0.2V.CMOS电平在不同的电路中是0v—5v或者0v-12v。
所以可以用CMOS电平驱动TTL电平器件,但是TTL 电平驱动CMOS电平器件时须加上拉电阻。
二·用VHDL语言描述给定电路,或写出给定电路的功能或输出。
三.程序改错。
四.注释程序.五.程序同功能语句替换。
六.元件例化连接器件.程序例子:IF语句:(1)IF(sel='0’)THENy〈=’1’;END IF;(2)IF (sel=’0')THENy<='0' ;ELSEy〈=’1';END IF;(3)IF(sel="00")THENy〈=”01";ELSIF(sel=”01”)THENy〈=”10”……ELSEy<="11;END IF;CASE语句:CASE sel ISWHEN “00”=>y<=”00";WHEN “01”=>y<="10”;WHEN “11"=〉y〈=”11”;END CASE;FOR语句:FOR i IN 0 TO 7 LOOPtmp:=tmpXORa(i);END LOOP; WHILE语句:WHILE(i〈8)LOOPtmp:=tmpXORa(i);i:=i+1;END LOOP;WHEN-ELSE语句(类似if-else):q<=i0 WHEN sel=”00” ELSEi1WHEN sel=”01" ELSEi2WHEN sel="10” ELSEi3 WHEN sel="11” ELSE‘X’;WITH—SELECT语句:(类似CASE语句)WITH sel SELECTq〈=i0 WHEN “00” ,i1 WHEN “01” ,i2 WHEN “10”,i3 WHEN “11” ,‘X'WHEN OTHERS ;分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE。
STD_LOGIC_UNSIGNED。
ALL;ENTITY fp ISPORT(clk: IN STD_LOGIC;fp1024,fp512,fp64,fp4,fp1: OUT STD_LOGIC); END ENTITY fp;ARCHITECTURE a OF fp ISSIGNAL buf:STD_LOGIC_VECTOR(9 DOWNTO 0);BEGINfp1<=buf(9);fp4<=buf(7);fp64〈=buf(3);fp512<=buf(0);fp1024<=clk;PROCESS(clk) ISBEGINIF(clk’EVENT AND clk=’1’) THENIF(buf="1111111111") THEN LIBRARY IEEE;报时电路USE IEEE.STD_LOGIC_1164。
ALL;USE IEEE。
STD_LOGIC_UNSIGNED。
ALL;ENTITY bs ISPORT(min,sin: IN STD_LOGIC_VECTOR(7 DOWNTO 0);clk,bs512,bs1024: IN STD_LOGIC;bsout: OUT STD_LOGIC);END ENTITY bs;ARCHITECTURE a OF bs ISBEGINPROCESS(clk) ISBEGINIF(clk’EVENT AND clk='1’) THENIF(min=”01011001”) THENCASE sin ISWHEN "01010000”=>bsout〈=bs512;WHEN ”01010010"=〉bsout〈=bs512;WHEN ”01010100"=〉bsout<=bs512;WHEN ”01010110"=>bsout<=bs512;WHEN "01011000"=〉bsout〈=bs512;WHEN ”01011001"=>bsout〈=bs1024;WHEN OTHERS=〉bsout<='0’;END CASE;END IF;END IF;END PROCESS;END ARCHITECTURE a;buf〈="0000000000”;ELSEbuf<=buf+’1’;END IF;END IF;END PROCESS;END ARCHITECTURE a;元件例化LIBRARY IEEE;USE IEEE。
STD_LOGIC_1164。
ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count60 ISPORT(clkin,en,res: IN STD_LOGIC;bs0,bs1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);cyout: OUT STD_LOGIC);END ENTITY count60;ARCHITECTURE count OF count60 ISCOMPONENT count10 ISPORT(clk,enable,reset: IN STD_LOGIC;b0: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);cy: OUT STD_LOGIC);END COMPONENT;SIGNAL count4:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL clk1,cy1:STD_LOGIC;BEGINbs1<=count4;cyout〈=cy1;u0:count10 PORT MAP(clk=>clkin,cy=>clk1,reset=>res,enable=〉en,b0=〉bs0);PROCESS(clk1,res,en) ISBEGINIF(res='0') THENcount4<="0000”;ELSIF (clk1'EVENT AND clk1='1') THENIF(en)=’1’ TH ENIF(count4=”0110”) THENcount4〈="0000”;cy1〈=’1';ELSEcount4〈=count4+’1’;cy1<='0';END IF;END IF;END IF;END PROCESS;END ARCHITECTURE count;。