我想知道如何实现tranif1 的功能,有人能告诉我麽?

[复制链接]
5781|4
 楼主| ccmicky 发表于 2011-7-28 16:46 | 显示全部楼层 |阅读模式
我在设计中要实现一个  tranif1 的功能。如果直接使用这个原语,仿真、编译都不支持(我用的ISE12.2ISIM)。我用
inout a,b;
input en;
assign b=en ? a : 'bz;
assign a=en ? b : 'bz;
可以综合、仿真,但是仿真的结果就是X,仿真时
initial begin
a=0;b=0;en=0;
#10 a=1;//此时b=z
#10 en=1;//此时b=0
#!0 a=0;//这个时候b就变成X
#。。。。
请教各位!
因为这个是一个大系统的一个部分,所以如果这个部分的输出为X,其它的信号几乎就全是X了,就没有办法仿真别的部分。
jennyzheng 发表于 2011-7-29 09:27 | 显示全部楼层
帮顶~ 不过 #!0 a=0;怎么变成了!笔误吧 是10
AutoESL 发表于 2011-7-29 12:44 | 显示全部楼层
#!0 a=0;//这个时候b就变成X
难道果真是这个笔误?
dan_xb 发表于 2011-7-31 14:39 | 显示全部楼层
这段语句是干啥用的?
为什么越看越觉得乱呢?明显会引起管脚短路啊。
你到底想实现怎样的功能?
TranIf1这个已经不是数字指令了,它实际上是调节管脚的输出能力。
这个指令对应ASIC的一种特殊硬件结构,你用这个是做什么用?有什么地方有必要做这个吗?
dan_xb 发表于 2011-7-31 14:41 | 显示全部楼层
看这个,ASIC专用语句所对应的结构:
http://140.125.30.116/program/ic ... .switch%20level.pdf
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

25

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部