Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源4 i# K/ d7 ^, q! o% b
但我使用modelsim時卻無法正確的讓它產生振盪' ^( B1 {# W5 V. f3 [0 Q
該波形完全處於0狀態
! Y$ J) s% J2 s1 U5 v但實際用fpga燒入以視波器測卻可測得其波形
+ c5 V& ?4 Y5 T) W2 t& ?不知道是modelsim本身看不懂我寫的
9 |+ Z0 v; M! W4 z6 c6 L6 i1 j還是我根本就寫錯了4 `: [& G/ ^9 j* m  j
又或者是testbench沒寫好?
8 b: h! a1 E. `煩請各位大老多多賜教!!. y: M+ _+ M2 O$ y2 n6 a. ^
8 w) Y. K' c4 s9 I) N, o

/ M0 A( J! U" S3 N$ q2 h% Bmodule F40M20M20k50(F40M, Rst, F20k);
2 U* J' g5 M, i; m* Z8 L+ W- I    input  F40M;1 v9 Y7 l4 m$ d5 y6 f( Z& O$ {
    input  Rst;) q' Q. k& U5 {: |6 u. R
    output F20k;
+ C; P4 i# P* i' E5 V  , G5 l0 c; w+ H# i- N3 t7 G& m) Z
   
! F, r9 D/ Q5 c7 o) Z% t, m0 c; v+ F         reg F20k;
" w8 X  Z* Z1 V& V7 x, I         reg [10:0]B2000;
, f+ ~' k0 g6 i    reg Count;
( C' w: X' n! W( E    6 O% b* a: m6 h0 K" L
$ W- w# o" v* q& |" D& r2 ]- r
always@(posedge F40M)
( f. x) M% j' I$ cbegin" Y/ U, k, J+ c4 g( \8 f
if (Rst)   O, o+ z6 S+ W: w; l( |
    begin; V9 c; Q. S; }- Y' p6 A
      B2000 = 0;  
4 E; u. f' T3 |  z1 |$ j# W6 z! p      Count = 1;  3 A+ w9 _5 d: c9 G6 d9 x
    end
0 d7 [- l1 o0 k1 r& x) d    5 H- k" w! ?6 Q' R$ \9 A
else
+ ]0 @* |* G  L: H      begin
' S3 _4 j3 h1 a        if (B2000 == 2000)  5 w* M) p( D  ]  Z2 G. g4 n+ F% f
        begin, K  v' R0 ?7 p, N+ T! g* {
          F20k = ~F20k;  
1 r' |2 I  I& B0 Z          B2000 = 0;  
7 `' C% Q6 T/ ~) }, O7 O% d        end
! M4 V7 ?9 c$ ^8 x; W        else
6 z# V: i$ G' z! @0 s6 }: Y0 A        begin
; x1 f. ]- e' _" F9 Q          B2000 = B2000 + 1;  
2 X. V( K' ]$ M( d1 |/ i1 U        end
2 @# I1 K: r9 _4 b      end
  ~  r, M& O  i4 e2 t2 f: w9 ^! }    8 I9 x4 ]" H1 `
  end& d% Y% i/ a4 W# M

* C, `* P$ ?$ b# K) I7 j0 x8 f% Iendmodule
6 c; K- b" N9 @$ P; ~5 U3 ]" U+ Z/ E% ~5 F
---------------------------------------------------------------------------
  e& m3 ]3 {# G+ q% {) ]`timescale 1ns/1ns
3 k' n+ c! I1 m' |3 z9 `1 ^
& D$ ?0 ?3 A  c0 ~module testbench;
" J2 A& x6 X- y
; l# i" m3 D; J( k: P- \  [$ v# _+ I
, o# j! S; f9 z! h* u( {
reg F40M;
7 |/ P! b3 `0 @3 p9 sreg Rst;
# G& z* v; A6 V- G: p$ E! ?wire F20k;% M2 K: V3 h. N9 q1 W
% p. F* h% _0 O3 e3 o8 Z+ p; \8 Y" T  M
    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );
  q( T6 \' n4 e" P  [6 ]" z' X1 K0 \. ?' H5 X( P( f7 M
initial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );
% p3 o9 s4 ]" Q  k1 m! H/ d- S4 J, i
initial begin, p7 Q( D4 s4 Z6 P
    % I  W8 u" H5 l2 N6 N' O
    F40M = 0;5 I6 u6 Y5 ~* z: G, a7 E
    Rst = 1;
4 N5 x! H) h# C1 w% z* Q. D* U9 Y   
. u% }2 l) q/ q1 S3 X. Q! Gend( m2 l6 `: `' M# D# [, |0 @/ H) S

7 d& [1 W$ y" o0 o always #25   F40M = ~F40M;$ b! C: e% }; j( o3 X
    initial0 B) P$ ^" m9 ~6 C$ M+ r) g. `
         begin    , b% @8 f% O0 _/ _' ~, q8 s
    #100- d% z  n! P/ n, [5 e; H
            Rst  = 0;
$ z$ g4 v6 ^) u  l; j7 G    end
$ I) C0 [2 u& A: `" e+ a+ r% D( t9 Q
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............
& `8 o0 }3 b* k6 O8 n9 p
6 k! [7 o! m' }% Y% e& i' C4 k: A
' b' f: Y! P3 X. Y$ J, M! @4 r& E. T; ~1 U3 ^

9 b5 q& w  y$ Q6 I0 m
4 Y% y# ?: S% _6 {% A4 Ymodule F40M20M20k50(F40M, Rst, F20k);
$ ~. E3 i+ }2 [9 }% ^input  F40M;) j1 J4 \& j/ [, C1 ^
input  Rst;
3 j* x& n  R8 ioutput F20k;
% e5 m3 W* j: c; v& Q  O
' e' u! J6 w2 o) ]  ^% Wreg F20k;7 e0 T; L# i* X! c5 Q/ A
reg [10:0]B2000;
6 L$ ]) w) ~4 B4 treg Count;
. P/ S* ~$ c) |! D; ^5 f: J! b 4 V$ b0 d9 k' u( I
. e' M9 _) ^0 ^. N
always@(posedge F40M or negedge Rst)$ T" \, A% x8 H8 o6 L8 O- w: x; Y9 G
begin
# n8 [6 @* r4 K# T
# S; r% `% X2 R3 G7 w9 D if (Rst)8 v, |( |& h( ^5 y9 E) v  }
begin& o# @/ w8 q' P' Y
  B2000 = 0;! Y9 X5 H9 U' s. u, K
  Count = 1;' C# @: d: {$ e" |
end
8 E7 [, a; m! l+ D  h" Z, E4 \, p0 t5 _7 M6 u3 c. E/ o: j' Q* ?$ S
else
# j& h! f4 ^5 }1 B begin
5 G3 J, v% n0 S% W0 b: ]$ s- H  if (B2000 == 2000)% O, t9 G( i! \
  begin
6 G7 P. r$ t+ v   F20k = ~F20k;
3 i* M1 D  c: d5 v3 E9 o: e  n   B2000 = 0;3 m* F' G/ c; a3 Q8 g% k
  end- s3 j8 g, j9 p% T$ `

6 Z: T5 D6 M' |2 U2 l        else
2 ^8 T5 v( a0 }! @  B2000 = B2000 + 1;5 u: H* z- c2 B  i) e/ g

4 {0 ]! G. \" W: ~% f" f) z/ K& T end
! M& K3 V  c, Y. Yend9 I9 d2 H$ s, {5 x2 J
endmodule
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,
) x- T6 P: ~" @% W: q% V試試看你的同步Rst為1 時給 F20K 一個初值看看吧.  _# O, r  ]* u) Z0 \! Y

+ C9 ~- o$ F) Q, X3 X一開始就沒值,你一直將他反向也沒東西,
3 S9 h# ~% z3 k你現在的simulation波形應該是 unknow 吧 ?
' w+ Z4 o' D/ f4 ?# m! ~4 p, ^) i7 O7 N! _9 Q
FPGA 的 CELL 一開始就會有初值了
8 @4 {0 t9 F% ]  g
2 F: B' q# _  P& O1 Z9 r4 c$ nif(Rst)) j3 Y) H7 f1 n" B
begin1 c6 z- m9 V2 U' f) s9 m, d
  B2000 = 0;
7 K9 k; u- x5 r" R1 m  Count = 1;* r( T6 p% `8 W3 r
  F20K = 0;- w7 o# @+ M% z2 n
end

評分

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

查看全部評分

2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面" n  `* p. x1 K
前面宣告改成
, b- F- e1 m( Greg F40M=0;
* @2 l3 r" x' E! I. d, J6 Y( oreg rst=1;
# g1 t' z& Y6 r6 e( E! M% g下面2個initial  拿掉上面那個(有F40M跟RST的)4 b  a( ]5 r/ r: q2 a7 r0 _. x3 x" t
這樣子應該就可以了
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-7 01:59 AM , Processed in 0.105006 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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