|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
常用设计思想与技巧* Y, X6 q, a5 v0 U1 b4 c9 s
: v) b* ^% e3 E, W8 [/ v
(1)乒乓操作;
: h( @6 L8 y. {3 J! R
; @% g" I- f" ^7 p+ J9 m(2)串并转换;
% I7 u+ W8 R5 z/ _$ H0 B. D
- ?( v" \, C( C- ~6 Q(3)流水线操作; G, V2 ?; b. |
! i! q9 h3 l7 I! J: e
(4)异步时钟域数据同步。是指如何在两个时钟不同步的数据域之间可靠地进行数据交换的问题。数据时钟域不同步主要有两种情况:
2 ?4 z; a( k, | ^5 Y, Y* h- S; q: I% U2 U9 ]& ]
①两个域的时钟频率相同,但是相差不固定,或者相差固定但是不可测,简称为同频异相问题。. x c: q [4 v! f! _
% r" `; v% U! S( U
②两个时钟频率根本不同,简称异频问题。
' N. W7 s( I; o. z- ~9 F! @* |- B! m) o0 D# R
两种不推荐的异步时钟域操作方法:一种是通过增加Buffer或者其他门延时来调整采样;另一种是盲目使用时钟正负沿调整数据采样。* n f( t0 |5 x& S6 L, ?
% N+ h7 F& e4 z9 }# w. O) t模块划分基本原则* o! I. s) d. h
) v9 z2 b7 ~+ T* k3 K c
(1)对每个同步时序设计的子模块的输出使用寄存器(用寄存器分割同步时序模块原则);
. \% Z) c7 x: c- {8 J( N
; k, R( H- z3 l; h2 N1 w(2)将相关逻辑和可以复用的逻辑划分在同一模块内(呼应系统原则);6 u: N# | N% `( Q
; H# V( [/ E* P+ G. V
(3)将不同优化目标的逻辑分开;
; E; b4 n$ ~; o' A; o; {
. q) |( q& Q8 B6 t' M- ]0 y% N(4)将送约束的逻辑归到同一模块;% F+ P* \5 T$ q
& Z- d8 H3 o$ A1 K( S5 j
(5)将存储逻辑独立划分成模块;7 I/ O+ ~4 M1 H1 O5 g6 A7 H# m
9 p) D, j' b" N" C: H
(6)合适的模块规模;& n( W2 ^1 g- i+ P
: e8 v5 \' }: z(7)顶层模块最好不进行逻辑设计。$ G1 {& d0 L* X5 M O0 Z0 i; }1 |
! J6 e8 J. L; E$ N% l
& _1 |/ t) k* b, s |
|