标题:
双向数据inout
[打印本页]
作者:
sxwglxq
时间:
2004-6-7 13:11
标题:
双向数据inout
我的程序是这样的 其中 d : INOUT STD_LOGIC_VECTOR (7 downto 0); ipc : INOUT STD_LOGIC_VECTOR (7 downto 0); led
ut STD_LOGIC;--接一个发光二极管 signal dw: std_logic_vector(7 downto 0); signal cw: std_logic_vector(7 downto 0); process(clk) ... dw(7 downto 0)<=ipc(7 downto 0); 这句在模拟的时候是正确的, 但程序烧到CPLD里后ipc总线上的数据并没有被传到d总线上; led<=dw(0); 这句模拟不正确,二极管不能被点亮; led<=ipc(0); 这句模拟正确,硬件工作也正常,二极管能被点亮。 当然给led的赋值语句只能用一句 cw<=''1''; ... end process; d<= (others=>''Z'') when cw=''0'' else dw; ... 我要的结果是能把ipc总线上的数据传到d总线上,同时要求d总线是三态总线,我的程序中ipc总线上的数据经过dw中间转换后就不能被正常输出到d总线上,请问大虾我的程序该怎么写?感谢!! [em27][em27][em27][em27]
作者:
nyxsec@yahoo.co
时间:
2004-6-7 13:11
可以将d<= (others=>''Z'') when cw=''0'' else dw 放在Process(clk)中再试一下啊
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0