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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: 杰克淡定

[原创] Verilog基本电路设计之三(异步FIFO)

[复制链接]
发表于 2016-6-21 21:30:39 | 显示全部楼层
回复 15# cqugjw
我没有说是sync 吧?
发表于 2016-6-21 23:21:18 | 显示全部楼层
回复 15# cqugjw


   同一个PLL分出的时钟,同频反相算是sync还是async?
发表于 2016-6-22 10:29:22 | 显示全部楼层
回复 22# dyytx
同一PLL,同频反相算SYNC. 倍频都算。
发表于 2016-6-22 10:44:31 | 显示全部楼层
回复 17# yaya126

额 我不是大神,交流一下。我们coding style不一样,我不用二维数组,像‘==’这种我一般也不会写,会直接写成门级的组合逻辑表达。
发表于 2016-6-22 10:47:43 | 显示全部楼层
回复 18# 杰克淡定


   谢谢答复。1. 实际使用中会例化成block memory吧?2. 因为我习惯把==这种用异或门表达,不习惯直接写==,所以了解下。

在同一个.v里也可以把同时钟域的always块放在一起。

个人见解仅供参考。
发表于 2016-6-22 10:48:59 | 显示全部楼层
回复 21# yaya126

sorry,是我看错了~~
发表于 2016-6-22 10:58:14 | 显示全部楼层
回复 24# cqugjw
FIFO的里面数组,不写成2维数组还真不好表示,当然你可以手动inst memory.
==和逻辑表达式没区别,综合工具会根据SDC timing约束,选择它认为的最优逻辑表达,你想综合出来的和你想象的逻辑一样,手动搭cell,并且标明DONT_TOUCH, 综合里面标明看见DONT_TOUCH就不要优化。
发表于 2016-6-22 11:02:26 | 显示全部楼层
回复 27# yaya126

使用中还是应该例化成block memory吧,因为二维数组综合出来占用FPGA的寄存器资源,像distribution memory。
 楼主| 发表于 2016-6-22 11:09:49 | 显示全部楼层
回复 25# cqugjw


   一般我们说的FIFO,存储体是指DFF。你如果用SRAM作存储体实现FIFO功能,那样的电路习惯称为双口RAM控制器,不再称为FIFO。当需要的存储容量较大时,会使用双口RAM代替FIFO,因为在大容量时SRAM比DFF面积优势明显。
    关于写成“==”还是直接写成逻辑,我的看法是,你觉得用直接用这个逻辑门来实现电路更优,那可以直接写成逻辑。否则没有必要,因为DC综合工具其实是很聪明的,它会自动优化选择最合适的驱动能力和面积大小的std cell,应该给工具更大的优化发挥空间。
发表于 2016-6-22 11:16:39 | 显示全部楼层
回复 29# 杰克淡定

谢谢耐心解答,有了新的理解和认识。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-26 21:58 , Processed in 0.025575 second(s), 6 queries , Gzip On, Redis On.

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