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

FPGA笔试题及答案总结

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    FPGA笔试题及答案总结
    + \4 V* u* K% m2 D. P$ a8 D0 ~# W5 ]
    游客,如果您要查看本帖隐藏内容请回复
    7 h' z' \/ P) k) R

    该用户从未签到

    推荐
    发表于 2019-9-7 22:54 | 只看该作者
    1、简述触发器和锁存器之间的差别?) `" \6 {: B2 V2 p  E
    锁存器对电平信号敏感,在输入脉冲的电平作用下改变状态。( ?7 L0 ~) Z) n" b
    本帖隐藏的内容
    3 q. Q* ?, b& \' O$ O- o# g
    - H4 ?; c+ d9 b# i$ Y# }D触发器对时钟边沿敏感,检测到上升沿或下降沿触发瞬间改变状态。- Z4 n# r$ h+ n7 `7 I$ \. L. }. l
    ; V- e: X* N) b$ B; s7 V
    2、什么是Clock Jitter和Clock Skew,这两者有什么区别?1 V8 ^. i# ]9 R, D( F
    # Y% f" c" Z/ [" S2 ?$ O" J( t$ z$ B# O9 d% ]
    & J: ~2 b/ Q% K* e
    ( J4 q$ t4 ?7 t7 i2 S时钟抖动(Clock Jitter):指芯片的某一个给定点上时钟周期发生暂时性变化,使得时钟周期在不同的周期上可能加长或缩短。
    # k- E6 Z* O- e: _
    ; s9 Z- L- \& I. |$ e. v' N3 z, n& E+ t! [+ a3 _% o
    如下图:2 a( a( O6 K, g# O
    / j3 a7 K) e# L2 R  u
      }9 J) u+ f( d: T/ @: |2 E. v0 d7 c3 J
    5 K( g) z; u1 D5 n, B' |1 t  2 }5 [3 |+ c4 q7 W( A

    9 f8 ~- n4 ]6 g! R4 r$ H0 Q& g  [' O; }; b8 l1 a
    时钟偏移(Clock Skew):是由于布线长度及负载不同引起的,导致同一个时钟信号到达相邻两个时序单元的时间不一致。
    + z3 I6 W9 J- l' S4 T% z$ r- ]5 Y: e; W* ^8 ~, m* W2 y, W

    ! L9 S( ]2 b% ~  A, n如下图:% F: ?5 ]& ^& G7 c* s3 d

    " k  \* [- m% n2 i8 U
    7 e* i. |& H4 s  @  
    6 ^9 G: s: \  J6 q& `) Y$ {* Q
    3 Z3 u) Z* a$ ~: b
    8 J( d, h+ h, \2 {5 M+ q区别:Jitter是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。Skew是由不同布线长度导致的不同路径的时钟上升沿到来的延时不同。! a' k+ C1 e5 a" n
      d8 b! C6 g/ G6 W' y, R3 K  M9 T- U1 s2 h9 b5 x+ X2 d! P) _! R6 J( E+ {+ A" v

    & ]# A5 O+ A9 W# @+ B2 q时钟抖动和时钟偏斜的差别5 P3 e1 D& X! l& U1 [
    5 N* }- y% R4 U  n. V* B; f6 ~8 f% u! r' Q+ u) C  L
    ; t$ F/ }9 ^' P7 F; N: a) r5 }' A% \. G7 k' L" F: L
    3、什么是亚稳态,产生的原因,如何消除?# B* l. c. I( K, }" c* ]; i* B
    # z' ^7 L3 T. s$ T: h
    $ D$ y$ h9 Q# n' t* W- U% n: z
    / O# z: S/ O+ O' R  F这个问题的详细介绍在博文:亚稳态专题& `/ w% F- ?1 `
    ! s. r* _! f# a- i& V
    - V) C+ x/ B1 P4 F1 {; U  O+ V2 ]5 W4 S
    篇幅过大,给出简洁解释:5 m7 I* t& w3 R! J5 A: J( u5 e% R, W
    0 V3 j' l+ w& y6 ^/ Z, c7 H5 e0 t( Q- t' I2 T

    3 f, q; q! V+ ~; ^7 ^1 a5 f如果触发器的输入电压采样时间过短,即时序不够,则触发器需要花很长时间来实现输出逻辑达到标准电平,也就是说,电路处于中间态的时间变长,使得电路“反应”迟钝,这就是“亚稳态”。(例如输入信号在时钟有效沿的建立时间和保持时间之间改变了,导致不满足触发器的建立时间或保持时间,导致输出有一段时间的不稳定态,就是亚稳态。)
    7 B9 \8 y4 V, j( Q5 }7 t% g, V. b9 c, V% ^$ m& T$ a
    2 |: G! h* E0 S9 I3 s
      N3 [" x; \5 c: Z* T" @$ f3 z8 n3 n9 G
    消除:两级或多级寄存器同步。理论上亚稳态不能完全消除,只能降低,一般采用两级触发器同步就可以大大降低亚稳态发生的概率,再加多级触发器改善不大。
    2 v$ t# [: _3 S! m" }) |9 a/ T5 ]$ r! }. T0 E5 @  X, w* d! M) M! z
    , @3 z5 H1 w* k0 H+ ^
    2 E' @4 U" ~: U. {' T+ F8 _& h  
    8 Z4 N' U1 k, ~+ i- \# l) X+ P; W: n

    $ N$ d% }2 g8 ]( V& q但注意双触发器作为同步器只能用在单比特数据的传递中。原因很简单,因为同步器输出只能保证是一个稳态不能不能保证是一个确定的值。故多比特数据使用同步器还是会出现乱码的情况。对于多比特数据的操作一般使用异步FiFO。 . x4 H" e+ S7 M0 R0 d6 y
      V. `6 I+ N2 I( ^# b  {, N2 d8 e5 u& E' l) o& |2 |; o" S9 G' z: `$ q9 M
    . J6 K% {+ Q4 X# s0 Q/ R- z! `% y' R  t- n3 K- u7 C. Q3 C* ^
    参考代码:
    , D( @1 Z3 _# B# Z5 C5 W9 J9 X- {7 M6 a, l- i  K- H8 {# D
    ) @4 _) i; w( {, }0 R( i; W$ i( p" m% @' ^; g2 i! b/ A" a
    ----------------------------------------------4 z6 x3 }! B0 L3 I
      J' V; ]* D& a. Z( l: u( i% K# x/ a6 ~9 S8 y. Z9 a7 j0 n& o1 R  j9 X
    0 C% l" ~) j! S: t' w
    reg data_mid;7 j' |# \% b8 q( [7 W% {- }5 A9 Z
    9 t! W; g! i, r% j6 u1 P# \) d% R( n
    ; j9 Q- ~5 G' x' m( H4 Z# Y$ I2 K: p+ R8 t2 W& d0 e

    * d5 U( R' U  y  ~2 I  Z* w1 R! x, @+ U* H0 J$ e7 o9 h/ D0 k) B- ~' @& Z6 K' b, x0 e
    9 N3 l: d$ v% n: j5 R- d) I4 o" n+ h5 d3 M& D; F, p) P
    reg data_out;, ~8 B" I: }* E% W1 y4 O9 P0 e
    # i8 V0 s& l: E( M% v4 ?! M( L& e6 u4 p" S
    9 @; ], w3 D6 m: y2 t
    # i  y5 R) K6 T/ Q1 \2 H' X" Y: T4 m# U8 Y1 R2 o5 [, |; \) f3 c7 B
    - P& o! {6 E2 H3 l' L& r! J1 Z. c  w4 s) Y% Y4 P9 B) i0 b( {
    4 k6 c+ l( d* g# \5 ~
    1 d- n' l+ @! ]: d% Halways @(posedge clk or negedge rst_n)begin+ Q2 z, W- \8 Y9 X
    ' {3 ]/ l" ~' N9 F1 I9 C+ |0 _2 e: ~& B0 e2 l8 M7 a3 E% e4 V  J$ F' }

    ! X3 j- B2 o1 N; }1 T& O. c+ X; b7 @) r! e' U+ Z+ `  r: Q( u+ m1 E8 a
    6 {( G  p! x, @' ?# K' r, |

    6 ^$ \1 W( _+ c+ E( O    if(!rst_n)begin/ ]) m3 f3 Z. {6 D3 y# g2 B  f$ ?- I' N/ ~5 H. c' x
    , ~) [4 R% Y9 t, ]) _! r6 K3 T6 p  U
    5 E1 ?3 Q0 g2 k" ?  K) S& O, s, [% t. k& d5 `
    9 B) V  N+ Z4 g+ t. B, i5 W
    3 }6 U) X* e4 I4 @; i& {
    7 F+ H$ H* V# }$ l. s& [* s5 r+ K& k6 a7 _9 b4 a3 ]
            data_mid <= 1'b0;& a9 X- D) Y7 S( c. v
    ( j6 Z  X0 L9 R1 C
    " o- _, E1 ?  ]  F! B6 f% a$ {6 [- h: p% f
    " P# I# x8 m; }2 r2 \/ ^  U5 [0 P8 ^2 @4 o7 R# Z  ^4 o
    , D, q: {  d) o
    , Q. w  I& J: V  J( ^- ~$ l5 q, Y+ }3 u3 U3 Q7 w5 K, t+ [
    9 F% H4 ], |. c6 y$ Y" q% l
            data_out <= 1'b0;
    / D! K+ ?  q! f' o1 `
    6 _- H* w& ^9 o9 j8 d$ x* C4 e% q( P% b1 b. \8 a0 J" Z5 V- L& Z5 Z2 t
    3 e' a5 R- p7 s# M
    1 e' Z0 D& h; T: s$ _, T: D9 H6 ?+ C
    5 v5 V* a  `; y- j% ]
        end1 S8 ]- d/ |1 K" g, Y1 w2 x9 F2 ?0 `. v
    : @# x8 T8 b- @8 P. b. B
    - f2 e) s  X0 v" F4 q) q7 R3 T) h6 o8 r% c0 |1 @1 F8 w6 x% B* J' @2 a" Y3 s  Q9 \

    # |6 T; K* F# w$ c+ o4 G7 D7 W+ z5 a, f; f
    9 F! B- r4 _# M" }: h0 |; G% x9 r$ \
    + q" v/ B" R; U- @    else begin+ C! X3 U0 I* i. e
    + _- K- g9 _7 F, U9 g0 B# H7 B* Z1 b' @% g. r- v4 r$ E! [8 V
    1 \9 Q6 e. }6 a8 N: l

      M' {, j- ]) w, _1 e( n2 j" r7 k* W2 X& t+ ?3 J
    & n& G- t# U( J0 o; A& k+ }: W
    4 W0 P% R# m. u) \  j' b        data_mid <= data_in;8 l' C2 P9 B; |# j0 y7 }* \. G3 I8 s
      o# g( g' x- W0 r" x9 X5 ]
    . Q1 j- G1 Y; }9 D
    : W; c3 f+ O" ~: R+ x' V* G# G6 {- d
    3 ]) `/ b2 c, z

    7 E# J3 Q( u( i: O  V7 ~- {        data_out <= data_mid;+ ?9 s' b* }2 W$ P# ^' x+ T& z. S
    3 g2 j0 Z0 V+ {: q/ h& D
    # z# L1 s" ?9 D. s. q) J8 r$ @2 b: _+ r  {/ `+ v4 m& i7 O; X/ W! _

    & I  Q- E0 Y' n, e0 N$ F. u( a) {/ K1 v" t& x4 n8 g/ ^( ^: f: Z3 M; v0 L

    - i6 E9 `, c7 B% I. R    end
    9 }6 l/ i+ U$ N1 @  S3 t3 A$ I) c/ ^' w. W
    0 j- \  w$ g: ?9 N  p2 m9 p* J# A6 F: T, v; V  `! [
    & Z0 `! q' G  h* R& J. C4 y3 i4 ]
    # l. g' a* N2 G$ P6 E" ^: Y# e6 }  F* L3 O& I6 c4 w% h& t; m
    ! S+ s9 p# `/ Q6 s$ W7 e, A
    end2 `) x: n. ?: d7 P9 Y& h! N0 c  J- ?
    . ]& Y! L. @7 j' f$ r. ^7 P5 V" S8 {& J5 u! V
    9 D1 K- h6 ]5 m% x# O0 w0 T0 {
    2 w* P- V( W9 B  h+ k" ]  p9 b8 c- L4 ^1 ^- P: g
    ----------------------------------------------0 h: y' B: }* S. I2 M/ I
      X" w6 B; r- E+ F8 C1 l4 x& U, C* e6 L/ [9 F3 j4 @- T$ e) L, T
    4、同步与异步?
    ( O: [' F( k6 A2 i+ {' d+ L- o3 P' p0 {6 p
    8 g' i: h4 ~+ m1 `
    同步复位和异步复位的区别, n( e3 h) I( N" v4 K! R4 ^( p- B4 D, S
    . S, ]* s: k) n0 S: E5 b7 i. [; S: z" D% Z

    8 P( T$ N9 Q; g$ j) t7 D同步复位是复位信号随时钟边沿触发有效。异步复位是复位信号有效和时钟无关。
    $ N! {" \$ S  D% {% p7 m, g7 f. G& ~" @9 c3 Z* `( s7 `
    # ?+ L$ |3 t5 c2 a$ c: b4 c( d$ M1 R3 M* o
    如异步复位:
    5 a% G0 y/ q) y! J5 Q; f% a" V8 |& |6 t8 l1 k5 C. X/ i8 W2 g0 Q8 m4 U
    9 X" h4 @* _- W& M! \6 m! j# Q: n
      
    " G2 m+ B6 g' W
    1 r7 {7 d, w7 F" R: b/ O# L2 H/ I5 h* T
    同步复位:* z- M8 I7 z5 ~5 B9 t! j% _" k5 W9 T: X) m  E! t/ l6 u
    5 M: B2 ]0 y8 D# T1 w7 D! Y; h2 ?5 t% C( T$ b

    $ F% ^) t9 O* p$ p! F' P/ V  
    1 s/ Y1 t  O  w; C1 o
    - ]5 j3 G  g3 N6 A9 E4 B4 {: A3 A( P% H! Y+ U: B& n7 _
    同步逻辑和异步逻辑的区别2 ^! k* P5 F4 u) D3 o$ `+ H4 k9 J% Z( U2 j
    1 d6 U& s/ j1 J1 `
    ( B: N& q/ a* ]$ Z( P4 {( ?& ?. z) Z! h' ~
    同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系2 ]6 b7 [) J2 N  z% T% @
    / k/ r8 a2 `" X$ a: q) D1 ?: u6 `4 }7 z
    3 i3 T2 F+ g8 m7 L6 c
    同步电路和异步电路区别
    8 C7 U; ^" k! z, k2 N- D. R2 k/ q; T2 i2 S- H# m* a; A8 a+ y5 Y
    * H3 G( G! c& O" T; _; m! Z; b0 @' [$ \
    同步电路有统一的时钟源,经过PLL分频后的时钟驱动的模块,因为是一个统一的时钟源驱动,所以还是同步电路。异步电路没有统一的时钟源。0 W5 i# Y5 l* ]* O# V

    5 f! l# a  E: L) r4 K' ^' _  K7 Q
    5、谈谈对Retiming技术的理解, R7 R  v: }3 e% Q: O% z# F3 V$ ]' t7 r0 _, ~1 D  ]2 H1 n

    - E! r  K2 c8 P# z! M! u- ]
    ) n0 ^, a6 ?  T# BRetiming就是重新调整时序,例如电路中遇到复杂的组合逻辑,延迟过大,电路时序不满足,这个时候采用流水线技术,在组合逻辑中插入寄存器加流水线,进行操作,面积换速度思想。
  • TA的每日心情
    开心
    2022-4-1 15:23
  • 签到天数: 2 天

    [LV.1]初来乍到

    推荐
    发表于 2020-2-28 08:55 | 只看该作者
    参考一下看看 嘎嘎

    该用户从未签到

    推荐
    发表于 2019-9-7 22:51 | 只看该作者
    学而时习之
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-8 17:49 , Processed in 0.156250 second(s), 28 queries , Gzip On.

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

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

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