Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源
- Z  x  j4 z' f, }+ c3 k* K4 `但我使用modelsim時卻無法正確的讓它產生振盪% T8 b  U, X4 C# H+ r
該波形完全處於0狀態
) Y7 U- p6 V! G但實際用fpga燒入以視波器測卻可測得其波形& K: T1 n" L6 k7 z* k
不知道是modelsim本身看不懂我寫的
! [; e3 Q! L& V2 H1 _) p2 k) e還是我根本就寫錯了1 j0 l$ ?8 y# E' \
又或者是testbench沒寫好?+ `1 w7 N0 ]0 A5 X, P
煩請各位大老多多賜教!!
6 [( X9 `, o0 t  K $ {+ ?1 M5 w2 X' z. a) Z) E. x

, K% h& S$ F5 s3 V/ z+ h9 Smodule F40M20M20k50(F40M, Rst, F20k);% G; Y  {/ l8 d" d8 @0 J3 ?
    input  F40M;
7 u2 {, G  z4 q    input  Rst;
0 u! K0 i: j7 s- U" N& M5 `5 |    output F20k;
; l: {& T2 f1 G4 v  
! }0 g- V" i8 a: z; n2 l& s   
8 X2 L0 E# \6 j% T/ S9 z7 h4 R! v         reg F20k;
2 I3 m+ l  w; o! g         reg [10:0]B2000;, D% [' i9 y' ^! f2 O* ~* `4 P6 C6 W, K
    reg Count;/ [/ n6 E5 |% Z0 o5 Y. w7 v
    : K& N+ m: K& H
1 W4 x; H: X3 S. |9 N0 M
always@(posedge F40M)
2 T# h$ ?  L1 g, _begin
8 Z1 A/ o: o0 j5 h/ e$ n+ Gif (Rst)
( w. F  d2 F$ S2 T& l    begin
/ d7 `9 i( S. R0 o/ l- `      B2000 = 0;  
3 V: z# H) J  s      Count = 1;  
4 }+ N! n4 [" [. G    end
8 ?; |# r4 |% U, O" V7 O    2 [/ f& N# G3 q! A# s- @  k
else
! G' @0 v) |: T1 @: I; N2 ]8 r  d, g      begin
/ T) Z8 H+ F2 M3 r6 ]  z        if (B2000 == 2000)  
5 z4 ?1 C8 V7 m! k8 m        begin
4 ]5 k3 ^9 k4 Z: Z          F20k = ~F20k;  " b9 C% w& G8 G6 ~9 l3 K' s
          B2000 = 0;  8 r1 R+ d8 c# W& s  A! m, `
        end
1 f$ Y" y9 E: c" Y! b) S7 ~. ^        else# \9 W0 L+ }0 H) y& q1 I
        begin
  a' g5 T' v4 Q6 @1 q# Z          B2000 = B2000 + 1;  . R. q5 ]2 h$ p2 L  e4 H$ g
        end2 G3 L9 C6 S9 K- M/ Z. E
      end
4 o9 j6 a- @: B8 t4 g# a; H   
% l# k7 j4 H0 z1 K9 Z; J% C$ d  U+ T  end6 ?7 I! Y4 K. p0 [) s: @
3 C) U0 _$ b8 [- V& v
endmodule
0 ]6 K9 E, S+ u6 B1 K3 w1 ]" s  R, {. C
---------------------------------------------------------------------------) j, S" W" s& I: l4 @2 \7 v
`timescale 1ns/1ns+ j' J; Q1 w5 r# a) w8 |; G
; ~3 `/ U- {, i( }- |0 M5 W
module testbench;6 |! |) n3 s, Y2 u; W* X7 q" x" f9 @
: e! N( E2 F( C+ n0 y. j- N5 \% t  v4 y

  i3 e  @" _% @
- f0 {9 r( G+ f0 ~2 l6 P  @reg F40M;8 u9 C5 n6 g2 H( F8 R- h
reg Rst;- w: ?6 C5 ?" _7 @5 Z4 P/ T& L
wire F20k;
" O1 L& P7 Y! `
  z4 x. D6 L# N# i' W3 O: Q( y    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );" k7 V' Z/ {4 z0 L1 R/ u& ^+ @! d

% U/ T# |2 g0 Z6 B1 Y" iinitial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );7 W2 W, a/ S4 F) r6 g: Y

/ A4 @: I$ V3 ~2 ?4 m5 B% C3 Kinitial begin
7 @* C, V) ?* @    ! g/ m: r8 Q2 T/ t
    F40M = 0;
; b/ Q9 a" `! H, ?; d, d, w. h    Rst = 1;
7 t$ Y4 @3 l! A" u   
* V/ Z1 f! {  nend
8 k( m9 c9 x' \2 g& k" \) Z" j: I& q, I( W* F9 M- l+ s
always #25   F40M = ~F40M;+ g  y/ L) F8 _* Y# \: Z* s" H: V* r
    initial
0 z# V  r( W7 p" X         begin   
% o6 A2 X* t, Q: I' C    #100
$ u/ H5 S/ F8 O3 c. d            Rst  = 0;
2 r! _2 k4 _2 Z6 R    end
. q0 [6 b8 C, }" M7 z- }8 [* u" S0 H% t% [) N
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面+ i- n# C/ i8 j1 _* c+ P# c
前面宣告改成
% P# K: e: s2 \6 I! Hreg F40M=0;
$ ~" _: K" A' Oreg rst=1;. j( b& |' v8 c, j
下面2個initial  拿掉上面那個(有F40M跟RST的)
4 v% N$ L4 k; {這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,7 j& f' U$ f: k* e6 W
試試看你的同步Rst為1 時給 F20K 一個初值看看吧.
' ]; Z/ b) u1 [: r& q! ]) ]' L0 e& d9 E1 u( z* Z6 Q* k- R
一開始就沒值,你一直將他反向也沒東西,4 r2 k! U* G  N/ E  N
你現在的simulation波形應該是 unknow 吧 ?! g  H( s! O) s) J9 I3 L
0 }; u! x* b/ E, P1 G! w
FPGA 的 CELL 一開始就會有初值了
1 T3 g. ^9 j: f7 g9 G! C% D8 I4 M+ h. j( N
if(Rst)/ k, V/ Y. F0 _+ y! Z% I
begin  Y! N% h& K. h) A# n: V- k3 }
  B2000 = 0;
+ ^0 F5 \- G) z2 f; B8 F  Count = 1;' x) n! \9 J; S) w" l7 t
  F20K = 0;
# R2 K) R" _4 i2 \ end

評分

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

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............
# ^5 U8 [. W! t) I5 K
" m! C2 g" ~: |& C& ?5 k6 n9 |) o2 k7 z

7 q4 Z7 i1 \! z/ I6 q4 O! W7 }% _9 f/ K: L, W7 W( E
  P8 @& [% x7 }
module F40M20M20k50(F40M, Rst, F20k);/ [3 Y1 t* S' v4 J( H! D/ u
input  F40M;3 M1 V( t/ |# _- q8 h* }
input  Rst;
$ h4 f5 _* I/ m: qoutput F20k;& s4 M4 w1 N* i4 e) ~8 }- O
- k, c& f. ]8 ~( D# H
reg F20k;! n$ P$ N) _( f7 w( A
reg [10:0]B2000;4 ~' _3 d7 ]8 o
reg Count;+ H! a( r( G, s( Z8 `2 h' s0 z. M

$ c- W( V2 v) a7 n- \, U* T/ f. o7 Z6 g/ A
always@(posedge F40M or negedge Rst)8 T: u9 E( V" y! {  t
begin
. l" o1 ]" {* B0 m' X- ^# u- H' J& s9 R$ `
if (Rst)
; D5 l$ @* ^7 R+ W( F begin
; c$ v4 P$ q/ t3 j( B; w( ~& T0 K  B2000 = 0;0 b3 ]. m  O1 }/ |
  Count = 1;: ?8 {5 H: K9 n6 B5 l5 l
end* z* {- U/ S* l3 }
7 v* c, R; Y- _8 A$ L- E
else
  Y$ h% R; F+ T, }, l begin$ e0 ~9 b1 M! r: e* W1 v/ G" f
  if (B2000 == 2000)4 p, O/ v) {& d& l# u$ ]
  begin
: c0 l! `3 L2 v   F20k = ~F20k;6 D- W; N% i1 v
   B2000 = 0;
; @8 k+ {4 ]7 M( W  end
9 h5 N! `& z0 o
! {7 W" N0 r1 K! z& ^        else
1 v/ e+ c% A5 s  B2000 = B2000 + 1;
; t; }2 E" e/ J8 [) c7 J) D1 g7 K  @7 C% j$ i
end" E6 q7 O  a" ^- M% r) v$ I& U
end
8 y2 y0 G( `6 M+ K) B5 A0 O' Vendmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-23 08:18 PM , Processed in 0.162009 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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