tmp_OUT<=“1111”;END IF;
Y0<=tmp_OUT(0);Y1<=tmp_OUT(1);Y2<=tmp_OUT(2);Y3<=tmp_OUT(3);END PROCESS;END rtl;
ELSIF(a1=’0’AND a0=’1’) THEN
f<= d1;
ELSIF(a1=’1’AND a0=’0’) THEN
f<= d2;
ELSEf<= d3;ENDIF;ELSEf<=’0’;ENDIF;
END PROCESS;END bch_mux41;
例:2线-4线译码器
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;ENTITY b0-2-4 IS
PORT(en,a0,a1: IN STD_LOGIC;
Y0,Y1,Y2,Y3: OUT STD_LOGIC);
END b0-2-4;
ARCHITECTURE rtlOF b0-2-4 IS
SIGNAL tmp_IN: STD_LOGIC_VECTOR(1DOWNTO 0);SIGNAL tmp_OUT:STD_LOGIC_VECTOR(3DOWNTO 0);BEGIN
tmp_IN<=a1&a0;
PROCESS(tmp_IN, en)BEGIN
(4)断言语句:Assert
——等价于一个进程语句,它不做任何操作,仅用以判断某一条件是否成立,若不成立,则报告一串信息给设计师。
例:D触发器的异步复位端(Clear)和置位端(preset)不能同时为“00”,则
Assert not((clear=‘0’)and(preset(‘0’))
Report “control error”severity error;
(详见P284)
配套清华大学出版社
几种语句的比较
语句
With-select-when
When-else
If-else
Case-when
选择条件一个信号的不多个信号多种一个信号的
同值,互斥组合,不必互多种组
不同值,互
斥合,不必
斥
语句属性并行并行顺序
顺序用途
编码、译码、优先编码器,
优先编码多路选择器地址译码器
器,地址多路选择器
译码器状态机
例:分析下面用VHDL语言描述的逻辑电路。(
1)画出该实体框图(管脚图)
(2)画出该电路的状态转移图(电路正常工作状态下)(3)指明各引脚的作用(列出电路各工作状态时与有
关引脚的关系表)
(4)指出该电路的功能
if rd='0' thenq<="0000";c<='0';
elsif(cp'eventcp='1')thenand if ld='0'thenq<=d;
elsif(ep='0' and et='1')then
q<=q;
elsif(et='0')thenq<=q;c<='0';
elsif(ep='1' and et='1')thenif(q=9)thenq<="0000";c<='1';
三、用
VHDL语言设计基本逻辑电路
1、组合逻辑电路
编码器、译码器、数据选择器、加法器
2、时序逻辑电路
时钟怎样描述?同步、异步怎样描述?状态图怎样描述?
例:分别实现D触发器和T触发器。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity LS 160 is
port(cp,rd,ld,ep,et,d0,d1,d2,d3:in std_logic;c:out
std_logic;
y:out
std_logic_vector(3 downto0));end LS160;
architecture rtlof LS160 is
signal d,q:std_logic_vector(3 downto0);begin
process(cp,rd,ld,ep,et)begin
d<=d3&d2&d1&d0;
else
q<=q+1;c<='0';end if;end if;end if;
end process;y<=q;end rtl;
配套清华大学出版社
例:状态机(P248)
x
PS0
1S0S0/0S2/1S1S1/0S2/0S2
S2/0
S0/1
NS/Z
作业(第八章)
8.1 8.2 8.3
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生VHDL与数字电路设计(3)在线全文阅读。
相关推荐: