




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子系统结构设计与自动化课堂讲义第一部分 EDA基础知识电子设计自动化(Electronics Design Automation)简称EDA。EDA技术是现代电子设计领域流行的、电子设计工程技术人员必备的技术;主要涉及全定制的专用集成电路(ASIC)设计、可编程ASIC设计以及用通用标准器件设计电子系统等三方面的技术,实质上就是利用计算机及EDA工具进行各类电子系统设计的方法。第一章 可编程ASIC 与EDA技术1.1 电子系统设计与ASIC技术电子系统及其设计方法什么是电子系统通常将由电子元器件或模拟、数字电路部件组成的能够产生、传输、采集、处理电信号及信息的客观实体称为电子系统。例如,各类通信系统、雷达系统、计算机系统、电子测量系统、自动控制系统等等。1)通信系统移动电话是包括发射机、接收机、微型计算机、音频及数字处理(DSP)、用户身份卡(SIM)等子系统的复杂电子系统。2)自动控制系统该系统是由计算机控制的电动机转速调节系统,由五个子系统组成。子系统的类型有数字的、模拟的和数字模拟混合的(如数字转速计及D/A部件)。3)家庭电子设备(DVD播放机)4)计算机系统1. 电子系统结构具有层次性一般地,复杂电子系统在结构上具有层次性。它是由若干子系统组成,每个子系统又可以分解为若干子部件。如微型计算机子系统是由微处理器、存储器、键盘、显示器等部件组成,每个部件又可分解为由许多元件组成的电路。构成电子系统的子系统的类型有:模拟子系统、数字子系统、微处理器子系统、模/数混合子系统、DSP子系统。2. 电子系统的设计方法电子系统的设计包括两种设计方法:“自底向上”的系统设计方法、“自顶向下”的系统设计方法。1)传统的系统设计方法(自底向上Bottom up)Bottom_up系统分解单元设计功能块设计子系统设计系统总成搭积木式的设计方法。根据系统对各功能的要求,首先选择现有的可用的元器件来设计各个部件(模块电路),由若干部件连接成子系统,直至系统要求的全部功能都实现。 “自底向上” 的设计流程如下所示。最终设计的电子系统是通过印刷电路板形式来实现系统功能。 2)基于芯片的系统设计方法(自顶向下Top down)由整机系统用户对整个系统进行方案设计和功能划分,将系统划分为一个个能实现某一功能的相对独立的子系统;子系统的划分、定义和互连关系明确后,就下到部件级进行设计,设计或选用一些部件组成实现各个子系统;部件级的设计完成后,进行元件级设计,选用合适的元件来设计实现各功能部件。“自顶向下” 的设计流程如下图所示。只有当整个设计在概念上得到验证与优化后,才能考虑“采用什么电路、元器件和工艺来实现该设计”这类具体问题。该方法的存在源于ASIC技术。系统的关键电路用一片或几片ASIC实现;ASIC设计包括:行为设计、结构设计、逻辑设计、电路设计、版图设计。芯片版图设计完成后,交IC工厂投片加工,或用可编程ASIC现场编程实现。Top_down行为设计结构设计逻辑设计电路设计版图设计“自顶向下”设计方法的优越性a)顶层的功能描述不受底层芯片结构的约束,避免了传统设计方法中的再设计风险,缩短产品的上市周期。b)各模块可以独立存档,将以前成功的设计成果稍加修改、组合就能再利用产生新的设计模块。c)采用结构化开发手段,系统结构设计完成后,可以多人多任务的并行工作,提高效率。d)在选择实现系统的目标器件的类型、规模、硬件结构时具有更大的自由度。二、 ASIC的特点及其设计流程ASIC(专用集成电路-Application Specific Integrated Circuits)出现于20世纪90年代初期。是相对于通用集成电路而言,专门为用户设计、制造的芯片。1. ASIC的特点缩小体积、减轻重量、降低功耗。芯片内系统集成,外部连线少,可靠性高。系统设计、电路设计、工艺设计紧密结合,有利于获得高性能系统。可增强保密性2. ASIC的设计流程3.ASIC的不同设计方法有两种:全定制设计方法、半定制设计方法。1)全定制设计方法是基于晶体管级的设计方法,即设计人员要对ASIC芯片单元电路的结构、半导体晶体管的参数、布局布线等都进行的优化设计,以满足芯片最高速度、最低功耗和最省面积的设计要求。特点是:设计周期长,成本高。2)门阵列法(半定制方法之一)就是半导体厂家按照一定规格事先生产了称为“母片”的半成品芯片,母片上已经制作了大量规则排列的单元;用户的电子工程师定义器件功能后,由半导体厂家的工艺师根据用户的芯片功能要求,将母片上的一些单元相互连接实现ASIC电路。3)标准单元法(库元件半定制方法)半导体厂家已经有了许多标准单元库, ASIC设计时根据需要选择库中的标准单元构成电路,然后调用这些标准单元的版图,并利用自动布局布线软件完成电路到版图的对应设计。4)可编程逻辑器件法(可编程ASIC法、半定制方法之一)利用可编程器件,用户通过对它编程来实现所需要的逻辑功能。不需要IC厂家的参与就能在实验室完成设计与制作流片,而且可以反复编程。1.2 EDA技术的基本特征和工具 EDA技术是20世纪90年代初,从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)发展而来。EDA技术就是以计算机为工具,在EDA软件平台上对输入的设计文件自动完成逻辑编译、逻辑化简、逻辑分割、逻辑综合与优化、逻辑布局布线、逻辑仿真,直至对特定芯片的适配编译、逻辑映射和编程下载等工作。一、 EDA技术的范畴包括进行电子产品开发的全过程,以及电子产品生产过程中期望由计算机提供的各种辅助工作。目前的EDA软件有三种类型: 用于可编程ASIC的设计软件 用于ASIC器件设计的软件 用于系统仿真、PCB设计、混合电路设计等软件二、 EDA技术的基本特征1.在EDA软件中广泛采用“自顶向下”设计方法。2.用硬件描述语言进行电路与系统设计是当前EDA技术的一个重要特征。3.具有逻辑综合与优化功能。4.各厂商的使用和配置EDA软件包的规范要具有开放性和标准化。5.库的引入(仿真库、综合库、版图库、测试库等) 三、 EDA的基本工具1. 可编程逻辑器件设计流程与开发工具原理图/VHDL文本编辑综合FPGA/CPLD适配FPGA/CPLD编程下载FPGA/CPLD器件和电路系统时序与功能门级仿真1、功能仿真2、时序仿真逻辑综合器结构综合器功能仿真1) FPGACPLD设计流程图形输入 原理图输入 状态图输入 波形图输入2) FPGA/CPLD编程下载方式有:1、isp方式下载 2、JTAG方式下载 3、针对SRAM结构的配置4、OTP器件编程 n 设计输入(原理图HDL文本编辑)(1). 图形输入(2). HDL文本输入这种方式与传统的计算机软件语言编辑输入基本一致。就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL或Verilog的源程序,进行编辑输入。 可以说,应用HDL的文本输入方法克服了上述原理图输入法存在的所有弊端,为EDA技术的应用和发展打开了一个广阔的天地。n 综合整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相呼应的映射关系。n 适配适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于原综合器指定的目标器件系列。逻辑综合通过后必须利用适配器将综合后网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。n 时序仿真与功能仿真(1)时序仿真就是接近真实器件运行特性的仿真,仿真文件中己包含了器件硬件特性参数,因而,仿真精度高。(2)功能仿真就是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体器件的硬件特性。n 编程下载通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM进行直接下载的方式称为配置(Configure) 。FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:(1)将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。(2)将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。n 硬件测试最后是将含有载入了设计的FPGA或CPLD的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。当今广泛使用的以开发FPGA和CPLD为主的EDA工具,大致可以分为如下5个模块:设计输入编辑器、HDL综合器、仿真器、适配器(或布局布线器)、下载器。常见的EDA工具软件有:ALTERA:MAX+PLUSII、QUARTUSIILATTICE:isp EXPERT SYSTEM、isp Synario、 ispDesignExpert SYSTEM、ispCOMPILER、PAC-DESIGNERXILINX: FOUNDATION、ISEFPGA Compiler、FPGA Express、Synplify、Leonardo Spectrum .EDA公司有:CADENCE、EXEMPLAR、MENTOR GRAPHICS、OrCAD、SYNOPSYS、SYNPLICITY、VIEWLOGIC、.。1.3 可编程ASIC一、 概述可编程ASIC就是可编程逻辑器件。可编程逻辑器件的发展历程70年代80年代90年代PROM 和PLA 器件改进的 PLA 器件GAL器件FPGA器件EPLD 器件CPLD器件内嵌复杂功能模块的SoPC二、 可编程ASIC的发展趋势 向高密度、大规模的方向发展 向系统内可重构的方向发展 向低电压、低功耗的方向发展 向高速可预测延时器件的方向发展 向混合可编程技术方向发展第 二 部分 VHDL设计方法第二章 VHDL入门2.1 硬件描述语言(Hardware Description Language)1. 原理图输入与 HDL 文本输入设计的区别Graphic is what you draw is what you get“ tell me what hardware you want and I will give it to you”HDL is what you write is what functional you get“ tell me how your circuit should behave and the HDL compiler will give you the hardware that does the job”but the designer can not control how the circuit implement2. VHDL的含义VHSIC (Very High Speed Integrated Circuit)HardwareDescriptionLanguage3. VHDL发展历史1981年, 诞生于美国国防部赞助的研究计划,目的是为了把电子电路的设计以电子文档的方式保存下来;19831985年, IBM、TI等公司对其进行了细致开发;1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 ,即IEEE-1076(简称87版);1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993(1164)版本;1996年,IEEE又推出IEEE-1076.3和IEEE-1076.4,以解决可综合VHDL描述在 不同EDA厂商之间的移植问题,以及ASIC/FPGA的门级库描述问题。4. VHDL特点 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力 VHDL丰富的仿真语句和库函数,使得在设计的早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟 VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表 VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计 电路模型IN1INmOUTnOUT12.2 VHDL程序的基本结构一、 用VHDL程序来描述电路模型二、 VHDL程序的基本结构 Use Library(库) 用来说明模型需要使用的标准库Entity(实体)用来说明模型的外部输入输出特征Architecture(构造体)用来定义模型的内容和功能例:用VHDL设计一个4选1数据选择器。library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity mux4_1 isport(SEL: in STD_LOGIC_VECTOR(1 downto 0); A, B,C,D:in STD_LOGIC; MUX_OUT: out STD_LOGIC);end mux4_1;黑盒ABCMUX_OUTMUX4_1DSELarchitecture example of mux4_1 isbegin process (SEL, A, B, C, D) begin case SEL is when 00 = MUX_OUT MUX_OUT MUX_OUT MUX_OUT MUX_OUT = X; end case; end process;end example; 实体类似一个“黑盒”,实体描述了“黑盒”的输入输出口实体举例entity mux4_1 isport(SEL: in STD_LOGIC_VECTOR(1 downto 0); A, B,C,D:in STD_LOGIC; MUX_OUT: out STD_LOGIC);end mux4_1;关键字、端口定义、端口模式、端口数据类型、实体结束PORTS端口(PORT)是实体的一部分PORT 类似于器件的管脚,主要用于信号的传输PORT 一般有 Name, Mode, 和 Type端口说明格式EntityPORT(SIGNAL Name1:Mode Type BUS; SIGNAL Name2:Mode Type BUS; );端口类型IN:数据只能从端口流入实体OUT:数据只能从端口流出实体INOUT:数据从端口流入或流出实体BUFFER:数据从端口流出实体,同时可被内部反馈实体中定义类属参量N位加法器ABCICOSN位加法器实体举例entity adder_n isgeneric(width : integer := 4);port( A: in STD_LOGIC_VECTOR(width-1 downto 0); B: in STD_LOGIC_VECTOR(width-1 downto 0); S: out STD_LOGIC_VECTOR(width-1 downto 0); CI: in STD_LOGIC; CO: out STD_LOGIC );end adder_n;类属参量(Generic) 一种端口界面常数,用来规定端口的大小、实体中子元件的数目等与常数不同,常数只能从内部赋值而类属参量可以由实体外部赋值my_designd11:0oeclkad11:0a11:0intas数据类型通常取Integer或Time综合器仅支持数据类型为整数的类属值。练习一l编写 包含以下内容的实体代码端口 D 为12位输入总线 端口 OE 和 CLK 都是1位输入端口 AD 为 12位双向总线端口 A为12位输出总线端口 INT 是1位输出端口 AS 是一位输出同时被用作内部反馈LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY my_design IS PORT (d:IN std_logic_vector(11 DOWNTO 0);oe, clk:IN std_logic;ad:INOUT std_logic_vector(11 DOWNTO 0);a:OUT std_logic_vector(11 DOWNTO 0);int:OUT std_logic;as:BUFFER std_logic);END my_design;构造体(结构体 Architecture)用来描述实体的内部结构和逻辑功能。每一个构造体必须有一个实体(ENTITY)与它相对应,所以两者一般成对出现,一个实体(ENTITY)可以有多个构造体,构造体的运行是并发的,构造体描述方式包括:行为描述、结构描述、数据流描述。Input 1Input nOutput 1Output n实 体ABCDSELMUX_Out2实体和构造体之间的关系:构造体说明语句功能描述语句块语句进程语句信号赋值语句子程序调用语句元件例化语句构造体结构图说明语句对结构体的功能描述语句中将要用到的信号、数据类型、常数、元件、函数和过程等加以说明。块语句由一系列并行执行语句构成的组合体,它的功能是将结构体中的并行语句组成一个或多个子模块 。进程语句定义顺序语句模块,用以将从外部获得的信号值,或内部的运算数据向其它的信号进行赋值。信号赋值语句将设计实体内的处理结果向定义的信号或界面端口进行赋值子程序调用语句用以调用过程或函数,并将获得的结果赋值于信号元件例化语句对其它的设计实体作元件调用说明,并将此元件的端口与其它的元件、信号或高层次实体的界面端口进行连接。结构体语句格式Architecture 结构体名 Of 实体名 Is 说明语句 Begin 功能描述语句 End 结构体名;举例:带异步清0和同步时钟使能的4位加法计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B ISPORT ( CLK : IN STD_LOGIC; RST : IN STD_LOGIC; EN : IN STD_LOGIC; OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT4B;ARCHITECTURE behav OF CNT4B IS SIGNAL Q : STD_LOGIC_VECTOR(3 DOWNTO 0);说明语句BEGIN 功能描述语句P_REG:PROCESS(CLK, RST, EN ) 进程语句 BEGIN IF RST = 1 THEN Q = 0000; ELSIF CLKEVENT AND CLK = 1 THEN IF EN = 1 THEN Q = Q + 1; ELSE Q = 0000; END IF; END IF; OUTY = Q; END PROCESS P_REG ; COUT MUX_OUT MUX_OUT MUX_OUT MUX_OUT MUX_OUT A(0), B=B(0), C=C(0), Carry =C(1), Sum = S(0); U1: Fulladder Port Map (A(1),B(1),C(1),C(2),S(1); U2: Fulladder Port Map (A(2),B(2),C(2),C(3),S(2); U3: Fulladder Port Map (A(3),B(3),C(3),C(4),S(3); C(0) = 0;END a;构造体数据流描述举例ENTITY black_box IS PORT (a, b, d :INstd_logic_vector(7 DOWNTO 0);y:OUTstd_logic_vector(7 DOWNTO 0);END black_box;ARCHITECTURE example OF black_box ISSIGNAL c : std_logic_vector(7 DOWNTO 0);BEGIN c = a AND b; y = NOT (c AND d);END example;库(Library)v用来存储预先完成的程序包和数据集合体的仓库 v 在VHDL设计中若使用库中内容,必须在该设计的实体前使用库语句和USE语句v 语句格式:Library 库名; Use 库名.程序包名. All; Use 库名.程序包名. 项目名;引用IEEE库IEEE库是VHDL设计中最常见的库,包含IEEE标准程序包和一些支持工业标准的程序包library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;例:用VHDL设计一个4位加法器entity adder4b is port ( A: in STD_LOGIC_VECTOR (3 downto 0); B: in STD_LOGIC_VECTOR (3 downto 0); cin: in STD_LOGIC; s: out STD_LOGIC_VECTOR (3 downto 0); cout: out STD_LOGIC );end adder4b;architecture adder4b_arch of adder4b is SIGNAL Y,C: STD_LOGIC_VECTOR (3 downto 0) ;beginY(0) = A(0) XOR B(0) XOR Cin ;Y(1) = A(1) XOR B(1) XOR C(0) ;Y(2) = A(2) XOR B(2) XOR C(1) ;Y(3) = A(3) XOR B(3) XOR C(2) ;C(0) = (Cin AND A(0) OR (Cin AND B(0) OR (A(0) AND B(0);C(1) = (C(0) AND A(1) OR (C(0) AND B(1) OR (A(1) AND B(1);C(2) = (C(1) AND A(2) OR (C(1) AND B(2) OR (A(2) AND B(2);C(3) = (C(2) AND A(3) OR (C(2) AND B(3) OR (A(3) AND B(3);S = Y(3) & Y(2) & Y(1) & Y(0) ;Cout = C(3) ;end adder4b_arch ;第三章 VHDL的数据类型、数据对象、运算操作符VHDL的基本数据类型 VHDL的数据对象 VHDL的运算操作符3.1 VHDL的基本数据类型 预定义数据类型、 自定义数据类型1.预定义数据类型 BIT :位类型,其值只能为 0或 1例:Signal a: BIT;( a = 1 ) BIT_VECTOR :位矢量类型,包含一组位类型例:Signal a: BIT_VECTOR (7 DOWNTO 0) ( a = “00000001” 、 a = a + 1)BOOLEAN:布尔类型,其值可为 TRUE或FALSEINTEGER:整型,范围为-214783647到214783647(232),综合时,要对范围加以限制。常用于循环语句的循环次数、常量、数学函数或模式仿真例:Signal a: INTEGER RANGE 0 TO 15(综合器根据限定的范围来确定信号的二进制位数)Natural:自然数类型,整型的子类型,含零和正整数Positive:正整数类型,整型的子类型,含非零和非负整数REAL:浮点类型,范围为:-1.0E38到1.0E38很多综合器不支持该类型Std_Logic和Std_Logic_Vector数据类型:v IEEE 1164中定义的一种位数据类型,它包含9种取值分别为:U未初始化 用于仿真X强未知(浮接不定) 用于仿真0强0 用于综合与仿真1强1 用于综合与仿真Z高阻 用于综合与仿真W弱未知(弱浮接) 用于仿真L弱0 用于综合与仿真H弱1 用于综合与仿真_忽略 用于综合与仿真v它是数字电路设计的工业标准逻辑类型v它增加了VHDL语言编程、综合和仿真的灵活性v在多值逻辑系统中STD_LOGIC和 STD_LOGIC_VECTOR 用于取代 BIT 和 BIT_VECTOR v若电路中有三态逻辑(Z) 必须用STD_LOGIC 和 STD_LOGIC _VECTOR v要使用这种类型代码中必须申明库和程序包说明语句 LIBRARY IEEE; USE IEEE.std_logic_1164.ALL;矢量信号的数据传递ARCHITECTURE a OF test IS Signal A: STD_LOGIC_VECTOR(3 DOWNTO 0); Signal B: STD_LOGIC_VECTOR(0 TO 3);BEGINA(3)A(2)A(1)A(0)B(0)B(1)B(2)B(3) B = A; -A矢量信号传递到B矢量信号 END a;矢量信号的分解与合并ARCHITECTURE a OF test IS Signal A: STD_LOGIC_VECTOR(3 DOWNTO 0); Signal B: STD_LOGIC_VECTOR(0 TO 3); Signal C: STD_LOGIC_VECTOR(0 TO 1); Signal D: STD_LOGIC_VECTOR(1 DOWNTO 0);BEGIN C = A (2 DOWNTO 1) ; -分解A(21)矢量信号传递到C B .When “01” =. When “10” =.When Other =.END state_machine ;Architecture state_machine Of traffic_controll Is Type traffic_light Is (red, yellow, green); Begin Case present_state isWhen red =.When yellow =. When green =.When Other =.END state_machine ;2)数组类型:用户定义的数据类型,常用来组合同样数据类型的元素。例如ROM、RAM等。有限定性和非限定性数组v定义语法1:(限定性数组)TYPE 标识符 IS Array(数组范围)Of 数据类型例:定义限定性数组Architecture A Of Test Is Type Byte Is Array (7 Downto 0) Of Bit; Signal Date : Byte; Signal R : Bit ;Begin. R = Date(4)END A ;v定义语法2:(非限定性数组)TYPE 标识符 IS Array (下标类型 Range ) Of 数据类型例:定义非限定性数组Architecture A Of Test Is Type Byte Is Array (Natural Range ) Of Bit;Begin process (s1, s2, s3) Variable Date : Byte ( 0 TO 6); begin . end process ;End A ;3)记录类型:用户定义的数据类型,一个具有记录类型的数据对象可以具有不同数据类型的多个元素。 定义语法:TYPE 标识符 IS RECORD 元素名1:元素1数据类型; 元素名2:元素2数据类型; END RECORD;Architecture B Of Test Is TYPE Month_Name IS (Jan,Fab,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec); TYPE date IS RECORD day : Integer RANGE 1 TO 31; month : Month_Name; year : Integer RANGE 0 to 3000; END RECORD;Begin Process(int1,int2) VARIABLE today : date; today : =(15, may, 1995); End process;End B;4)子类型:用户定义的数据类型,对原基本数据类型(父类型)加以限制构成的父类型的子集。定义语法:SUBTYPE 标识符 IS 父类型 RANGE 约束范围子类型应用Architecture subt_test Of test Is Subtype data Is Bit_Vector(31 downto 0) ; Subtype operand Is data ; - Type x_int Is Range 1 to 50 ; Type y_int Is Range 1 to 30 ; Subtype z_int Is x_int Range 1 to 30 ; Subtype a_int Is x_int Range 3 to 32 ; Subtype b_int Is z_int Range 5 to 20 ;Signal x : x_int := 1 ; Signal y : y_int := 2 ; Signal z : z_int := 3 ; Signal a : a_int := 4 ; Signal b : b_int := 5 ; Begin z = x ; -?是否出现错误 a = z ; -? b = a ; -? y = x ; -?End subt_test ; 3.2 VHDL的数据对象常数信号变量数据对象常数v指在设计中不会变的值v改善代码可读性,便于代码修改v必须在程序包、实体、构造体或进程的说明区域加以说明,常数具有区域性v一般要赋一个初始值v保留字CONSTANT例:CONSTANT Width : Integer : = 8 ;例:定义一个4位长常数零和一个8位长常数零Constant Zero_4: Std_Logic_Vector(3 Downto 0): = “0000”Constant Zero_8: Std_Logic_Vector(7 Downto 0): = “00000000”数据对象信号v 可代表电路内部连线或端口,有传输延迟v 用“=”来给信号赋值v 保留字 SIGNAL SIGNAL Count: Bit_Vector(3 downto 0); IF Rising_Edge(clk) THENCount = Count + 1;END IF;V 信号在Package、Entity、Architecture 中声明vMUXREGSIGNALSIGNALSIGNALSIGNALPROCESSPROCESS VHDL程序中的信号信号举例LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY simp ISPORT(a, b, c, d : IN Std_Logic;g : OUT Std_Logic);END simp;ARCHITECTURE logic OF simp ISSIGNAL e,f : Std_Logic;- 在构造体内声明的内部连接信号BEGIN e = a or b; f = not(c or d); g = e and f;END logic;信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商场安全事故培训课件
- 2025年汽车制造行业自动驾驶汽车技术应用前景展望报告
- 2025年电子产品行业可穿戴智能设备市场前景预测报告
- 2025年区块链技术行业应用前景展望报告
- 2025年电子商务行业社交电商平台发展前景研究报告
- 常州市2025江苏常州信息职业技术学院长期招聘高层次人才37人笔试历年参考题库附带答案详解
- 2025年智能汽车技术应用前景与市场规模预测研究报告
- 南昌市2025南昌市市场监督管理局招聘网络技术员以及文员岗位2人笔试历年参考题库附带答案详解
- 九江市2025上半年江西九江市事业单位“才汇九江”高层次人才招聘笔试笔试历年参考题库附带答案详解
- 2025西安数治科技有限公司招聘(13人)笔试参考题库附带答案详解
- 2025鄂尔多斯市城市建设投资集团招聘92人考试参考题库及答案解析
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
- 2025年全国企业员工全面质量管理知识竞赛题库及答案(共132题) - 副本
- 版部编人教版六年级上册《道德与法治》知识点考点归纳总结
- 海绵城市总结课件
- 农产品增值税进项税额核定扣除办法课件
- 压疮预防及护理操作流程
- 政治学基本原理-精选课件
- 会计学全套课件第一学期公开课一等奖省优质课大赛获奖课件
- 公开课第一课素描基础入门课件
- 新旧西藏的对比(分析“西藏”)共22张课件
评论
0/150
提交评论