80分帮忙解释程序

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:46:43
双向总线驱动器模块产生其一个单向三态数据收发器(TRI_GATE1)的VHDL语言设计如下
library ieee;
use ieee.std_logic_1164.all;
entity tri_gate1 is
port(a0,al,a2,a3:in std_ logic;
a:in std_logic_vector(15 downto 4);
en:in std_logic;
b0,b1,b2,b3:out std_logic;
b:out std_logic_vector(15 downto 4):
D0,D1,D2,D3:out std_logic);
--向模块2中送数据的4个输出端
end tri_gatel;
architecture behav of tri_gate1 is
begin
process
begin
if en='1' then --EN为高电平时收发器有效
b0<=a0;b1<=a1;b2<=a2;b3<=a3;b<=a;
D0<=a0;D1<=a1;D2<=a2;D3<=a3;
else --EN为低时高阻状态
b0<=一Z;b1<=-Z;b2<=-Z ;b3<='Z';b<="ZZZZZZZZZZZZ";
end if
end process;
end behav;

2. 产生HS3282读信号与写信号和ENTX使能信号模块
本模块要实现的功能是产生HS3282的读写信号和发送使能信号及一个送入PC104总线的输入输出16位芯片选择信号/IO16。该模块用VHDL语言输入,其相应的VHDL语言如下
library ieee;
use ieee.std logic_1164.all;
entity gal4243 is
port(MCS

从哪里COPY过来的程序吧,小错误一堆。
只要分析一下输入输出信号的意义,看看process中信号之间是如何赋值的,还是很好理解的,只有程序2的逻辑稍复杂一点。

比如第一个,en=1时把信号a传输给b和D,en=0时b输出高阻,此即三态门逻辑。
第二个就是一个组合逻辑电路。
第三个,RD4决定D0到D5的输出,INT由其它几个输入确定,上面就有注释。

太难了,

我不告诉你