1、实体说明中的端口方向输入定义为__IN____输出定义为__OUT___输入输出双向端口为__INOUT_____.
2、VHDL中,数据对象分三类,信号,变量和常量。其英文单词依次为__signal___,variable,__constant__.
3、在BLOCK块中的语句是___并行____执行的。(并行/顺序)。 4、函数语句的书写格式为:
FUNCTION函数名(参数1、参数2,……)RETURN___数据类型__IS (定义语句); BEGIN
(顺序语句);
BEGIN(返回变量名); END(函数名);
5、定义一个实型常数的语句为:
CONSTANT VCC:____real_____:5.0
6、同一结构体中的各个进程之间是________执行的。(并行/顺序) 7、用户自定义数据类型为:type week is (sum,mon,……) Week的数据类型为__枚举___.
8、VHDL语言中不等于关系符号为:____/=_____. 9、VHDL语言中并置运算符符号为:___&_____. 10、VHDL语言中信号赋值运算符符号为:___<=____;变量赋值运算符符号为__:=___
11、在LOOP语句中FOR循环的格式为:
[标号]:FOR 循环变量____IN____循环次数范围 LOOP 顺序处理语句; END LOOP[标号]; 13、上升沿检测语句格式为:
CLK’EVENT AND CLK =‘1’___AND(CLK’LAST_VALUE=’0’) 14、会看PLD、PAD逻辑与或图 (138、245、86、08、373(374)、74、166)这几块芯片!
373:
74LS373是一个八位锁存器。OE是使能端,低电平有效,LE是锁存控制端,低电平锁存数据,D是数据输入端,Q是数据输出端。其VHDL的代码如下:
library ieee;
use ieee.std_logic_1164.all; entity ls373 is
port(oe:in std_logic; le:in std_logic;
d:in std_logic_vector(7 downto 0); q:out std_logic_vector(7 downto 0)); end;
architecture one of ls373 is
signal t:std_logic_vector(7 downto 0); begin
process(oe,le,d) begin
if oe='1' then t<=\ elsif le='1' then t<=d; end if; end process; q<=t; end;
166:
74LS166是有并行输入和串行输入功能的八位移位寄存器。SER是串行输入端,SL是并行输入或串行输入选择端,CLKINH是时钟禁止端,CLK是脉冲输入端,CLR是异步清零端,低电平有效。A~H是并行数据输入端,QH是数据输出端。其VHDL代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY ls166 IS
PORT(CLR,SL,clkinh,CLK,SER:IN STD_LOGIC; ha:IN STD_LOGIC_VECTOR(7 DOWNTO 0); QH: OUT STD_LOGIC); END;
ARCHITECTURE BEHAV OF ls166 IS
SIGNAL TMPREG8:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN
PROCESS (CLK, SL, clkinh, CLR) begin
IF (CLR= '0') THEN
TMPREG8<=\
ELSIF (CLK'EVENT) AND (CLK='1') AND (clkinh ='0') THEN IF (SL= '0') THEN --clkinh=0,sl=0, TMPREG8 <= ha;
ELSIF (SL ='1')THEN --clkinh=0,sl=1, FOR I IN 7 DOWNTO 1 LOOP
TMPREG8 (I)<= TMPREG8(I-1); END LOOP;
TMPREG8(0) <= SER; END IF; END IF; END PROCESS;
Qh<= TMPREG8 (7); END BEHAV;
138:
74LS138是熟知的三八译码器,A、B、C是译码输入端端,
G2A,G2B,G1是控制使能端,Y0~Y7为译码输出端。其VHDL代码描述如下:
ENTITY CH5 IS
PORT(A:IN STD_LOGIC; B:IN STD_LOGIC; C:IN STD_LOGIC; g1:IN STD_LOGIC; g2a:IN STD_LOGIC; g2b:IN STD_LOGIC;
Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END CH5;
ARCHITECTURE DEC_BEHAVE OF CH5 IS
SIGNAL SEL: STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN
SEL(0)<=g1; SEL(1)<=g2b; SEL(2)<=g2a; SEL(3)<=A; SEL(4)<=B; SEL(5)<=C;
WITH SEL SELECT
Y<=\ \ \ \ \ \ \ \ \END DEC_BEHAVE;
86:
74LS86是一个四单元的二输入异或门电路,A、B为输入端,输出端。其VHDL代码如下: LIBRARY ieee;
USE ieee.std_logic_1164.all; ENTITY ls86 IS
PORT(a : IN STD_LOGIC_VECTOR(3 DOWNTO 0); b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); y : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;
Y为ARCHITECTURE ONE OF ls86 IS BEGIN
PROCESS (a,b) BEGIN
y<=a xor b; END PROCESS; END;
08:
74LS08是四单元的二输入与门。A、B为输入端,Y为输出端,且Y=AB。
VHDL代码描述如下:
LIBRARY ieee;
USE ieee.std_logic_1164.all; ENTITY ls08 IS
PORT(a : IN STD_LOGIC_VECTOR(3 DOWNTO 0); b : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
y : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END;
ARCHITECTURE one OF ls08 IS BEGIN
PROCESS (a,b) BEGIN
y<=a and b; END PROCESS; END one;
74:
74LS74是一个两单元的带异步置位、异步清零和保持功能的D触发器,输入端口有SD,CD,CP,D,输出端口有Q,QF,且QF为Q的非。SD和CD控制置位和清零Q端,D为数据输入端,CP为同步脉冲。其VHDL描述代码如下:
library ieee;
use ieee.std_logic_1164.all; entity ls74 is
port(d:in std_logic; sd:in std_logic; cd:in std_logic; cp:in std_logic; q:out std_logic; qf:out std_logic);
end;
architecture one of ls74 is signal a,af:std_logic;
signal sc:std_logic_vector(1 downto 0); begin
sc<=sd&cd;
process(d,sc,cp) begin
if (sc=\ elsif (sc=\ elsif (sc=\
elsif cp'event and cp='1' then a<=d;af<=not d; end if; end process; q<=a; qf<=af; end;

