Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源) C( @& C) m6 t& J3 Y: ^
但我使用modelsim時卻無法正確的讓它產生振盪
* }" U% A  e% V: Y- [) |; I' c該波形完全處於0狀態
  G# k& B8 u; Y2 w/ D但實際用fpga燒入以視波器測卻可測得其波形
0 J' q3 I. q8 \, v( u+ g不知道是modelsim本身看不懂我寫的3 e' R3 w; H, N% l" h2 B: j& k- J
還是我根本就寫錯了) O$ f& I+ {- S+ i
又或者是testbench沒寫好?  B9 G$ x( w0 ^: Z; \& x; w& b
煩請各位大老多多賜教!!
* A- {& B1 C( E8 C
8 V' d' C: E8 f. J; H- k8 @. n- f/ J# B2 d/ i6 I  E. [
module F40M20M20k50(F40M, Rst, F20k);. `$ ]8 b2 [+ G; [1 W9 t' \& @7 ^: t
    input  F40M;
  g2 l4 g$ D7 j( x    input  Rst;$ n, {4 E+ Z. _" N/ [3 l1 B
    output F20k;! E* p5 k- K( y5 ~
  
/ z: k' X! @  t/ y; x  A   
( \$ k- j" X9 l5 `5 h         reg F20k;9 U/ q- g) e( E6 p' G
         reg [10:0]B2000;. z2 s: P- J2 i% L2 W1 j
    reg Count;# x! V% _. m+ u/ m0 r- C* f0 m2 j
   
" N; F; F# J; {& Y5 g! Q  m  z
8 L* j" s9 L* Y/ {) p& p- ]' P% Ealways@(posedge F40M)# c1 h; j7 _; z9 y: b2 O
begin
/ x$ Z8 f& y- G  jif (Rst)
3 |4 x/ ?) v' ^4 J* T8 U    begin
6 K& Y( v1 u4 w  z) o      B2000 = 0;  
9 u5 t1 ]( S" v2 _3 N/ _: Z8 g% E$ P      Count = 1;  9 t  G4 {. v4 R# }4 |. P
    end+ z& o9 ^6 Z" \  v
    & F$ U4 P* }8 [6 N! q# I
else
5 N, S. i5 C# a6 h      begin
/ ?3 K/ _* T0 O7 i2 m7 [        if (B2000 == 2000)  6 S5 O8 H# s' [5 D) r
        begin+ G6 ^! N4 d9 y4 ]; }
          F20k = ~F20k;  5 t& D/ N- M, _) c
          B2000 = 0;  3 }# \" B2 z3 w3 z$ M) _$ ~
        end
7 V6 ^/ m& N/ d" e+ r$ T. `5 I        else8 f' r% a9 X6 m0 D( n1 L4 Z
        begin
0 i. y1 Z9 T) x8 J3 q  H          B2000 = B2000 + 1;  
9 A; e- g: `' j        end" a- }8 J) Q* c( r$ S8 l
      end
( X2 h0 O1 y  p; _    1 m( q. N2 p0 O
  end  K$ ?  D4 s5 s6 x- e7 N
( t8 e' C4 ^# ]
endmodule
+ `$ b0 p1 e" t
) o& y7 l2 @3 }, F---------------------------------------------------------------------------
6 Q; s3 c, E+ [! T`timescale 1ns/1ns
2 U. I, Q4 h+ _5 M' \9 e2 V1 m
$ Q  H/ ~2 ?! |1 F3 Vmodule testbench;
/ J1 D/ @2 u  E3 i4 R- h4 l5 U5 O( p) C. f1 @

: e& a- U3 H/ X% ?9 C: N( Z+ m# v' `# x" H
reg F40M;- F, p2 X9 M/ ?; x3 _0 h7 M
reg Rst;
. o0 p& {/ l) G, B1 N# [# a9 ?3 ~wire F20k;! g9 s1 c( ]+ |# l$ N* N$ [5 {
* m2 @8 u+ S# X" d* a/ ~
    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );
0 r6 X7 }. m/ v" Y) A/ t& l2 [+ _7 t; S6 \
initial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );
  D- i, v6 J2 V. P% ^
- J$ {9 X0 w2 y) Zinitial begin5 O) ~8 _3 e# \6 ^" F6 X
   
: V, X1 c. I6 R- ~& n3 v1 U; m    F40M = 0;
8 A/ j- c2 I  C  z# L. z) W    Rst = 1;
0 Q% h! d4 J/ C4 y6 Y8 r    # ~0 q5 X# i5 y3 U. n
end- @: Z$ x7 Z- o: Z; M% L6 O
! K; C0 Z* d9 Z' Z9 D5 r( t0 ]( t& _
always #25   F40M = ~F40M;
& _, P. b3 B$ v: m    initial8 C) L, I5 A. L# o- b' B" i
         begin   
, h9 A! ?1 w$ l( G    #100: x$ H0 E: y: h/ R* G  d" x
            Rst  = 0; 9 K9 M9 i* F/ M
    end
- A& k8 d: s9 E/ ^
  o$ p9 |9 N9 pendmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面
% `0 k! V( C2 c6 Y前面宣告改成% s8 `+ C3 r: z, x, e% H( c
reg F40M=0;0 x9 H0 c; J1 Y  X9 k
reg rst=1;: u2 u5 }) r! X2 o
下面2個initial  拿掉上面那個(有F40M跟RST的). m: X$ w, h4 f
這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,' h, S8 p+ C1 F* @; e. m) A) f
試試看你的同步Rst為1 時給 F20K 一個初值看看吧.0 e3 @& S# f+ p) o& q2 t
7 e, K( t: ^3 C5 R
一開始就沒值,你一直將他反向也沒東西,# I6 R3 H3 c0 k" O% l
你現在的simulation波形應該是 unknow 吧 ?  O. e* [  I6 F7 y
  k& T. u0 c! f# E) B% F% j# V
FPGA 的 CELL 一開始就會有初值了
6 r7 c% l) s# _! T1 r# D& T- E' k0 \. u7 F  \" D
if(Rst)
- S1 U1 ]5 ]" X- _" `* H: J begin+ Y, k" {% s. ]6 X- O
  B2000 = 0;
. h1 I: ~0 ?; Z  Count = 1;
& b& C, ^5 P5 b  V+ s  Y( j  F20K = 0;+ u5 y) P' Y; V% g) Q
end

評分

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

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............
2 \; S3 ^2 J1 t# }; b
/ I0 G* R; h1 ~3 t0 ~  [! w7 [* O
6 b7 X+ f3 @1 D) P4 i5 b% `

: o: v6 D- M# h4 r2 y' }$ @% Q+ b
1 B+ X  y. G2 F/ A* ?module F40M20M20k50(F40M, Rst, F20k);% {7 z4 L5 ^" S& t7 b
input  F40M;
0 y9 K6 Q; s! s: X0 qinput  Rst;7 b+ n) Z9 n, I+ U( ?
output F20k;" P0 ^4 u! f7 }. g! v% X

* [* |, N  i2 m, A- Kreg F20k;
4 _- k% w7 T. c. H& y. wreg [10:0]B2000;
* F! O2 |+ f7 g9 n6 P6 qreg Count;4 v$ f0 H4 g3 ?* F- ^

% x& N( b& l4 W5 D$ l1 T4 e( b- F" `( n$ _. c8 D) r, D; k' y- m
always@(posedge F40M or negedge Rst)  O6 E: ?& m0 U0 n6 O' O
begin
. B+ }" c/ z. W+ `7 y  b8 O7 [9 d6 {8 x
if (Rst); o6 e# y) C* Q# z6 H
begin
3 @1 H# o! d* M! z  B2000 = 0;5 W4 r9 r8 ~9 t- b7 M" h' x- W# z' ]9 T
  Count = 1;
. d/ e5 |  H5 x+ ^9 k end
3 l, W0 o  M- l# v
8 q# d% `4 t/ m5 I' n" D: ~. q else
8 F+ B# D  p5 H: }1 ] begin2 j2 _  D6 E  D% A
  if (B2000 == 2000)+ o/ |2 ]* ]# R) ?4 h; w% W
  begin
; U1 X( B% A5 c" A; u  G6 X   F20k = ~F20k;* e9 S8 W! Z5 r" r0 I6 |; J
   B2000 = 0;
1 W7 A$ D# y6 w" e& A  end
: i, M4 [* Y/ Y9 B) X4 Q! \: E7 X# a! H* L6 p) W
        else
8 |% {2 Z" q) i5 j  B2000 = B2000 + 1;1 ^& g8 r1 J0 z& X  Q

, n2 O- I4 \6 A end
9 M. |. [+ T0 G1 t" }end
- K+ i3 [$ Q* x5 a" _; G" cendmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-25 02:46 AM , Processed in 0.175010 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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