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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] 请问,always里最多可以@几个边沿敏感条件?

[复制链接]
发表于 2019-5-8 16:30:11 | 显示全部楼层 |阅读模式

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

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

x
有人说,里面不超过2个边沿,有这个限制吗?

我仿真的时候,可以加多于2个边沿。

QUARTUS ii 可以加多于2个边沿不报变压错误,但是结果不对。
如果边沿少于2个,结果正确。

没查到这方面的资料?论坛里哪位有经验,帮我解答解答,多谢?

或者always还有一些别的限制?
发表于 2019-5-8 16:46:47 | 显示全部楼层
把代码贴上来看看。是不是写的不对
发表于 2019-5-8 17:09:13 | 显示全部楼层
不是几个的问题,是要能map到实际的基本cell。
1:写1个edge, 基本就是clock,用同步复位寄存器;
2:写2个edge,一个clk,一个复位(0)或置位(1)。用异步复位寄存器;
3:写3个edge,一个clk,一个复位,一个置位。用同时带有异步置位/复位的寄存器(这个用的很少,ASIC可以有对应的基本cell);

回答完,推荐一个数字IC/fpga设计深度入门课:http://bbs.eetop.cn/thread-854132-1-2.html
发表于 2019-5-8 23:22:59 | 显示全部楼层
标准写法推荐设计中最多两个沿触发,语法本身是支持的,仿真没有问题,但考虑底层的单元(FPGA/ASIC)均不建议这样写,这样会导致综合映射出问题!
 楼主| 发表于 2019-5-9 09:21:43 | 显示全部楼层
整理一下我的代码和测试结果:测试条件如下:quartus ii 12.0. CPLD/5M570系列,clk时钟40MHz。 count_r为 9位宽。

count_r[5]无输出。输出错误。

 count_r[5]无输出。输出错误。

count_r[5]输出9.2MHz左右信号。输出错误。 (和1的区别在于注释掉portBTRIP_r<=1;语句) ...

count_r[5]输出9.2MHz左右信号。输出错误。 (和1的区别在于注释掉portBTRIP_r<=1;语句) ...

3. count_r[5]输出0.625MHz左右信号。输出正确。(注释掉always中的部分判断条件) ... ...

3. count_r[5]输出0.625MHz左右信号。输出正确。(注释掉always中的部分判断条件) ... ...
 楼主| 发表于 2019-5-9 09:36:51 | 显示全部楼层


asic_service 发表于 2019-5-8 17:09
不是几个的问题,是要能map到实际的基本cell。
1:写1个edge, 基本就是clock,用同步复位寄存器;
2:写2个 ...


感谢回答
发表于 2019-5-9 15:29:44 | 显示全部楼层
语言本身的限制是没有的,但是作为一门描述性语言,必须要依托于硬件cell本身,所以还是有限制的。除非什么时候能够设计出这样的cell。
发表于 2019-5-10 15:23:28 | 显示全部楼层

语言本身的限制是没有的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-15 19:59 , Processed in 0.020497 second(s), 8 queries , Gzip On, MemCached On.

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