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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5771|回复: 7

[求助] 用verilog写的三态门问题

[复制链接]
发表于 2011-11-14 22:37:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我写了一个普通的三态门,例化后在另外一个module调用它,再接一个反相器,综合之后出现WARNING:Xst:2041 - Unit challege: 1 internal tristate is replaced by logic (pull-up yes): in1。我电路中需要tristate保存下来,怎样解决?
发表于 2011-11-15 07:56:51 | 显示全部楼层
你的程序可以贴出来啊
发表于 2011-11-15 10:03:06 | 显示全部楼层
不知道啊
发表于 2011-11-15 11:00:17 | 显示全部楼层
一般来讲,在芯片内部不支持使用三态门,只有在芯片与外设打交道时,才能使用三态门。不过据说Xinlinx的FPGA支持内部三态门,不过我没用过,其它的好像都不支持吧!
 楼主| 发表于 2011-11-15 20:57:28 | 显示全部楼层
回复 2# shiyinjita
单独写的三态门:
module buffer(buf_in,buf_chs,buf_out);
input buf_in;
input buf_chs;
output buf_out;
assign buf_out=(buf_chs==0)?buf_in:2'bz;
endmodule

反相器:
module lut_inveter(LUT_IN,LUT_OUT);
input LUT_IN;
output LUT_OUT;
defparam U0.INIT=2'b01;
LUT1 U0(.O(LUT_OUT),.I0(LUT_IN));
endmodule

顶层模块:
module challege(in,chs,out);
input in;
input chs;
output out;
  buffer buff(.buf_in(in),.buf_chs(chs),.buf_out(in1));
  lut_inveter not1(.LUT_IN(in1),.LUT_OUT(out));
endmodule
 楼主| 发表于 2011-11-15 21:03:32 | 显示全部楼层
回复 4# l2002924700

如果是搭电路的话有几种三态门在元器件中。用verilog单独写三态门综合后看technology schematic时也有,就是把它例化时用在其他模块就被优化成逻辑单元了
发表于 2012-1-14 08:23:47 | 显示全部楼层
回复 5# longjilb


    对的,FPGA内部的逻辑不支持三态这一操作的,因为每一个slice由 查找表和 寄存器构成,这根本不可能实现三态,
而在IO口中,是设置了三态结构。所以你这样不可能成功的。
你可以看看 slice的结构,以及IO的结构
发表于 2012-1-14 08:25:56 | 显示全部楼层
回复 6# longjilb


    那个元器件库,一般在IO端口上使用的。内部基本上不会使用,实际上使用那个元器件也就是定义的线性结构和寄存器,同时连接到io端口上的。
前一段时间比较忙,就没有看帖子的,对不起啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-9 09:37 , Processed in 0.026415 second(s), 9 queries , Gzip On, MemCached On.

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