Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 18084|回復: 3
打印 上一主題 下一主題

[問題求助] 關於verilog的除頻器無法使用modelsim模擬

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源
/ t9 A1 c# Q$ {; n6 A' R+ Q但我使用modelsim時卻無法正確的讓它產生振盪
- c( e; g, `$ f6 c該波形完全處於0狀態; ?3 R6 H" {9 H5 C4 u4 B* {
但實際用fpga燒入以視波器測卻可測得其波形
+ f! i4 z5 n- W* }不知道是modelsim本身看不懂我寫的! {; [" e. l7 O8 @! i' i
還是我根本就寫錯了
6 i6 S' M* |, g0 B$ \" |又或者是testbench沒寫好?) U& w7 d- ?1 l1 a3 T
煩請各位大老多多賜教!!" h! ?& I9 k. C- Z

/ g2 J" i6 ^' ^& X/ w" G8 X$ j3 _! I- e# f6 k4 e5 z$ T
module F40M20M20k50(F40M, Rst, F20k);
, o6 P* Q/ I& q4 h# |    input  F40M;
7 w( T/ M* v# f+ }7 ^7 K    input  Rst;
" F% @- X* R2 V5 ~+ e% P$ ]# P1 M    output F20k;
) G+ ~# e) d& J: D& n  
! v- z# [; S5 X( W    1 s; D6 r1 w6 @0 h* v4 O
         reg F20k;
0 f; ?) f  {& i0 z( P4 n. N         reg [10:0]B2000;
3 w& j& D! b+ p& |/ g( Z    reg Count;
7 p1 ^' X- e) j3 {$ s  J- g( m4 W    ! ]; \' T* ?5 P7 a# H6 f2 i" ^

" i* h, L: T, f5 Ralways@(posedge F40M)/ a0 t! r+ d. v% J. v  G9 t  o
begin, y  h. F) L7 B3 E3 K0 ?* m. R, ?
if (Rst) , o+ x. ^; }! Z0 A, d3 X. ~" {7 _
    begin
2 I0 L4 t/ |0 _8 s8 ^- Q2 c- x$ S      B2000 = 0;  * P* F, D0 S% c/ T* Y/ H
      Count = 1;  & o, |1 W& \% @  W
    end) F7 q% Q. h+ z) ]; Z( _
   
; c% o8 X1 k  x! E  xelse
  |  T5 T- S' B      begin0 u, U4 Z" R) v7 Q
        if (B2000 == 2000)  
: U, B( `: K6 i: x        begin
8 _: ~& q" V# b# h2 q  `  U6 D          F20k = ~F20k;  3 A! U- A  C  N7 C) z2 f" e
          B2000 = 0;  
+ x+ h3 X# P# `# Y' O- f        end) }3 j9 e" b7 _$ }" e9 p) ]* B
        else
5 B2 S+ ?9 D- _- x' U, ~        begin
9 w1 s; W- h; Q) e! b, y          B2000 = B2000 + 1;  
* L) c1 e5 h) ~  i, \1 F% y        end9 {) Z/ s3 \8 h/ D' T7 v
      end2 S+ J2 m* `- a/ q
   
/ A2 b/ L" f- s) ?% u, A0 y4 Q  end5 {+ h: }, ]8 G

3 A- g$ h5 x. B: Sendmodule
6 h$ G7 r% h$ }8 x. G. O/ X- J, y0 ]+ Y  F7 v
---------------------------------------------------------------------------# \' A( w9 w# U' j7 A
`timescale 1ns/1ns
0 C% S5 s( N' x3 G8 x- }/ R/ g# C5 J2 o2 \  n6 {5 z
module testbench;
6 ~' f$ y. T) \) q3 `9 n+ K- B7 F- N: r. ?; y
1 k" K' a) P9 ^+ T) u4 E9 n3 _8 Y

  G# ^5 b* t; z# h  S, `reg F40M;+ E* H8 C; C! ^+ ?& i. v) k: j1 u
reg Rst;. a( M3 m  W9 }
wire F20k;& L7 U$ [+ }. P% V. C

& E7 C7 ~3 P0 n    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );
( M- A# o1 F5 ~, j  ]
' I  v' W2 m0 e+ x1 L: Minitial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );
9 w1 M( f# U( ~6 U# j% c+ B$ \- G0 l
initial begin
2 b6 l5 d; i5 a% y5 _    / Q8 {& l( p/ p6 f" @2 i7 u. h- W
    F40M = 0;
0 Q% o# }8 c* i+ O3 L% O, Z" _    Rst = 1;! x5 t! }" K( O2 ~9 b3 b
   
7 I3 f$ _0 Y4 i% E; [# u& Xend
) ?. R( x& p) H& a. E
3 G0 Q4 d8 D. t: Z) O always #25   F40M = ~F40M;
' Z" b& K- T3 H2 h    initial0 Z9 v, I# l7 z& X
         begin   
2 o# c  |" A7 r6 K; t1 c0 t( x- R: l    #100
. D, [. `% M- c$ u            Rst  = 0; 1 h* V9 ^9 g0 \4 W0 r/ i
    end3 d" }9 Q$ g  P# Y2 O( c
( Z7 [  n+ u- z5 t! N" d3 c% L
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面- L! g5 p5 T- a3 u
前面宣告改成2 H" R. T* ?1 K. L( J  v
reg F40M=0;
$ i$ A- |8 ]( M. }* t& N; Sreg rst=1;' s  v* }1 Q: y7 \5 }
下面2個initial  拿掉上面那個(有F40M跟RST的)) ]9 c2 j, N+ B8 K
這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,7 F, d9 V0 J) Q/ q. s
試試看你的同步Rst為1 時給 F20K 一個初值看看吧.5 U3 j) d9 Y% n' p

( A0 Z. T6 m  Q9 p9 `' x一開始就沒值,你一直將他反向也沒東西,
; F9 q5 ~6 F1 I: k  d你現在的simulation波形應該是 unknow 吧 ?- M$ [! D3 F8 q6 R
  K/ d" y$ z/ s- P) e+ i+ ]) v/ P5 b
FPGA 的 CELL 一開始就會有初值了
9 h: a1 B! P9 p; }* \- b' m8 u8 r( I
if(Rst)
! @1 l2 L/ x  o$ z, Q" z begin( W- @  {5 ~. b1 X' O
  B2000 = 0;
2 X3 y) L1 {+ P6 F" t3 g  Count = 1;9 v7 a) N2 S4 `6 Q; }! G- N+ v5 Y9 s' j5 P
  F20K = 0;
1 a' h6 N4 l' o# E; V3 W  n end

評分

參與人數 1Chipcoin +2 收起 理由
masonchung + 2 FPGA 的 CELL 一開始就會有初值 這是重點 ...

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............
8 ~- E% c/ j9 ~6 U8 d9 G
8 N7 ]- ^8 F. A$ V+ Z: K6 s- N, T3 U( d3 U- ^

0 |) o6 R& B* Q4 s$ Z7 s* [/ o9 _( H
; E6 f8 \) N; p; S- E9 L
module F40M20M20k50(F40M, Rst, F20k);
3 D: _. ~! j) k9 Z1 Xinput  F40M;
' V! {& V1 S0 n! P, P* Yinput  Rst;1 k* U1 A+ c& Z8 z# {
output F20k;+ ?4 b6 J4 D% G8 X
3 p$ l; w" f4 l/ t  u
reg F20k;9 t$ W. F# R- e9 K5 s  W
reg [10:0]B2000;( C6 F: k( L9 g8 J4 {1 Z
reg Count;
  H: L  P  ]- F* o* h7 D
% I* Y) t: P5 Z9 H  Z( B& E6 z5 t
always@(posedge F40M or negedge Rst)
: s7 u) a& h( X: z+ J+ Jbegin$ q8 a/ B% {5 }- b

  F4 ?1 ]. x- Q6 J if (Rst); d, g8 B0 \% c, q  Y4 r& g" Y, j$ w
begin
* s3 ^+ G" s8 I  B2000 = 0;+ F# L6 R+ m  M( e
  Count = 1;
) p* ~4 {" J7 }  f& m  }6 i8 L end
3 |" k. e1 c4 ]2 G/ M  u0 M# y  o6 ?$ A7 ]% S6 O7 s' F" c. O2 A4 H
else
4 s/ I- M/ T( o, r- c8 A* W" j begin. D* n( j9 U3 h  _( ~& O
  if (B2000 == 2000)" u$ P0 t* I: s0 \. g0 s7 I2 d$ e
  begin
0 [9 v+ s- q2 v/ O' c; U   F20k = ~F20k;
0 B0 S8 ]4 C2 O0 Q4 a   B2000 = 0;
% p. u6 g# i; W: u+ F$ X  end
/ R# X# t# a+ d
9 l5 R! O+ U' e" _3 H& X; w        else0 J4 w3 R) Z7 q& h- i) N) p7 F
  B2000 = B2000 + 1;/ x( N: k# V3 M" W
# ^" _( t8 h& a" t9 t- }
end
' n0 g3 |" }3 D" o2 g& Send
1 \0 T) s. _) D1 p# Y; f; Q* f/ Cendmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-8 06:45 AM , Processed in 0.123515 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表