3.1VHDL基本语法9.条件语句1O.WHENELSE条件信号赋值语句赋值目标<=表达式WHEN赋值条件ELSE表达式WHEN赋值条件ELSE表达式;WHENp1='1ELSE2abWHENp2='1!ELSEC
3.1 VHDL 基本语法 9. 条件语句 10. WHEN_ELSE条件信号赋值语句 赋值目标 <= 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE . 表达式 ; z <= a WHEN p1 = '1' ELSE b WHEN p2 = '1' ELSE c ;
3.1 VHDL基本语法11.进程语句和顺序语句IF THEN ELSE ENDIF;PROCESS...ENDPROCESS12.文件取名和存盘".vhd"adder_f.vhd
3.1 VHDL 基本语法 11. 进程语句和顺序语句 12. 文件取名和存盘 IF_THEN_ELSE_END IF; PROCESS. END PROCESS “.vhd” adder_f.vhd
3.2时序电路描述3.2.1D触发器【例3-6】LIBRARY IEEE:USEIEEE.STDLOGIC1164.ALLGENTITYDFF1ISPORT(CLK:INSTDLOGICDFF1D:INSTDLOGIC;Q:OUTSTD LOGIC;图3-4D触发器END;ARCHITECTURE bhVOFDFF1 IS一-类似于在芯片内部定义一个数据的暂存节点SIGNALQ1:STDLOGIC;BEGINPROCESS(CLK,Q1)BEGINCLK'EVENT ANDCLK='1!IFTHENQ1 <= D ;END IF;ENDPROCESS;-将内部的暂存数据向端口输出(双横线--是注释符号)Q<=Q1END bhv;
3.2 时序电路描述 3.2.1 D 触发器 【例3-6】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; -类似于在芯片内部定义一个数据的暂存节点 BEGIN PROCESS (CLK,Q1) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= D ; END IF; END PROCESS ; Q <= Q1 ; -将内部的暂存数据向端口输出(双横线-是注释符号) END bhv; 图3-4 D触发器
3.2时序电路描述3.2.2时序描述VHDL规则1.标准逻辑位数据类型STD_LOGICBIT数据类型定义:TYPEBITIS(O'1')--只有两种取值STDLOGIC数据类型定义:TYPESTDLOGICIS(U'X''O'1Z"W'LH-);--有9种取值STDLOGIC所定义的9种数据的含义是:“U'表示未初始化的;“0'表示强逻辑0;“X'表示强未知的;“1'表示强逻辑1;“Z'表示高阻态;“W’表示弱未知的;‘L表示弱逻辑0;“H'表示弱逻辑1;-表示忽略
3.2 时序电路描述 3.2.2 时序描述VHDL规则 1. 标准逻辑位数据类型 STD_LOGIC BIT数据类型定义: TYPE BIT IS('0','1'); -只有两种取值 STD_LOGIC数据类型定义: TYPE STD_LOGIC IS ('U','X','0','1','Z','W','L','H','-'); -有9种取值 STD_LOGIC所定义的9种数据的含义是: ‘U’表示未初始化的; ‘X’表示强未知的; ‘0’表示强逻辑0; ‘1’表示强逻辑1; ‘Z’表示高阻态; ‘W’ 表示弱未知的; ‘L’表示弱逻辑0; ‘H’表示弱逻辑1; ‘-’表示忽略
3.2时序电路描述2.设计库和标准程序包LIBRARYWORKLIBRARYSTDUSESTD.STANDARD.ALL<设计库名>;LIBRARY<设计库名>.<程序包名>.ALL;USELIBRARYIEEEUSEIEEE.STDLOGIC 1164.ALL
3.2 时序电路描述 2. 设计库和标准程序包 LIBRARY WORK ; LIBRARY STD ; USE STD.STANDARD.ALL ; LIBRARY <设计库名>; USE < 设计库名>.<程序包名>.ALL ; LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ;