微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于双向口

关于双向口

时间:10-02 整理:3721RD 点击:
写了一个双向口的练习程序,可仿真总是不对(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
);
endbirio;
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;

关于双向口
双向口仿真肯定有不定态的

关于双向口
你的程序写的有问题

关于双向口
谢谢小编回复,我检查了好几遍,没有找到问题,请小编大人指点一下,谢谢!
还有我仿真的问题是,当应该是输出时,仿真的结果却是不定的。

关于双向口
bir_io<='Z';
temp_d<=bir_io;

关于双向口
这种写法我是参照论坛的文章写的阿,我没有写过双向口的逻辑,请小编指点一下,可否给一个能正确仿真简单的双向口程序,谢谢!

关于双向口
这种写法是有问题的

关于双向口

我这几天也在编双向口.觉得小编的process里应该有bir_io,当其他设备占有总线时就会执行bir_io<="z";不只说的对不对.我用isplever仿的,看起来对,等一会烧进去看看对不对

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top