《第四章 VHDL设计初步》由会员分享,可在线阅读,更多相关《第四章 VHDL设计初步(68页珍藏版)》请在金锄头文库上搜索。
1、第4章 VHDL设计初步,组合逻辑电路时序逻辑电路例化语句,Contents,2,通信与信息工程学院课件 by keane,回顾:,PLD基本原理与结构乘积项结构与查找表结构关于ISP技术-基本原理及方法,Very high speed integrated Hardware Description Language (VHDL)是IEEE、工业标准硬件描述语言用语言的方式而非图形等方式描述硬件电路容易修改容易保存特别适合于设计的电路有:复杂组合逻辑电路,如: 译码器、编码器、加减法器、多路选择器、地址译码器.状态机等等.,是什么是VHDL?,4.1 多路选择器的VHDL描述,Mux21a实体
2、,Mux21a结构体,一、2选1选择器,ENTITY mux21a IS PORT(a,b,s: IN BIT; y: OUT BIT);END mux21a;ARCHITECTURE one OF mux21a ISBEGINy= a WHEN s = 0 ELSE b;END one ;,ENTITY mux21a IS PORT(a,b,s: IN BIT; y: OUT BIT);END mux21a;ARCHITECTURE one OF mux21a ISBEGIN y = ( a AND (NOT s) OR (b AND s );END one ;,ENTITY mux21a
3、IS PORT(a,b,s: IN BIT; y: OUT BIT);END mux21a;ARCHITECTURE one OF mux21a ISBEGIN PROCESS( a , b , s )BEGINIF s = 0 THEN y = a ;ELSE y = b ;END IF ;END PROCESS;END one ;,absy,二、相关语句说明,ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ;END ENTITY mux21a ;ARCHITECTURE one OF muxx21a IS B
4、EGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ;,设计一个2选1多路通道,实体,结构体,VHDL的基本结构,1、ENTITY语句,端口名,端口信号方向,端口类型,实体名不能以数字开头,也不能使用工具库中的元件名。,2、ARCHITECTURE语句,说明语句,功能描述语句,数据对象与类型、元件说明等。,由并发语句构成。,3、信号传输(赋值)符号,y 、=、=。,4、IF_THEN 条件语句,由关系操作符、逻辑操作符、数据对象构成。,数据对象:SIGNAL、CONSTANT、VARIABLE,IF THEN IF THEN END IF; E
5、ND IF;2. IF THEN ELSIF THEN ELSE END IF;3. IF THEN ELSE END IF,5、WHEN_ELSE 语句,目的信号= 表达式1 WHEN 条件1 ELSE 表达式2 WHEN 条件2 ELSE 表达式3 WHEN 条件3 ELSE ,测试顺序,6、PROCESS 进程语句,语句格式: PROCESS(敏感信号表) START 顺序语句 END PROCESSPROCESS旁的敏感信号表,通常将进程中的所有输入信号列入其中。当某一敏感信号变化,启动一次进程;然后等待下一次敏感信号变化。PROCESS本身是并发语句,所以一个结构体允许多个PROCE
6、SS出现。,7、文件命名及存盘,文件名一般与实体名相同,且应具有与其逻辑功能相同的含义。文件必须以“vhd”为扩展名,存放在已建立的该设计系统的工作目录中。,作业,P93 4-1、4-2,回顾:基于VHDL的多路选择器的设计Entity定义Architecture 定义控制语句:条件语句IF_THEN_ELSE_END IF; _WHEN_ELSE; 用VHDL(structural level)设计二个变量的或、与、非门、异或门。,通信与信息工程学院课件 by keane,17,通信与信息工程学院课件 by keane,18,entity and_gate isport (a : in bi
7、t ;b : in bit ;c : out bit) ;end and_gate;architecture behavior of and_gate isbeginprocess(a,b)beginc = a and b after 5 ns;end process;end behavior;,通信与信息工程学院课件 by keane,19,entity or_gate isport (d : in bit ;e : in bit ;f : out bit) ;end or_gate;architecture behavior of or_gate isbeginprocess(d,e)be
8、ginf = d or e after 4 ns;end process;end behavior;,通信与信息工程学院课件 by keane,20,entity inverter isport (g : in bit ;h : out bit) ;end inverter;architecture behavior of inverter isbeginprocess(g)beginh = not g after 3 ns;end process;end behavior;,通信与信息工程学院课件 by keane,21,Exclusive-OR Gate (Dataflow style)-
9、 2 input exclusive or- Modeled at the RTL level.entity x_or is port (in1 : in bit ;in2 : in bit ;out1 : out bit);end x_or;architecture rtl of x_or isbeginout1 = in1 xor in2;end rtl;,通信与信息工程学院课件 by keane,22,Exclusive-OR Gate (Behavioural style)- Exclusive or gate- modeled at the behavioral level.enti
10、ty x_or isport (in1 : in bit ;in2 : in bit ;out1 : out bit) ;end x_or;architecture behavior of x_or isbeginprocess(in1, in2)beginif in1 = in2 thenout1 = 0 ;else out1 = 1 ;end if;end process;end behavior;,4.2 寄存器描述及其VHDL的语言现象,一、用VHDL设计一个D触发器,ddf1,程序包,二、语言现象,BIT数据类型定义:TYPE BIT IS(0,1);STD_LOGIC数据类型定义:
11、 TYPE STD_LOGIC IS(U,X,0,1, Z ,W,L,H,-) ;,1、标准数据类型,U:未初始化的,X:强未知的,0 :强逻辑0,1 :强逻辑1,Z:高阻, W:弱未知的,L:弱逻辑0,H:弱逻辑1,- :忽略。,2、设计库和标准程序包:,LIBRARY ;USE.ALL ;,类似于C语言的包含文件,VHDL程序中直接引用的数据类型、函数、过程及常量等,都有定义或说明。STD是VHDL的标准库,默认打开。因此,BIT、BIT_VECTOR数据类型可直接引用。如前例示。,设计库和标准程序包LIBRARY WORK ;LIBRARY STD ;USE STD.STANDARD.A
12、LL ;,library ieee;use ieee.std_logic_1164.all ;use ieee.std_logic_arith.all ;use ieee.std_logic_unsigned.all ;,3、SIGNAL信号定义语句与数据对象,定义器件内部接点,不同于端口。无方向限制。VHDL的数据对象有三种: 信号(SIGNAL)、变量(VARIABLE)和常数(CONSTANT)。,SIGNAL Q1: STD_LOGIC;,数据对象,内部节点信号,数据类型,4、时钟信号的边沿检测及信号属性函数,clkEVENT,clkLAST_VALUE=0,clk=1,如果测试时钟的下降沿这些表达式如何修改?,5、不完整条件语句现象,IF CLKEVENT AND CLK=1 THEN Q1b THEN y = 1 ;ELSIF ab THEN y = 0 ;END IF ;END PROCESS;END one ;,