Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源
2 ?+ Z% d4 E/ I' l但我使用modelsim時卻無法正確的讓它產生振盪7 G  B2 S- n$ \9 a2 V$ n: L
該波形完全處於0狀態
- S* m) [- e' E$ c/ ^但實際用fpga燒入以視波器測卻可測得其波形$ ?: J' x+ c( Y$ u' @- ~% L8 f* P
不知道是modelsim本身看不懂我寫的
* b9 s, h% k# z7 a8 v! y還是我根本就寫錯了. ]# }7 C# A3 c% i! c, D$ x
又或者是testbench沒寫好?: z, t1 U6 \2 T" a
煩請各位大老多多賜教!!
2 d, j# k- ^: S9 o
" h" X: w' {" [! A9 ^& I+ P" S9 ~; [/ w: R! z" ~
module F40M20M20k50(F40M, Rst, F20k);
" \7 R4 q+ A; }8 o1 E7 f8 m- r& _    input  F40M;# A2 T5 q; U; r* L: b# z
    input  Rst;
; y; ~' z9 Y1 J0 s    output F20k;' N; ?3 @( Y- L6 z7 Y% e
  " X! d: e) Q+ m4 Y. A$ v6 F+ Z6 Z
    / B9 @0 H  ^) d
         reg F20k;
, D/ ]# i0 H, m4 V' h+ ^3 e         reg [10:0]B2000;7 t3 i3 B7 _7 @+ R, s0 `
    reg Count;
& J' Y/ Z& g% s  i' U7 Y: T    ; ~% |- P  z: @4 W7 I
1 i% W9 D! S% o  S
always@(posedge F40M); K/ e  x! g6 \
begin+ V- |% k# `& z9 i: {) s7 Q
if (Rst) 8 V, R, \4 }5 x9 \2 ~0 N
    begin
4 }% x' a5 i* k7 g- @5 b      B2000 = 0;  
7 }& q% g- j0 `% z+ ]7 H' [      Count = 1;  
; n3 m% w% t( V. U9 r    end
5 k# Z1 R% O% ^+ G. i    $ G- q- `. m: o
else # P& e6 n( R) u9 X+ F, [
      begin
( i. e+ r) Y" ^( G; J; v        if (B2000 == 2000)  
7 G5 L6 _7 i" e, A$ }; ~        begin! \- d  J& K; P. o: U# J
          F20k = ~F20k;  
, p# Z" x3 a/ v4 p& T6 z          B2000 = 0;  " e; M7 h  P: \% z$ W
        end2 X* Y) [" S. u( V( B
        else
$ \9 c+ r+ j# m        begin9 q: s$ Y. @  V" N; A
          B2000 = B2000 + 1;  # r, I: D0 c& v( |
        end
& S9 q0 H& _6 E2 p2 v4 v9 ~      end' n# x& a3 P( J5 S
   
- X) [# @& l7 V  end
2 Y, N3 r6 r9 G* o/ @. P! m
. v& D6 J& I4 t7 }endmodule
# X! t# X- h5 B& h1 e' E5 Z' ?1 @' W# [8 c2 `6 ?3 e  b
---------------------------------------------------------------------------2 T1 z/ W8 ]7 d
`timescale 1ns/1ns
/ j( p8 |( ?7 x6 [8 W# z0 _  v, P+ ]
9 ^& w1 q) w% s# n& ?: p  dmodule testbench;! Y) J" _% y( C) T& W& s# |( x4 J

* ^% ^2 r& U* P$ a# n- m( M. ^- ]- F& o+ K9 k) R5 F, _. E5 l

. H" V5 Y) V6 q* D" x9 Areg F40M;
  s% Y+ f. F7 C$ Ireg Rst;* L) @! U4 A; S
wire F20k;- \$ S' m1 i6 g; [  H9 z

! }/ o# E; ^7 y# g; x: @1 b7 h    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );
% c: B! d9 v% a. O4 i8 M
9 D; m; }5 I2 dinitial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );
2 i2 P( F9 Y. q2 ~! {: h1 j! q2 i; R% \2 R' B/ W% K
initial begin$ }  Y9 ~8 {0 n* J# r
   
( G/ @1 l7 h  b/ V/ [9 j! x    F40M = 0;
1 }4 K5 U# {; n1 G! o$ \    Rst = 1;% k; @9 v  i/ N4 m
    # n& \3 [% w+ H2 p5 P% p6 u
end: k2 A, v) ~9 ~; K
" m2 {. y- s' {9 {, I) A9 v
always #25   F40M = ~F40M;
7 A  Y0 g- E9 z8 Z0 Y    initial
# z% H$ W6 w0 T* G7 f' e         begin    3 D7 a! i5 V( @" L  \
    #100% l! y8 Z3 |* J
            Rst  = 0;
$ e9 m7 D1 A' Q0 b9 C! ?$ X    end7 [- M- d! I1 Q0 s; U- ^* m3 M7 \

$ w: z9 r8 w* q: aendmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面1 J/ A8 F2 ^( p5 s- [
前面宣告改成
5 L! a% O. y1 }3 N- e; z1 Vreg F40M=0;
* |6 h  Y5 y* V, \! E) ]reg rst=1;8 i8 J7 [  ^0 L. P+ m3 q; v
下面2個initial  拿掉上面那個(有F40M跟RST的)
# w4 g+ |, Y. F7 f" ]8 P. h這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,
  k7 O* h9 f, |) ~/ ^# ?試試看你的同步Rst為1 時給 F20K 一個初值看看吧.; R, _! ]5 Z) v3 l7 z7 b

1 H( X! B0 }3 N: i4 K0 v一開始就沒值,你一直將他反向也沒東西,
, N" ]+ q2 S* d! K- Z, P: y你現在的simulation波形應該是 unknow 吧 ?7 E, @9 H$ v2 g2 W( j2 h$ o
* f$ J3 [# E3 o+ g
FPGA 的 CELL 一開始就會有初值了
% Y$ k( E) Z; M) ]- O2 D: m% s8 _! p9 N6 M
if(Rst)
8 M- i5 H" }6 i( E0 f begin( C6 w- ^; V5 P- d
  B2000 = 0;3 t: r& H/ F( ]+ I, G2 d( n5 @) A
  Count = 1;
0 Z( R. k5 N5 e! ?5 C! b+ G  F20K = 0;3 U& g6 V9 A6 t% H: W# g
end

評分

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

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............1 l% K7 I. j( I6 P$ P
; R" Q( c: B2 |- I. G" r! K: w
' p4 N: n3 u) D8 d
* D& V( s# [' q" @, `/ e

7 q& O- \9 p& s$ x0 i# h; P" T
, J# [# i. \/ u, u1 Qmodule F40M20M20k50(F40M, Rst, F20k);
8 r9 p3 E5 [9 j- c" T8 p; ?input  F40M;( D7 Z( d2 j) s, @2 Y5 y! m' a7 Z% A$ p
input  Rst;
, I6 p/ D6 U+ s, {, zoutput F20k;( e, r* ^8 S% @) {4 B* v
4 F! y! h1 R1 x3 A/ c
reg F20k;
0 L- J' g: D5 _reg [10:0]B2000;" X% F! z, r& M, P4 A
reg Count;
' b$ Q6 V  U6 R9 t4 }, d3 Y0 A
7 e" |" M) a2 v( G3 ]+ K! [
& o; W& X* l' ^  u" salways@(posedge F40M or negedge Rst)
9 j0 p  }: L5 A. kbegin; e9 A$ d3 l+ H, N
/ |* h7 c/ P; t$ n% j+ I
if (Rst)$ {0 w; A: o3 K( u; j6 m8 }
begin& c6 n0 d8 r" ~! G# u/ K
  B2000 = 0;$ X  t7 [( Z% g% h& W9 x+ x3 ]
  Count = 1;% [( r8 l* `  d7 I8 I% c
end
* P9 F2 p' i4 @: D* r
/ O  w5 H# \, v1 w7 P5 Y else7 t3 I9 J4 b6 p. B
begin
# d3 U3 g6 N" B3 k0 F  if (B2000 == 2000)& Q5 j. T8 S3 k  d5 `) R( P
  begin7 `8 D- y! K$ P8 W* i* N+ w* I
   F20k = ~F20k;
. |  l9 q. \" |$ {7 [4 Y8 P+ ~   B2000 = 0;0 h4 L5 e5 D& |8 l% u3 x
  end
( F! ]5 I9 H2 K: ~
9 w1 d- E* V6 T9 Z: r! _. Y        else
5 T8 ~" i9 |7 X# z  B2000 = B2000 + 1;
; V, q, W5 P! q3 o. Z* `9 h) J
% `! c% D; v4 A- F  | end
) x  f- P5 }/ H! u0 Z, Send
; O  S( S9 f5 Zendmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-23 08:21 PM , Processed in 0.168009 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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