VHDL设计方法.ppt
《VHDL设计方法.ppt》由会员分享,可在线阅读,更多相关《VHDL设计方法.ppt(85页珍藏版)》请在三一文库上搜索。
1、VHDL设计方法,用VHDL语言实现可编程数字系统设计,VHDL设计方法,VHDL概述 VHDL的设计单元 VHDL的基本语法结构,第一部分,VHDL 概述,VHDL的含义,VHSIC (Very High Speed Integrated Circuit) Hardware Description Language,VHDL历史,1982年, 诞生于美国国防部赞助的VHSIC项目 1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言 ,即IEEE-1076(简称87版) 1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993(116
2、4)版本 1996年,IEEE-1076.3成为VHDL综合标准,VHDL特点,与其他的硬件描述语言相比,VHDL具有更强的行为描述能力 VHDL丰富的仿真语句和库函数,使得在设计的早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟 VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表 VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计,相关术语,HDL用来建立硬件电
3、路模型的程序语言 行为描述模型 用输入/输出响应来描述器件的模型 结构描述模型 用更低层次的器件的互连来描述器 件的模型 寄存器传输级(RTL)用于综合的一种行为描述模型 综合(Synthesis)将HDL转换为电路并对该电路进行 一定的优化 RTL Synthesis 将硬件的RTL模型转化为某种优化的 特殊的门级电路来具体实现,行为描述模型,只描述电路的功能,而不是结构 不针对专门的硬件 用于综合和仿真,Input1N,Output1N,IF input1 THEN FOR j IN high DOWNTO low LOOP shift(j) := shift(j); END LOOP;
4、output1 = shift AFTER 5ns,结构描述模型,描述电路的功能和结构 调用特殊的硬件 用于综合,Input 1,Input n,Output 1,Output n,底层元件,底层元件,RTL Synthesis,Process (a, b, c, d, sel) begin case (sel) is when “00” = mux_out mux_out mux_out mux_out = d; end case;,VHDL与其他HDL比较,VHDL “告诉我你想要电路做什么,我给你提供能实现这个功能的硬件电路” Verilog 和VHDL类似 ABEL、AHDL “告诉我
5、你想要什么样的电路,我给你提供这样的电路”,典型的综合流程,典型的仿真流程,第二部分,VHDL的设计单元,VHDL的设计单元,Entity(实体) 用来说明模型的外部特征 Architecture(构造体) 用来定义模型的功能 Configuration(配置) 将实体和它的构造体联系起来 Package(程序包) 类似于库,使实体和结构体内的数据类型、常量、子程序等对于其他设计单元可见,包括包体单元和说明单元,实体说明,ENTITY IS Generic Declarations Port Declarations END ; (1076-1987 version) END ENTITY ;
6、 ( 1076-1993 version),端口说明格式 PORT(SIGNAL名字:模式子类型标志BUS:=静态表达式,) 信号模式 IN:流入端口 OUT:流出端口 INOUT:双向端口(既可流入,又可流出) BUFFER:缓冲端口(只能有一个数据源,不能同时流入又流出),实体说明举例,ENTITY Example IS Generic ( constant tplh , tphl : time := 5 ns; de_value : integer := 1; ); Port ( signal clk : in bit; flag : out bit; q : out bit_vecto
7、r(3 downto 0) ); END ENTITY Example;,构 造 体 概 述,构造体和原理图类似 用来描述实体的内部结构和逻辑功能 必须和实体(ENTITY)相联系 一个实体(ENTITY)可以有多个构造体 构造体的运行是并发的 构造体类型包括: 行为描述 结构描述 混合描述,构造体基本结构,ARCHITECTURE OF IS 说明语句 BEGIN 并行语句 END ; (1076-1987 version) END ARCHITECTURE; (1076-1993 version),实体和构造体之间的关系,Input 1,Input n,Output 1,Output n,
8、实体,A B C D Sel,MUX_Out,2,配 置,在器件和实体、构造体,实体和构造体之间建立关联 能使设计更灵活和快速 在仿真环境用的比较多综合环境中不提供或受限制,CONFIGURATION OF IS FOR END FOR; END; (1076-1987 version) END CONFIGURATION; (1076-1993 version),配 置 举 例,ENTITY cmpl_sig IS PORT ( a, b, sel : IN bit; x, y, z : OUT bit; END cmpl_sig; ARCHITECTURE logic OF cmpl_si
9、g IS BEGIN x = (a AND NOT sel) OR (b AND sel); y = a WHEN sel=0 ELSE b; WITH sel SELECT z = a WHEN 0, b WHEN 1, 0 WHEN OTHERS; END logic; CONFIGURATION cmpl_sig_conf OF cmpl_sig IS FOR logic END FOR; END cmpl_sig_conf;,A B Sel,X,A B Sel,Y,A B Sel,Z,ARCHITECTURE,ENTITY,A,B,SEL,X,Y,Z,第三部分,VHDL的基本语法结构,
10、标志符,有效字符包括: 英文字母、数字、下划线 必须是字母打头 下划线的前后都必须有字母或数字 不区分大小写,数据对象,主要包括: 常数、信号、变量、文件四类 对象说明格式: 对象类型 标志符表:类型标识:=初值,数据对象常数,指在设计中不会变的值 改善代码可读性,便于代码修改 必须在程序包、实体、构造体或进程的说明区域加以说明 一般要赋一初始值 保留字CONSTANT CONSTANT Width : Integer :=8,数据对象信号,可代表连线、内连元件、或端口 =用来给信号赋值 保留字SIGNAL SIGNAL Count: Bit_Vector(3 downto 0); IF Ri
11、sing_Edge(clk) THEN Count=Count+1; END IF;,数据对象信号,MUX,REG,SIGNAL,SIGNAL,SIGNAL,SIGNAL,PROCESS,PROCESS,可代表连线、内连元件、或端口 信号在PACKAGE、ENTITY、ARCHITECTURE中声明,信号举例,LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY simp IS PORT(a, b, c, d : IN Std_Logic; g : OUT Std_Logic); END simp; ARCHITECTURE logic OF si
12、mp IS SIGNAL e,f : Std_Logic; BEGIN e = a or b; f=not(c or d); g =e and f; END logic;,a,b,c,d,g,e,f,信号赋值,SIGNAL temp : STD_LOGIC_VECTOR (7 downto 0); 整体赋值: temp = “10101010”; temp = x”AA” ; 逐位赋值: temp(7) = 1; 多位赋值: temp (7 downto 4) = “1010”;,数据对象变量,仅用于进程和子程序 必须在进程和子程序的说明性区域说明 不能表达连线和存储元件 保留字VARIABL
13、E VARIABLE tmp : Bit; tmp:=1;,变量赋值,整体赋值: temp := “10101010”; temp := x”AA” ; (1076-1993) 逐位赋值: temp(7) := 1; 多位赋值 temp (7 downto 4) := “1010”;,信号和变量的作用范围,ARCHITECTURE,SIGNAL 描述,label1: PROCESS1,VARIABLE 描述,label2: PROCESS2,VARIABLE 描述,信号和变量的区别,数据对象文件,文件不能通过赋值来更新文件内容 一般在写测试文件时用来读取激励信号和写数据输出 保留字:FILE,
14、别 名,标志一个以存在的数据对象 引用别名等效于引用原始数据对象 给别名赋值等效于给原始数据赋值 常作为标识一组数据类型 保留字:ALIAS ALIAS Bank:Bit_Vector(3 downto 0) IS Address(27 downto 24);,数 据 类 型,标量类型 整数类型、浮点类型、枚举类型、物理类型 复合类型 数组类型、记录类型 存取类型、文件类型、子类型 包含在IEEE.STD_LOGIC_1164 中,整数类型,保留字:INTEGER 范围为-214783647到214783647(232) 需要综合时,要对范围加以限制 VARIABLE Tmp : Intege
15、r 255 To 255,浮点类型,保留字:REAL 范围为:-1.0E38到1.0E38 很多综合器不支持该类型,枚举类型,保留字:TYPE TYPE States IS (S1,S2,S3,S4) Bit和Boolean TYPE Bit IS (0,1); TYPE Boolean IS (False,True) Std_Ulogic和Std_Logic TYPE Std_Ulogic IS (U,X,0,1,Z,W,L,H,_) SUBTYPE Std_Logic IS resolved Std_Ulogic Std_Ulogic_Vector和Std_Logic_Vector,物理类
16、型,保留字:TIME TYPE TIME IS RANG 2147483647 TO 2147483647 UNITS fs; ps=1000fs; ns=1000ps; us=1000ns; ms=1000us; sec=1000ms; min=60sec; hr=60min; END UNITS;,数组类型,分一维数组和二维数组,限定性数组和非限定性数组 TYPE Bit_Vector IS ARRAY (Natural RANGE) OF Bit; TYPE Word IS ARRARY (31 downto 0) OF Bit; TYPE String IS ARRARY (Posit
17、ive RANGE) OF Character; SIGNAL address : IN Bit_Vector(15 downto 0);,记录类型,TYPE Month_Name (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; VARIABLE today : date; today : =(15, may, 199
18、5);,存取类型,类似与指针类型 保留字:LINE 一般很少用到 只有变量才可以为存取类型 VARIABLE line_buffer : Line,文件类型,保留字:TEXT 很少用到,自定义类型和子类型,保留字:TYPE和SUBTYPE 子类型一般用来对其父类型加以限制 SUBTYPE Std_Logic IS resolved Std_Ulogic,算术运算符,关系运算符,逻辑运算符,其他运算符,运算优先级,* ABS NOT * / MOD REM +正 -负 + - & SLL SLA SRL SRA ROL ROR = = AND OR NAND NOR XOR XNOR,高,低,运
19、算重载,若两信号类型不同,不能将一个信号的值赋给另一信号 数据转换必须要用运算重载 一般可用IEEE .1164中的标准重载函数实现 LIBRARY IEEE; USE IEEE_Std_Logic_1164.all; USE IEEE_Std_Logic_Arith.all; USE IEEE_Std_Logic_unsigned.all USE IEEE_Std_Logic_signed.all,并行语句,并行语句1,构造体,并行语句2,并行语句3,signal,signal,并行语句,信号赋值语句 基本信号、条件信号、选择信号赋值语句 块(Block)语句 进程(Process)语句 生
20、成(Generate)语句 元件例化语句,基本信号赋值语句,基本格式: 目标信号 = 波形 举例: a=0 AFTER 1ns b=1 AFTER 5ns,0 AFTER 10ns,条件信号赋值语句,基本格式: 目标信号= 波形1 WHEN 条件1 ELSE 波形2 WHEN 条件2 ELSE 波形n;,举例: q = a WHEN sela = 1 ELSE b WHEN selb = 1 ELSE c;,选择信号赋值语句,基本格式 WITH 表达式 SELECT 目标信号= 波形1 WHEN 选择条件1; 波形2 WHEN 选择条件2; 波形n WHEN 选择条件n;,举例 WITH se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 设计 方法
链接地址:https://www.31doc.com/p-2895123.html