在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: dairlom

三态双向口的设计。

[复制链接]
发表于 2003-10-15 22:19:44 | 显示全部楼层

三态双向口的设计。

如果你使用Altera器件,它的三态控制我可以写给你。
 楼主| 发表于 2003-10-18 00:48:28 | 显示全部楼层

三态双向口的设计。

谢谢  shadow   。
我正是用的7128S。

发表于 2003-10-18 22:14:52 | 显示全部楼层

三态双向口的设计。

if(tri='0') then
  fd<="ZZZZZZZZZZZZZZZZ";
  a<=fd;
else
  fd<=b;
end if;
这里tri为三态控制信号
 楼主| 发表于 2003-10-19 00:16:39 | 显示全部楼层

三态双向口的设计。

那你看我这样写行不行?
SIGNAL  A: STD_LOGIC_VECTOR;
SIGNAL   B :   STD_LOGIC_VECTOR;
IF TRI=‘0’ THEN
DATA<= A;
B<="ZZZZZZZZ";
ELSE
B<=DATA;
DATA<="ZZZZZZZZ";
这里,DATA定义成了INOUT类型。TRI是控制信号。A,B都是内部信号可是综合时是通过了。但当我把它生成成模块而加以引用时,却提示说给B赋值是错误的。真郁闷了。
发表于 2003-10-19 19:40:40 | 显示全部楼层

三态双向口的设计。

你的意思是当TRI=‘0’时双向端口作为输出,舍去B<=“ZZZZZZZZ"这条语句。
不知你注意到没有,虽然VHDL-93的STD_LOGIC_VECTOR增加了“ZZZZZZZZ”这一状态,但是仿真是按照“11111111”来处理的。它内部信号不出现高阻状态。
发表于 2007-4-2 16:42:39 | 显示全部楼层
学习了!!!!
发表于 2007-4-6 00:11:45 | 显示全部楼层
我习惯VerilogHDL,大概的写法是wire x = (条件)? a:b;
有些FPGA芯片内部是有三态资源的,不能完全说不能实现三态总线,但是成熟的做法是不在片内实现三态,而仅在引脚实现三态,原因代码的可重用原则。
发表于 2007-4-6 08:50:00 | 显示全部楼层
学习中~~~
发表于 2007-4-8 08:08:59 | 显示全部楼层
有很多东西是在实际测试是才发现的
发表于 2008-7-28 10:19:09 | 显示全部楼层
好的解释.以前用过的.XILINX的比较好用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 15:40 , Processed in 0.023509 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表