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

FPGA常用设计思想与基本模块划分

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-5 14:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
常用设计思想与技巧, ~- _4 o5 l% j
9 N. w; d/ C7 E( i4 \
(1)乒乓操作;6 [" V+ l7 ?% t4 r

7 h& v8 `. U1 ?; k' o) R  \(2)串并转换;
" `) E3 E/ a+ y, C# W, Q  i
1 Q% ?. d: O, [& u  t(3)流水线操作;
/ ~, c0 U6 D3 j( v' J
6 K# z3 C: |  f(4)异步时钟域数据同步。是指如何在两个时钟不同步的数据域之间可靠地进行数据交换的问题。数据时钟域不同步主要有两种情况:
+ _. s/ m% B9 w- h. i8 X6 ~& H/ k# Y8 W) s2 l
①两个域的时钟频率相同,但是相差不固定,或者相差固定但是不可测,简称为同频异相问题。6 w7 F9 {" @7 q1 G$ d9 H5 n

% g. a, |& f; z5 ^7 z% _9 C②两个时钟频率根本不同,简称异频问题。
, z* @! T* H7 s& m' u
1 P# W  l; Y4 r6 _6 h两种不推荐的异步时钟域操作方法:一种是通过增加Buffer或者其他门延时来调整采样;另一种是盲目使用时钟正负沿调整数据采样。( R# B4 c0 ]5 _1 c, f
0 A: G, j. j* S. ]
模块划分基本原则  A. c; d8 y) H" w2 X1 w

5 L+ S  K$ L+ y3 C4 n$ C! C(1)对每个同步时序设计的子模块的输出使用寄存器(用寄存器分割同步时序模块原则);
0 ^$ x0 H& L$ D4 _5 s9 c8 ^* V' E/ W
(2)将相关逻辑和可以复用的逻辑划分在同一模块内(呼应系统原则);
7 Z0 D1 o. N8 O$ H+ d. q; j5 @8 X: d0 O5 \" d' I. ~. r
(3)将不同优化目标的逻辑分开;
  y& ~" n3 Y& D/ }' v3 x1 q; p7 N9 H, a8 s
(4)将送约束的逻辑归到同一模块;8 d7 S' `  D3 ^5 x' K$ U2 N

$ z: W1 s$ _: ]7 j! o6 K. T$ g(5)将存储逻辑独立划分成模块;
% b7 n' Z$ Q) c- j9 d
& W6 l* F0 v4 K7 k- R6 n(6)合适的模块规模;
5 I5 j% b# j) G+ P) Y8 Y3 i1 G( R4 p+ f& y+ Z
(7)顶层模块最好不进行逻辑设计。
* D! L* X" A7 D6 R
# m# s& P5 n! a6 N" n+ I! v5 m& x2 n3 b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-9 09:07 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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