找回密码
 注册
关于网站域名变更的通知
查看: 265|回复: 3
打印 上一主题 下一主题

FPGA一般设计流程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-12-16 13:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
设计时应注意:
- u% X3 q- y6 ^" s4 \, g$ }1. 设计必须文档化。要将设计思路,详细实现等写入文档,然后经过严格评审通过,后才能进行下一步的工作。/ v1 [2 s6 p9 h- Y2 z
2. 端口信号排列要统一,一个信号只占一行,最好按从哪个模块来到哪个模块去的关系排列。
7 Y, }$ @2 e6 n1 @! w  ]3. 信号的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
5 x: r. n1 d+ ?; a( _# y4. 一个模块尽量只用一个时钟,这里的一个模块是指一个module。在多时钟域的设计中涉及到跨时钟的设计最好有专门一个模块做时钟的隔离。这样做可以让综合器综合出更优的结果。
- z& L$ w* L) L  l$ ~/ g6 c/ g! s5. 尽量在底层模块上做逻辑,在高层尽量做例化,顶层模块只到做例化,禁止出现任何胶连逻辑(glue logic),哪怕仅仅对某个信号取反2 P& N+ c& \3 Q, ?3 j3 Z" i. S
6. 在 FPGA 的设计上禁止用纯组合逻辑产生latch。
4 j, Y  B) I2 T* q) ~7. 一般来说,进入 FPGA 的信号必须先同步,所有模块的输出都要寄存器化,以提高工作频率,这对设计做到时序收敛也是极有好处的。
& m4 n: T9 q( v* W' C2 Q8. 除非是低功耗设计,不然不要用门控时钟:这会增加设计的不稳定性,在要
! D6 @  N0 u6 a' E0 j( h/ J. M用到门控时钟的地方,也要将门控时钟用时钟的下降沿打一拍再输出与时钟
9 i( j( X( X( u; N- E1 M0 @) k相与。
$ ]+ n9 w  K5 D1 G分析系统划分模块
# b" j" f1 g) t各 子模块设计9 A$ o+ \2 J- ]' H$ `" k; Y- A
HDL 实现/ F/ w: s2 T' O  z; q
各子模块前仿真, ^6 E1 ?5 E% |6 J- U
各模块联合组成系统
- Q) C! s7 L5 B功能仿真
! R. D! p. \0 o  \& m逻辑综合
6 ^, W% T4 F7 ~/ \: F6 x; f8 p布局布线" p& M' V3 c) i  e+ Y) G
后仿真
# h% i: t0 o! U8 y系统硬件测试6 S) X1 l: [6 b1 H# L$ y- h
静态时序分析0 A/ j9 ]& G$ h  u& `5 |& K; o" c% ~

& N, f; G7 `/ _& B( s; ^3 q9. 尽量不要用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的
/ Q' ^- w  D9 V) x1 `方式,否则这钟时钟满天飞的方式对设计的可靠性极为不利,也大大增加了
) E( `9 {7 H  s3 _/ ?& I0 ^- P7 O静态时序分析的复杂性。
) a5 v" _# D  z+ M1 S10. 内部模块不能出现 inout 端口,如果需要,把inout 端口拆分为一组input 和& k7 x7 P. i* `; y  U: }1 k
output。
; Y6 ~- J& ~: F  b7 N3 f1 c11. 数据都十六进制或者二进制表示,且要标上位数。这样做综合器综合出的结, P5 f! H6 L  x& q
果较好。
4 G5 e. ]; N; H/ s' R12. 对齐一律用空格键,避免用TAB 键。这样可以保证程序在其它机子上显示的  t/ B% F2 o9 O3 [# n
格式一致,便于阅读。

! S4 Z3 ^! `" [9 I( Z
  • TA的每日心情
    开心
    2025-9-8 15:08
  • 签到天数: 1163 天

    [LV.10]以坛为家III

    2#
    发表于 2021-12-16 15:11 | 只看该作者
    very better !!!  excellent  professional  datas !!!  thanks  for your  sharing !!!
  • TA的每日心情
    开心
    2023-5-17 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2021-12-17 19:44 | 只看该作者
    我刚开始用的VHDL语言,现在用verlog语言,这种语言更灵活

    该用户从未签到

    4#
    发表于 2021-12-20 18:36 | 只看该作者
    门控时钟会增加设计的不稳定性
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-9-8 22:50 , Processed in 0.125000 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表