|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
写了一个双向口的练习程序,可仿真总是不对(modelsim和maxplus),总有不定的状态出现,请高人帮忙看看,指点一下,我对双向口不熟悉。谢谢!!library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity birio is
port(clk:in std_logic;
reset:in std_logic;
enableout:in std_logic;
bir_io:inout std_logic;
dataoutut std_logic
);
end birio;
architecture a of birio is
signal temp_d:std_logic;
signal temp_d2:std_logic_vector(7 downto 0);
begin
process(reset,clk)
begin
if reset='1' then
temp_d<='1';
temp_d2<="10101010";
elsif rising_edge(clk)then
if enableout='1' then
bir_io<=temp_d2(7);
temp_d2<=temp_d2(6 downto 0)&'0';
else
bir_io<='Z';
temp_d<=bir_io;
end if;
end if;
end process;
dataout<=not temp_d;
end a;
|
|