|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在学习一门技术之前往往应该从它的编程语言入手,比如学习单片机时,往往从汇编或者C语言入门。所以不少开始接触FPGA的开发人员,往往是从VHDL或者Verilog开始入手学习的。但小编认为,若能先结合《数字电路基础》系统学习各种74系列逻辑电路,深刻理解逻辑功能,对于学习HDL语言大有裨益,往往会起到事半功倍的效果。
8 j, N8 f3 W$ a: b5 G
& B* r( V0 E- D5 o; @当然,任何编程语言的学习都不是一朝一夕的事,经验技巧的积累都是在点滴中完成,FPGA设计也无例外。下面继续分享一些FPGA经验。
3 P/ d9 A5 S8 t2 h. U3 H0 D# m4 D
; _, j9 N3 r0 lFPGA中的Block RAM:/ e* ?/ @- h( [& K* H _
) p, b4 A3 ^$ W# y4 H) m: ]3种块RAM结构,M512 RAM(512bit)、M4K RAM(4Kbit)、M-RAM(64Kbit)。" r0 P( _& R7 D: g* f( J h
b' N8 X1 e/ Z9 ?5 g: @7 YM512 RAM:适合做一些小的Buffer、FIFO、DPRAM、SPRAM、ROM等;5 m* u9 O# d( B5 W+ p' q" Y
~! T$ L1 P7 h$ z( A
M4K RAM: 适用于一般的需求;
8 C' ^9 [ {7 |6 G: T* N& C
4 T6 Z4 i+ T* ^5 ?( I9 c8 S8 vM-RAM: 适合做大块数据的缓冲区。
) }( R6 I' o6 y
7 L/ D% h3 ?( N7 OXlinx 和 LatTIce FPGA的LUT可以灵活配置成小的RAM、ROM、FIFO等存储结构,这种技术被称为分布式RAM。# G( S& x4 B! d) ]! T1 d* w
, r) W' H0 C; B, J补充:但是在一般的设计中,不提倡用FPGA/cpld的片内资源配置成大量的存储器,这是处于成本的考虑。所以尽量采用外接存储器。+ |" r/ [9 D* u5 A
2 ^' U9 A5 { X8 s# `8 K
善用芯片内部的PLL或DLL资源完成时钟的分频、倍频率、移相等操作不仅简化了设计,并且能有效地提高系统的精度和工作稳定性。- d* p" K! T: S5 d0 t
8 o T9 u+ j. ^6 i6 k/ r, W7 X
异步电路和同步时序电路的区别。
& e1 c+ u0 B3 N1 {! [1 S- @" O* J; M& R, O
异步电路:- u- X% ^9 t+ W6 h; N
4 R& H) j! C* n! ~电路核心逻辑有用组合电路实现;. l3 z% C: u4 ~
: Z7 |* Q7 i- L
异步时序电路的最大缺点是容易产生毛刺;
9 \ W' `" N% C+ }4 i- p% H2 V* }0 j% s$ ~5 L4 |0 a8 B- |
不利于器件移植;; m" N4 d* c- o( o* @, t2 P
2 i- y& {, I0 m/ j6 h
不利于静态时序分析(STA)、验证设计时序性能。
1 Z. H1 T4 S7 q0 r
& \# ?6 r. e, w( c1 f* ^6 j同步时序电路:
, U V6 t5 _8 k5 j# |/ m- N( Z" P4 H3 |5 A' m0 V3 F! Q- J
电路核心逻辑是用各种触发器实现;
. T2 F. x% ~! o+ a# |0 G- G; N4 \2 V0 {4 \
电路主要信号、输出信号等都是在某个时钟沿驱动触发器产生的;
7 _* w6 z4 F" B9 @4 [! _( l# @* t+ f
同步时序电路可以很好的避免毛刺;
4 O' J1 t o% C3 n/ e U
0 G% i" F/ l- E' N* C7 o利于器件移植;
( r# [ `# x, }" k
5 o- Z" q" X8 S2 n* w! f" x利于静态时序分析(STA)、验证设计时序性能。4 M( c1 ]: x% m; Z- ]5 \: u
' j P0 V9 e# y1 ~
同步设计中,稳定可靠的数据采样必须遵从以下两个基本原则:; O& L, d8 b Q. c$ K
6 s: r- H5 w" k" m! ^
(1)在有效时钟沿到达前,数据输入至少已经稳定了采样寄存器的Setup时间之久,这条原则简称满足Setup时间原则;" T ~: {( c! @8 ` l
+ y2 }( g- x4 b0 c( c
(2)在有效时钟沿到达后,数据输入至少还将稳定保持采样寄存器的Hold时钟之久,这条原则简称满足Hold时间原则。
5 w/ O, K! m/ n. E* S- v/ P, P8 d
$ \& A2 h2 ~% M; y( B
/ U/ _; z6 @& n# K. s0 g7 y' z |
|