《VHDL语言入门教程》-课件.ppt
文本预览下载声明
3 VHDL语言 优点: HDL设计的电路能获得非常抽象级的描述。如基于RTL(Register Transfer Level)描述的IC,可用于不同的工艺。 HDL设计的电路,在设计的前期,就可以完成电路的功能级的验证。 HDL设计的电路类似于计算机编程。 IEEE预定义标准逻辑位与矢量 属性 运算符 3.2 VHDL基本结构 3.2.1 实体(Entity) 3.2.2 结构体 (Architecture) 3.2.3 库、程序包的调用 LIBRARY IEEE; USE IEEE.Std_Logic_1164.ALL; 3.3 VHDL语句 并行信号赋值语句 条件信号赋值语句 进程的工作原理 进程与时钟 进程的启动 进程注意事项: 元件例化语句 3.3.2 顺序语句 赋值语句 3.4.3 状态机的容错设计 3.4.4 状态机设计与寄存器 8位奇偶校验电路 含异步清0和同步时钟使能的4位加法计数器 键盘消抖电路: 3.6.1 仿真激励信号的产生 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADDER4 IS PORT ( a, b : IN INTEGER RANGE 0 TO 15; c : OUT INTEGER RANGE 0 TO 15 ); END ADDER4; ARCHITECTURE one OF ADDER4 IS BEGIN c = a + b; END one; ENTITY SIGGEN IS PORT ( sig1 : OUT INTEGER RANGE 0 TO 15; sig2 : OUT INTEGER RANGE 0 TO 15 ); END; ARCHITECTURE Sim OF SIGGEN IS BEGIN sig1 = 10, 5 AFTER 200 ns, 8 AFTER 400 ns; sig2 = 3, 4 AFTER 100 ns, 6 AFTER 300 ns; END; ENTITY BENCH IS END; ARCHITECTURE one OF BENCH IS COMPONENT ADDER4 PORT ( a, b : integer range 0 to 15; c : OUT INTEGER RANGE 0 TO 15 ); END COMPONENT; COMPONENT SIGGEN PORT ( sig1 : OUT INTEGER RANGE 0 TO 15; sig2 : OUT INTEGER RANGE 0 TO 15 ); END COMPONENT; SIGNAL a, b, c : INTEGER RANGE 0 TO 15; BEGIN U1 : ADDER4 PORT MAP (a, b, c); U2 : SIGGEN PORT MAP (sig1=a, sig2=b); END; force a 0 (强制信号的当前值为0) force b 0 0, 1 10 (强制信号b在时刻0的值为0,在时刻10的值为1) force clk 0 0, 1 15 –repeat 20 (clk为周期信号,周期为20) 3.6.2 VHDL测试基准(Test Bench) Library IEEE; use IEEE.std_logic_1164.all; entity counter8 is port (CLK, CE, LOAD, DIR, RESET: in STD_LOGIC; DIN: in INTEGER range 0 to 255; COUNT: out INTEGER range 0 to 255 ); end counter8; architecture counter8_arch of counter8 is begin process (CLK, RESET) variable COUNTER: INTEGER range 0 to 255; begin if RESET=1 then COUNTER := 0; elsif CLK=1 and CLKevent then if LOAD=1 then COUNTER := DIN; Entity testbench is end testbench; Architecture testbench_arch
显示全部