|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——时序与仿真学习-流水线型LUT乘法器 $ e: w* s' y, q0 M# ~* n
流水操作可以说是Verilog HDL语言的特权,顺序操作如C语言是很难实现流水操作。
3 c o% V+ m- t. E
2 T9 K" R) T* I6 D" ^* M, I
$ i! Y: }9 Q9 ^2 u, C8 W6 G我们先假设有一个流水操作模块,它有3个操作步骤,在A进入之际,直到A离开这个模块之后,期间有3个空挡的时间,成为潜伏时间,在这段时间内没有任何字母从这个模块出来,一旦经过这段时间,字母就会源源不断的从这个模块出来,换句话说,流水操作的潜伏时间是根据操作步骤而定,预测潜伏时间是流水线操作不好控制的原因之一。此外,无论是并联还是串联的流水操作,读者会发现流水操作的操作方向都是向前走,这是导致流水操作不好控制的原因之二。所以说,驱动、控制都不适合流水操作,因为在驱动和控制方面,连线向量不可能只有一个方向而已,相反,如果是数据处理或者算法之类的话,流水操作再合适不过。
, G- [8 p, k- Q$ @9 Z, ?最近看到一个关于流水线LUT查表乘法器的程序,仿真了下,大部分是正确的,但是当乘数为0时,结果出现错误。& k: p& r+ s( g
仿真图如下:+ w8 O6 e" I4 T2 H! r& l! S9 ~
# p2 O, t. A/ u: y* r+ k; D# n对此,我修改了程序:1 Y4 r. {8 ^: [7 U2 f" g" X
( r2 |9 L' z% S
仿真图如下:. Y u7 l0 D+ g7 R. l$ B$ a$ Y
|
|