硬件描述语言VHDL大总结
VHDL语言介绍

VHDL语言介绍VHDL(VHSIC Hardware Description Language)是一种硬件描述语言,用于描述数字电路的结构和行为。
它是一种高级编程语言,用于描述数字系统中的硬件功能。
VHDL是一种被广泛应用于数字系统设计的硬件描述语言,它可以用于描述数字系统的结构和功能,并且允许进行仿真、综合和验证。
VHDL最初是由美国国防部(DoD)为了应对不同供应商生产的不同硬件之间互通性的问题而开发的。
它提供了一种用于描述数字电路的方法,可以在不同供应商的工具之间进行交换。
VHDL已成为一种行业标准,在数字系统设计领域被广泛应用。
VHDL的语法类似于Ada编程语言,它使用关键字、运算符和数据类型来描述数字系统中的硬件元素。
VHDL中的关键概念包括实体(entity)、架构(architecture)和过程(process)。
实体描述了数字系统的接口和功能,架构描述了数字系统的内部结构和行为,而过程描述了数字系统中的操作和控制。
VHDL主要有两种用途,一是用于模拟和验证数字系统的功能,二是用于综合数字系统的设计,生成实际的硬件电路。
在模拟和验证阶段,设计师可以使用VHDL描述数字系统的功能,并通过仿真工具对其进行验证。
在综合阶段,设计师可以使用VHDL描述数字系统的结构,并通过综合工具生成对应的硬件电路。
VHDL的优点在于其强大的表达能力和灵活性。
设计师可以使用VHDL描述各种复杂的数字系统,包括处理器、通信接口、存储器等。
VHDL还提供了丰富的数据类型和运算符,使设计师可以轻松地描述数字系统中的各种操作。
除了描述数字系统的结构和行为,VHDL还提供了丰富的标准库和模块化编程的方法。
设计师可以使用标准库中提供的各种功能模块来加速开发过程,并且可以将自己设计的模块封装成库以便重复使用。
VHDL还支持面向对象的设计方法,设计师可以使用面向对象的技术来组织和管理复杂的数字系统。
通过使用面向对象的方法,设计师可以将数字系统分解成多个模块,每个模块都有自己的接口和功能,并且可以通过继承和复用来简化设计过程。
vhdl实验报告

vhdl实验报告VHDL实验报告引言:VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,广泛应用于数字电路设计和仿真。
本篇实验报告将介绍我在VHDL实验中的学习和实践经验,包括实验目的、实验过程、实验结果以及对VHDL的理解和展望。
一、实验目的VHDL实验的主要目的是让我们掌握VHDL语言的基本语法和使用方法,能够利用VHDL描述数字电路,并通过仿真和综合工具进行验证和实现。
通过这些实验,我们可以深入了解数字电路的原理和设计方法,提高我们的逻辑设计能力和工程实践能力。
二、实验过程在实验过程中,我们首先学习了VHDL的基本语法,包括实体声明、端口声明、信号声明等。
然后,我们通过实例学习了VHDL的建模方法,包括组合逻辑电路的建模和时序逻辑电路的建模。
在组合逻辑电路的建模中,我们学习了使用逻辑运算符和条件语句描述电路的功能;在时序逻辑电路的建模中,我们学习了使用过程语句和时钟信号描述电路的状态转换。
在学习了VHDL的基础知识后,我们开始进行实验设计。
我们选择了一个简单的数字电路,如4位加法器,来进行实验验证。
首先,我们通过VHDL语言描述了加法器的功能和结构,包括输入端口、输出端口和中间信号。
然后,我们使用仿真工具进行了功能仿真,验证了加法器的正确性。
接着,我们使用综合工具将VHDL代码综合成门级电路,并进行了时序仿真和时序优化,验证了加法器的时序正确性和性能。
三、实验结果通过实验,我们成功地实现了4位加法器的功能,并验证了其正确性和性能。
在功能仿真中,我们输入了不同的测试数据,观察了输出结果,发现加法器能够正确地进行加法运算,并得到了正确的结果。
在时序仿真中,我们观察了电路的时序行为,包括输入信号的变化、输出信号的响应和中间信号的传播延迟等,发现加法器能够在时序上满足要求,并且具有较好的性能。
第3章 硬件描述语言VHDL

3)变量 (Variable) 变量只在给定的进程中用于声明局部值,它的作 用范围也仅限于定义变量的模块。 变量的描述格式: VARIABLE变量名:数据类型:=初始值 变量的赋值: 变量名:= 表达式;
3
VHDL数据类型
(1)常用标准的数据类型(VHDL预定义) ①整数(integer)整数的表达范围为: -2147483647(-231)—2147483647(231) 可用32位有符号的二进制数表示,但不能按位进行 访问。 ②实数(real)如: 66.36、8#43.6#E+4。 ③位(bit),取值:0或1。 ④位矢量(bit_vector),是用双引号括起来的一组 “位”数据。 例如 : “0000”,位矢量使用时一般要注明位宽, 即元素的个数和排列。 例如: signal a : std_logic_vector (7 downto 0);
配置(Configuration) 声明实体与结构体之间的连接关系
2.实体 实体是设计中最基本的模块。 实体实体中定义了该设计所需的输入/输出信号,信 号的输入/输出类型(即端口模式)及数据类型。 1)实体的格式如下: entity <entity_name实体名>is port <port list for your design,列出设计的输入/输出 信号端口> end <entity_name>;
2)结构体构成示意图 :
结构体(Architecture)
声明部分(Declarations) 信号声明;声明用于该结构体的类型,常数,元件,子程序。
并行语句
VHDL硬件描述语言

VHDL语言设计实体的基本结构
3. 结构体说明语句 用于定义结构体中所用的数据对象和子程序, 并对所引用的元件加以说明,如: ● 信号(SIGNAL)
● 类型(TYPE)
● 常数(CONSTANT) ● 元件(COMPONENT) ● 函数(FUNCTION) ● 过程(PROCEDURE)
28
3
概 述
1993年,IEEE对VHDL进行了修订,增加了一些 功能,并从更高的抽象层次和系统描述能力上扩展 VHDL的内容,公布了VHDL新的版本,编号为IEEE Std1076-1993(简称93版)。 1995年中国国家技术监督局组织编写并出版了 《CAD通用技术规范》,推荐VHDL语言作为我国电子 自动化硬件描述语言的国家标准。1996年, IEEE1076.3成为VHDL综合标准。
结构体:用来描述电路内部结构和逻辑功能。并以 标识符ARCHITECTURE开头,以END结尾。
14
VHDL语言设计实体的基本结构
VHDL语言的实体说明
实体说明是VHDL程序设计中最基本的组成部分, 实体说明语句的格式如下: 主要用来描述设计实体的外部接口信号,定义设计 实体说明语句 ENTITY 实体名 IS 单元的输入、输出端口,是设计实体对外的一个通 类属说明语句 [GENERIC(类属表);] 信界面,但它不描述设计的具体功能。 端口说明语句 [PORT(端口表);] 结束语句 END [ENTITY] 实体名;
{; 常数名{, 常数名}: 数据类型[: 设定值]}) 常数名:是由设计者定义的类属常数名; 数据类型:常取INTEGER或TIME的类型; 设定值:为常数名所代表的数值。
17
VHDL语言设计实体的基本结构
2. 类属说明语句GENERIC
VHDL硬件描述语言实验报告

硬件描述语言实验附录姓名:xxx学号:xxx指导教师:xxx目录硬件描述语言实验附录 (1)实验1.三输入与门电路实验 (2)实验2. 三—八译码器实验 (3)实验3. D触发器实验 (4)实验4. 分频器实验 (5)实验5. 状态机实验 (8)实验1.三输入与门电路实验--三输入与门电路threeinput--姓名:王定--学号:1306034248--中北大学LIBRARY IEEE; --调用库USE IEEE.STD_LOGIC_1164.ALL;--库文件--------------------------------------------------------------ENTITY threeinput IS --定义实体名,其名称必须与VHDL文本文件名称相同PORT( A: IN STD_LOGIC; --输入端口,时钟输入B: IN STD_LOGIC; --输入端口,个位写入使能C: IN STD_LOGIC; --输入端口,十位写入使能CO: OUT STD_LOGIC); --输出端口,溢出标志END ENTITY threeinput; --结束端口定义--------------------------------------------------------------ARCHITECTURE RTL OF threeinput IS--定义结构体BEGINPROCESS(A,B,C) IS --开始,必须带上BEGINCO<=A AND B AND C ;END PROCESS;END ARCHITECTURE RTL; --结束结构体表1. 三输入与门电路VHDL实验代码图1. 三输入与门电路仿真波形图,A,B,C输入,CO输出实验2. 三—八译码器实验--王定--2015年11月25日--3线-8线译码器LIBRARYIEEE; --调用库USEIEEE.STD_LOGIC_1164.ALL; --库文件-------------------------------------------------------------ENTITYthreetoeightISPORT(DA TAIN:INSTD_LOGIC_VECTOR(2DOWNTO0);--数据输入DA TAOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--数据输出ENDENTITYthreetoeight; --结束实体-------------------------------------------------------------ARCHITECTUREBEHA VEOFthreetoeightIS--结构体BEGIN --不能漏掉PROCESS(DATAIN) --数据输入BEGIN --开始,不能漏掉CASEDATAINIS --情况判定WHEN"000"=>DA TAOUT<="00000001";WHEN"001"=>DA TAOUT<="00000010";WHEN"010"=>DA TAOUT<="00000100";WHEN"011"=>DATAOUT<="00001000";WHEN"100"=>DA TAOUT<="00010000";WHEN"101"=>DA TAOUT<="00100000";WHEN"110"=>DATAOUT<="01000000";WHEN"111"=>DA TAOUT<="10000000";WHENOTHERS=>null;ENDCASE;ENDPROCESS;ENDBEHA VE;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decoder_3_to_8 ISPORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC;y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END decoder_3_to_8;ARCHITECTURE rtl OF decoder_3_to_8 ISSIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0);BEGINindata <= c & b & a;PROCESS (indata,g1,g2a,g2b)BEGINIF (g1 = '1' AND g2a = '0' AND g2b = '0' ) THENCASE indata ISWHEN "000" => y <= "11111110";WHEN "001" => y <= "11111101";WHEN "010" => y <= "11111011";WHEN "011" => y <= "11110111";WHEN "100" => y <= "11101111";WHEN "101" => y <= "11011111";WHEN "110" => y <= "10111111";WHEN "111" => y <= "01111111";WHEN OTHERS=>y<= "XXXXXXXX";END CASE;ELSEY <= "11111111";END IF;END PROCESS;END rtl;表2. 三—八译码器VHDL实验代码图2. 三—八译码器仿真波形图--异步复位/置位的D触发器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff3 ISPORT(clk,d,clr,pset:IN STD_LOGIC;q : OUT STD_LOGIC);END dff3;ARCHITECTURE rtl OF dff3 ISBEGINPROCESS (clk,pset,clr)BEGINIF (pset='0') THENq<='1';ELSIF (clr='0') THENq<='0';ELSIF (clk'EVENT AND clk='1') THENq<=d;END IF;END PROCESS ;END rtl; --同步复位的D触发器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY dff4 ISPORT(clk,d,clr:IN STD_LOGIC;q : OUT STD_LOGIC );END dff4;ARCHITECTURE rtl OF dff4 ISBEGINPROCESS (clk)BEGINIF (clk'EVENT AND clk='1') THENIF (clr='0') THENq<='0';ELSEq<=d;END IF;END IF;END PROCESS ;END rtl;表3. 异步和同步D触发器VHDL实验代码图3. 异步触发器仿真波形图图4. 同步触发器仿真波形图--四分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;----------------------------------------------ENTITY clk_div ISPORT(clk: IN STD_LOGIC;--时钟输入clk_div2: OUT STD_LOGIC;clk_div4: OUT STD_LOGIC;clk_div8: OUT STD_LOGIC;clk_div16: OUT STD_LOGIC);END ENTITY clk_div;---------------------------------------------------ARCHITECTURE rtl OF clk_div ISSIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0);--定义一个四位的信号BEGINPROCESS(clk)BEGINIF(clk' event AND clk ='1') THEN--上升沿到来IF (count="1111") THEN--达到最大计数值count<="0000"; --置零ELSEcount<=count+1; --计数END IF;END IF;END PROCESS;clk_div2<=count(0); --2分频clk_div4<=count(1); --4分频clk_div8<=count(2); --8分频clk_div16<=count(3); --16分频END rtl;表4. 四分频器VHDL实验代码图5. 四分频器仿真波形图TMP1<= '0'; --置0,带入语句滞后ELSETMP1<= '1'; --置1END IF;END IF;END IF;END PROCESS;---------------------------------------------PROCESS(CLKIN,RST)BEGINIF RST ='1'THEN --复位有效COUNT2 <= "00000000"; --立即清零TMP2<= '1';ELSIF CLKIN'EVENT AND CLKIN='0' THEN --下降沿到来IF COUNT2 = "00000100" THEN --100==4(5个数据)COUNT2 <= "00000000";ELSECOUNT2 <= COUNT2 + 1;IF COUNT2 < "00000010" THEN --10==2(三个下降沿),小于三个上升沿时,始终置0,三个下降沿对应6分频TMP2<= '1';ELSETMP2<= '0';END IF;END IF;END IF;END PROCESS;END RTL;--信号是等待整个进程结束完后,再赋值图6. 五分频器仿真波形图实验5. 状态机实验ST <= S3; END IF; OP <= '1'; WHEN S3=> IF X = '0' THEN ST <= S3; ELSE ST <= S0; END IF; OP <= '0'; END CASE; END IF; END PROCESS STATE_COMP;END ARCHITECTURE A;END IF; END CASE; END IF;END PROCESS state_comp; END a;表6. moore 与mealy 状态机VHDL 实验代码图7. moore 型状态机VHDL 实验代码图8. mealy 型状态机仿真波形图。
VHDL硬件描述语言(2)完

3.4.1 对象与赋值语句
1、VHDL中常用的 5 种对象: 1)简单名称,如 my_var; 2)索引名称,如 my_array_var(3); 3)片断名称,如 my_array_var(3 to 6); 4)记录域名,如 my_record.a_field; 5)集合,如(my_var1, my_var2)。 所有对象均分为:变量和信号 对象 := 表达式; -- 变量赋值 对象 < = 表达式; -- 信号赋值 要求:表达式的值必须与对象的类型、宽度一致。
output: out std_logic_vector(2 downto 0)); end coder;
20
architecture art of coder is begin process(input) begin if input(7)=„0‟ then output<=“000”; elsif input(6)=„0‟ then output<=“001”; elsif input(5)=„0‟ then output<=“010”; elsif input(4)=„0‟ then output<=“011”;
when
when
值 => 顺序处理语句;
值 to 值 => 顺序处理语句;
when
值|值|值|…|值 => 顺序处理语句;
以上三种方式的混合;
when
others => 顺序处理语句;
24
Case 语句使用注意:
1)分支条件的值必须在表达式的取值范围内。 2)两个分支条件不能重叠。 3)CASE语句执行时必须选中,且只能选中 一个分支条件。
22
2、 case 语句
vhdl语言

VHDL语言简介VHDL(VHSIC Hardware Description Language)即可高速集成电路硬件描述语言,是一种用于描述数字系统和电路的硬件描述语言。
它在1981年由美国国防部的高速集成电路联合委员会(VHSIC)开发,用于设计大规模集成电路。
VHDL是一种面向对象的语言,可以用于描述各种数字系统,从简单的逻辑门到复杂的处理器。
它提供了丰富的语法和语义,使得设计人员可以准确地描述他们的电路和系统。
VHDL的优势VHDL作为一种硬件描述语言,在数字系统设计中具有许多优势。
1.可重用性:VHDL允许设计人员创建可重用的模块和子系统,这些模块和子系统可以在不同的项目中重复使用,提高了设计效率和可维护性。
2.仿真和验证:VHDL具有强大的仿真和验证能力,可以在设计之前对系统进行全面的仿真和验证。
这有助于检测和纠正潜在的问题,并确保系统在硬件实现之前达到预期的功能。
3.抽象级别:VHDL允许设计人员在不同的抽象级别上描述系统,从高级的行为级别到底层的结构级别。
这使得设计人员可以根据需要在不同的级别上工作,并且可以更容易地进行系统级别的优化。
4.灵活性和可扩展性:VHDL支持灵活的设计方法和工作流程,并允许设计人员在设计过程中进行迭代和修改。
它还可以与其他常用的设计工具和方法集成,以满足特定的需求。
VHDL语言的基本结构VHDL语言由模块、实体、架构以及信号和过程等基本元素组成。
模块(Module)模块是VHDL中描述数字系统的最基本单位。
一个模块可以包含多个实体和架构,并通过连接信号进行通信。
每个模块都有一个顶层实体和一个或多个架构。
实体(Entity)实体是描述模块的接口和行为的抽象。
它定义了输入输出端口,以及模块对外部环境的接口。
一个实体可以有一个或多个架构。
架构(Architecture)架构描述模块的具体行为和内部结构。
它定义了模块的内部信号和过程,以及对外部信号和过程的接口。
VHDL是一种硬件描述语言(课程总结)

VHDL是一种硬件描述语言,用于对电子电路和系统的行为进行描述。
VHDL是VHSIC Hardware Description Language的缩写。
所有的VHDL代码都可以仿真,但不是所有的VHDL代码都可以综合。
V ery high speed integrated circuitVHDL和V erilog HDL都与工艺和工具无关,可以方便的进行移植和重用。
可编程逻辑器件包括:复杂可编程逻辑器件(CPLD:Complex Programmable Logic Devices),现场可编程门阵列(FPGA:Field Programmable Gate Arrays)。
VHDL语言从根本上讲是并发执行的。
因此常称之为代码,而不是程序。
VHDL中,只有在进程(PROCESS)、函数(FUNCTION)、和过程(PROCEDURE)内部的语句才是顺序执行的。
第二章VHDL代码结构VHDL代码的三个基本组成部分:库(LIBRARY)声明、实体(ENTITY)、构造体(ARCHITECTURE)库声明:列出当前设计中需要的所有库文件实体:定义电路的I/O引脚;构造体:包含的代码描述电路要实现的功能。
库的建立有利于设计重用和代码共享同时使代码结构更加清晰常用库:IEEE库,Std库,work库std_logic_1164:当用到std_logic及其衍生类型时,需要声明;std_logic_arith:定义了signed和unsigned类型和相关算数运算和比较运算。
std_logic_signed:使std_logic_vector 类型的数据同signed一样执行。
std_logic_unsigned:std ,work库在程序中都是默认可见的,直接使用就可,不需要再对其进行声明;只有ieee库在使用前需要声明。
实体(ENTITY)用来描述电路所有的输入/输出引脚,端口的信号模式4种:IN,OUT,INOUT,BUFFER。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VHDL大总结一、填空题1.两种标识符短、扩展2.4种基本数据类型常量、变量、信号、文件3.常量说明格式constant 常数名: 数据类型:=表达式;4.三种数据变换方法?函数转换、常数转换、类型标记5.四种运算操作符?逻辑、关系、算术、并置6.如何启动进程?(1).必须包含一个显示的敏感信号变量(2).或者包含一个wait语句7.五种基本结构?库(library)、包集合(package)、实体(entity)、结构体(architecture)、配置(configuration) 8.信号与变量代入?(1).<=(2).:=9.列举可编程逻辑器件?PROM→PLA→PAL→CPLD→FPGA→EPROM→EEPROM→GAL10.数据类型整数、位、位矢量、符号、布尔量、时间、错误等级、标准逻辑11.四种端口模式?IN—OUT—INOUT—BUFFER12.三种子结构描述语句?BLOCK—PROCESS—SUBPROGRAMS13.结构体三种描述方式寄存器传输(RTL)--数据流、结构描述、行为描述14.标识符规则?(1).不以数字靠头(2).下划线不连续(3).不与保留字重复(4).下划线前后必须有英文字母或者数字(5).最后一个不能使用下划线(连字符)15.扩展标识符\12@+\16.赋值?(1).信号、变量可以多次赋值(2).常量只能定义时赋值(进程内部,子函数内部)17.高阻、不定态?'Z'------------'X'18.进程位置?结构体内部19.变量位置?进程内部---包内部----子程序内部20.进程执行机制?敏感信号发生跳变21.优先级?if语句之间具有不同优先级22.时序电路的去驱动信号?时钟23.时序电路在何时发生变化?时钟信号的边沿24.两种状态机?(1).moore-----f(现状)(2).mealy-----f(现状,输入)25.什么有九值逻辑标准逻辑(STD_LOGIC)26.定义信号a,4位标准逻辑向量?SIGNAL A : STD_LOGIC_VECTOR(3 DOWNTO 0);27.定义变量b,整型,范围0 到9SIGNAL B: TNTEGER RANGE 0 TO 9;28.空操作?NULL29.CPLD与FPGA?(1).基于乘积项技术—内带存储(2).基于查找表技术—需要外部扩展存储,比如扩展EEPROM30.IF语句三种类型?(1).门闩(shuan)控制(2).二选一控制(3).多选一控制31.常用库与包集合?LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;32."/="的功能?在条件判断时判断操作符两端不相等33.串行与并行?(1).赋值语句—并行(2).IF语句------串行二、判断题1.缺少库文件LIBRARY IEEE2.缺少包集合USE IEEE.STD_LOGIC_1164.ALL3.实体定义的分号问题port(aaa;bbb;ccc);或者port(aaa;bbb;ccc);4.带入语句问题(1).信号---<=(2).变量---:=5.引号问题?(1).字符----' '(2).字符串----" "6.末尾分号问题(1).END CASE;(2).END PROCESS;7.PROCESS必须赶上敏感信号?包含W AIT ON语句可以不列出8.VHDL与C语言没差别?(1).运行基础—CPU+RAM;逻辑、触发器组成的数字电路(2).执行方式---串行;并行(3).验证方式---变量值;时序逻辑关系9.进程之间传递用信号,非变量10.默认值数值型变量默认为0---------- 不要加引号(位变量)11.类型定义?type wr is (wr0, wr1, wr2);定义的是类型需要为该类型定义对象才可以赋值12.设计方法?(1).传统------------自下至上(2).VHDL----------自上至下13.层次设计?高层次可以调用低层次14.进程语句数量一个程序可以多个进程语句15.运算符优先级NOT>乘法>正负>关系>逻辑16.signalsel : integer?right17.进程内和进程外?原则上不一致,在没有敏感信号的前提下,可以认为一致18.定义实体至少包含一条port map?false19.时间效率?状态机比计数器更有效,更紧凑三、简答题1.名称映射与位置映射?(1).名称:COM1 : U1 PORT MAP (A<=N1,B<=N2,C<=N3);(2).位置:PORT(A,B:IN BIT;C:OUT BIT);引用时:U2:AND2 PORT MAP(NSEL, D1,AB);2.调用库里面包含的元件的方法?(1).COMPONENT(2).PORT MAP3.信号与变量的区别?(1).信号延时赋值,变量立即赋值(2).<=; :=(3).信号在器件内部相当于连线,变量没有(4).信号在结构体内定义,而变量在PROCESS中定义4.三种描述方式的区别?5.条件带入语句与条件语句的区别?(1).后者只能在进程内部使用(2).带入语句必须有ELSE,而条件语句可以没有(3).带入语句不能嵌套,而条件语句可以6.两种状态机的区别?7.简述CPLD与FPGA?(1).CPLD—乘积项技术—(2).FPGA—查找表技术--需要配置外部程序寄存芯片8.进程语句的特点?(1).并发执行,信号传递,可以存取结构体或实体中所定义的信号(2).内部语句都是顺序执行(3).启动进程--必须包含敏感信号或者wait语句9.简述VHDL基本结构库、包集合、实体、结构体、配置10.可编程逻辑器件的优点?(1).集成度高—可以替代几千块通用芯片(2).完善先进的开发工具(3).可以反复擦除、编程,方便设计和修改(4).可以灵活的定义管脚(5).保密性很好四、编程题1.二选一电路ENTITY MUX ISPORT(D0:IN BIT;D1:IN BIT;SEL:IN BIT;Q:OUT BIT);ARCHITECTURE CONNECT OF MUX IS SIGNAL TEMP1,TEMP2,TEMP3:BIT; BEGINCALE:BLOCKBEGINTEMP1<=D0 AND SEL;TEMP2<=D1 AND (NOT SEL);TEMP3<=TEMP1 OR TEMP2;Q<=TEMP3;END BLOCK CALE;END CONNECT;END CONNECT;2.四选一电路3.四位加法计数器4.八-三编码器5.四位逐位进位全加器6.数值比较器7.三-八译码器8.二-十(BCD)优先权编码器9.精确计时电路10.触发器11.四状态循环12.异或门设计13.二输入与非门14.三态门15.6分频器16.二-四译码器17.四-十六译码器18.8进制异步复位计数器五、附加19.I F语句门闩控制IF (A='1') THENC<=B;END IF;二选择控制IF (SEL='1') THEN***;ELSE***;END IF ;多选择控制IF ** THENXXX;ELSIF **THENXXX;ELSEXXX;END IF;20.C ASE语句CASE SEL ISWHEN 0=>Q<=I0;WHEN 1=>Q<=I1;WHEN OTHERS=>Q<="XXXXXX"; END CASE;21.并发信号带入语句实质是一个进程语句的缩写22.条件信号带入语句Q<=I0 WHEN SEL="00" ELSEI1 WHEN SEL="01" ELSE'X';23.选择信号带入语句WITH SEL SELECTQ<=I0 WHEN 0,I1 WHEN 1,I2 WHEN 2,'X' WHEN OTHERS;。