Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源3 t% s7 p4 j3 ^' t4 L6 g( I4 r
但我使用modelsim時卻無法正確的讓它產生振盪# g( Z' {) Z. }8 B
該波形完全處於0狀態! X3 O, R1 h- M* j) |
但實際用fpga燒入以視波器測卻可測得其波形
9 m5 f6 x8 o( b. d: S" ^不知道是modelsim本身看不懂我寫的' ]  q9 P% h4 l1 K4 D& ~/ o
還是我根本就寫錯了9 x+ M; e: |; _+ E
又或者是testbench沒寫好?0 L& x, I; v6 J! L; l
煩請各位大老多多賜教!!  Q3 {% g7 }3 {

+ ~5 h9 V: ~' |1 {  ?2 z* Y9 `- u% {; D5 p9 h9 E
module F40M20M20k50(F40M, Rst, F20k);2 J. {4 J' V( |' ?2 _; B; ~! @
    input  F40M;
* N5 b( t4 {& {0 _9 O    input  Rst;
8 R! Y0 n2 b: [    output F20k;
3 {* B& a5 M3 C6 ^( y/ m* D& a+ A0 d  # j+ ?9 o) q0 W# L
    & ~, S4 n8 R; m
         reg F20k;, ~6 H) Z5 q- S: b8 ~& @
         reg [10:0]B2000;
) u4 u. p5 R4 D0 Y) X' h    reg Count;
: V$ a0 D/ x1 V) M   
7 p+ B7 W/ t  Y3 `! w, A' `& K/ x" h6 L/ @# v
always@(posedge F40M)
9 x$ H. X: W( i" b! s* |begin
. c7 P3 X0 ~& ]3 rif (Rst)
; j- i  ^% `2 ^& p* W$ U! j0 X8 J/ V7 d    begin: B- R* z, L" h2 s* F2 T3 v5 l7 L
      B2000 = 0;  2 E( m; R& r. t  ~/ U& v
      Count = 1;  
8 m! W2 S: T& C5 A8 C    end7 `) W" F3 K0 D
   
  }' o3 X& C, nelse
% D  ?" Z; T" y  ]      begin
. x+ z8 M$ A5 x! E8 K; |        if (B2000 == 2000)  2 A  I% e" M0 Z, J# {8 ~$ b& L4 i
        begin, m: ?4 e! `$ `, x
          F20k = ~F20k;  
, Z0 Z2 B! U  E( J. J/ x4 L          B2000 = 0;  
3 g, |6 R3 m- N' l7 H, z  x/ t        end
) h6 t  x+ F, I! A2 L) E9 U( r        else
, ]; F3 i: U$ R( D+ A/ y! m        begin. {+ m! p9 Q& b4 z+ x2 t) k
          B2000 = B2000 + 1;  
' ]& c0 q) G' K! ^3 Q- k        end
+ `. t8 E9 z* S3 J      end; ~  V* r+ i& q
   
% A3 b' W9 R( {+ k6 L4 B  end
! u! O( {& v- w7 j2 u8 {
1 w. O2 `$ K$ k5 Lendmodule2 q1 J! R$ x/ [1 P4 G7 t: M

# w1 c. f! p" z: q/ p$ P$ H---------------------------------------------------------------------------
9 G) K: t$ m9 i1 B- v0 q$ F$ E- u`timescale 1ns/1ns7 S+ n( a9 }3 X5 [6 C3 T0 G

" W* d6 X( x7 {' j6 H3 H+ Tmodule testbench;* _- j" H9 J" n3 _1 r: R

& |! D5 {6 J/ j: `. f4 s, I6 w: c2 v! O! E% U- V  `
+ e$ A% P! u/ E5 f+ P' L
reg F40M;: z* O) o1 L# X2 E( u- R
reg Rst;; @/ m7 j9 X' X$ {- _% w  a+ x. w
wire F20k;. x* b8 {. i# T3 ^$ d

/ C* X/ B1 l- k( h    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );
/ }& |, g/ b7 ^" w' w6 {
3 {  s: c$ i+ Q2 q4 b7 ninitial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );- L! v; |! b. e% L/ u
# W* K! m0 t+ q
initial begin
- b6 N( @5 S8 e" ]; G4 |   
6 q/ U/ s9 ?. N    F40M = 0;
8 L" ~7 `) O# ~/ J    Rst = 1;
" W$ Y5 k; d4 X   
4 J; U% F& V# A# ^; }9 @end2 ]) c/ `$ ~6 R$ p) H$ d) b4 S

9 l0 }; x  M6 C: [: { always #25   F40M = ~F40M;
; Q% V" M: z9 K- q    initial
; d- N( C: a: ^" p         begin    * b" c0 u$ E6 z# `* \+ H
    #100
! `% {) V* j! B  c% i1 s            Rst  = 0;
% F2 q( k2 V1 T+ B; {5 _    end8 _  ]8 L$ R* V8 Y
6 {9 x6 `% K( ^- S. ^0 J
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面
7 V( f" H; d4 b- s' C8 T前面宣告改成
  p* s) _6 D2 H$ \reg F40M=0;5 b! C* ]9 L2 z: B
reg rst=1;- X# y% B) |# V( G3 `
下面2個initial  拿掉上面那個(有F40M跟RST的)5 d! \9 U, Q1 ^3 t- \2 k
這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,+ l4 A* Z8 L2 y0 j, Q% U
試試看你的同步Rst為1 時給 F20K 一個初值看看吧.
- `$ [# ^0 [  |: w/ X; j" K: R: l: \6 {
一開始就沒值,你一直將他反向也沒東西,
' C/ ?- b4 W5 X你現在的simulation波形應該是 unknow 吧 ?( g; z. I7 x4 u/ Y, l9 \

" g8 N7 k( c' `0 x" k# b! U+ kFPGA 的 CELL 一開始就會有初值了% i& |$ o! i/ U- j2 U
6 I9 e7 Q1 G* E! g, f
if(Rst)( [2 I" r" `' a
begin* s  y8 S5 E: j$ Q! m
  B2000 = 0;
: @9 ~; c4 N; l2 X: P1 P  Count = 1;
: k! K+ Y) `1 i7 S0 S# F  F20K = 0;% E4 a0 D( u* M+ K, P8 K
end

評分

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

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............
, v! P) N0 H# p8 n( a' Y! J! `/ ?1 X0 X4 I5 c( Y0 e$ z# Q( n: w. i1 l

: l' w# {2 f& d$ V( z7 O2 V8 e7 l1 G8 n6 H. c# e; z0 c  t' j
$ }* ^/ t" {4 a2 g9 J8 S

% ~* y/ D2 j# O: d- j# vmodule F40M20M20k50(F40M, Rst, F20k);
+ v8 n9 K. p* C: [input  F40M;
1 C: J+ \: b- jinput  Rst;
9 b* G# l1 J2 eoutput F20k;
. J! R+ h0 @( h) d7 a, u1 A" a& N: T7 a# S( E# P6 M3 d" f+ J
reg F20k;9 Q8 h( Z' F5 B6 ~4 Z9 J
reg [10:0]B2000;
& Y# W+ U6 V' L6 H$ Y' wreg Count;
3 B& `+ x5 m0 a : ]- l) A0 M% x% i
- f/ a" @* ^1 D& N* C
always@(posedge F40M or negedge Rst)
3 e1 w" H9 ^! y8 a1 Cbegin5 [% ]& n; Z( i

- h+ o( M5 p( Y7 @. Q7 @+ a: m if (Rst)
& v& i& H6 v5 N$ r5 J+ D begin
5 w6 g- @% ~3 R! \, \  B2000 = 0;0 {8 {" i3 v! r. m/ K
  Count = 1;
- W3 l7 B4 ]" }7 z5 c6 d end7 ?8 s; s3 v1 [
* C* l5 }9 Q# m
else
) g) h( z( U3 x# F" x begin
$ W* k- n# ^8 m  if (B2000 == 2000); h2 N  i' S7 t4 j' c7 d* y7 }
  begin0 X4 {+ n! S9 b' i
   F20k = ~F20k;
$ z. ^  I! y5 @$ @- B, n   B2000 = 0;9 k% |' Y: Y" U$ X; x$ C
  end4 N5 X0 g' K& O  R. u. X8 J

9 H7 v2 s0 c% a! l! Q        else9 @0 o- S" j$ B! ]* S5 X
  B2000 = B2000 + 1;
  i$ o" r9 |6 ?3 }! M& Y0 X1 {0 a- R1 `9 R
end
5 v$ k0 M6 @' G8 Uend
: {1 N  q' v. H2 Zendmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-23 07:28 AM , Processed in 0.160010 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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