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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12673|回复: 13

[求助] Z。。verilog使用中遇到的一个关于高阻的使用的问题,,求解

[复制链接]
发表于 2012-3-16 17:17:57 | 显示全部楼层 |阅读模式
0资产
assign clkawire = (((!DSP_TAAWE)&&(DSP_TAAOE))==1'bz)? clka2init_dpram_clk_out:dpram_clk;。。。


上面的一句话。综合没有问题,但是之前都没有这样用过,,特来请教。
DSP_TAAWE,DSP_TAAOE,是顶层模块中的port,都是输入
其实,这句话的本意是,如果DSP那边没有数据过来的话,clkawire连接到wire  clka2init_dpram_clk_out,
如果有数据过来的话,clkawire连接到wire  dpram_clk

在上面的代码中,用((!DSP_TAAWE)&&(DSP_TAAOE))==1'bz)来判断DSP是否有数据过来,应为我在DSP的手册上看见,如果那边没有数据过来,相关的引脚都是高阻状态。
发表于 2012-3-16 21:56:11 | 显示全部楼层
从来没见过这种用法,只看到要做3态的inout才可能用到高阻,直接用高阻来等于信号应该有问题
发表于 2012-3-16 22:57:35 | 显示全部楼层
跟三态的IO一样
发表于 2012-3-17 06:48:50 | 显示全部楼层
二楼说得对,我想可综合只是将高阻态当成0或1。
发表于 2012-3-17 13:07:16 | 显示全部楼层
这样写是有问题的,不是可终合的代码风格!高阻态(z),一般用于三态建模,或用来写行为级代码,如编写测试平台,便于debug.我觉得照你描述的,应该加一个使能信号,由这个信号来决定选择哪路数据。
发表于 2012-3-17 19:09:43 | 显示全部楼层
高阻态是一种人为定义的负载状态,在此状态下,可以主观认为是一个大电阻。在高阻端测量的信号可以是电平范围内的任何电压。现实电路中是不能将高阻态作为判断标准的。
发表于 2012-3-17 21:25:36 | 显示全部楼层
才遇到差不多的问题~~谢谢楼上的回答哈~~
发表于 2012-3-17 21:55:57 | 显示全部楼层
signal == 1'bz 这种语句仅仅能用于仿真,用来综合可能结果未知。而仿真中一般是 === 1'bz 这种判断。
建议楼主还是多从硬件的角度来思考问题,实际电路中你怎么知道一个信号是不是高阻呢?
建议还是用DSP那边的控制信号来做选择,什么信号导致DSP没有信号过来,就用那个信号来进行判断
发表于 2012-3-18 15:56:40 | 显示全部楼层
和高阻z比较有点诡异,旁观之中。
发表于 2012-7-9 13:35:17 | 显示全部楼层
要是一个端口有高电平,低电平,高阻三种状态,这三种状态代表着不同的功能,那我该如何去判断呢?要可综合的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 22:10 , Processed in 0.028660 second(s), 7 queries , Gzip On, Redis On.

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