Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源
5 G; C7 V" r. X2 M% b但我使用modelsim時卻無法正確的讓它產生振盪
. @: T* M4 w0 d6 u, \: j0 F該波形完全處於0狀態
; P' F$ r1 v8 L; [% x$ s  S但實際用fpga燒入以視波器測卻可測得其波形2 t, i$ w8 K! N5 V4 T
不知道是modelsim本身看不懂我寫的
% A, l* v8 G# {- b; M" R還是我根本就寫錯了
3 L) |5 E1 ^$ |7 v2 h又或者是testbench沒寫好?
- ?6 f8 S$ A& k$ Q/ j! p, K煩請各位大老多多賜教!!. J3 |5 ^4 n  k" v' Z, E2 o
" r$ I( L* C! ]% t" T

( R  _  e/ i  Q1 I1 tmodule F40M20M20k50(F40M, Rst, F20k);
. w" N; I1 V' n    input  F40M;
+ i0 M) ?" ~# e$ U( {    input  Rst;
; N) m3 H: w  a% O: X    output F20k;
2 l0 W4 F, D5 Q( q- l8 n  
- J: b" q" S! x4 g" r9 E/ ?3 H    2 X5 h$ G% T  e' i
         reg F20k;
% [$ v% B. P% Q' l         reg [10:0]B2000;* x( T0 d9 d/ H) ?9 B. M. F
    reg Count;
& _, r( y; T$ f5 U2 k) [1 ^   
( _& W# m( l% Q9 ?
  Y  n" k4 d  }3 D+ Calways@(posedge F40M)$ g5 g% P' j& L
begin5 W, g" |8 p+ Q# f9 I
if (Rst)
- n9 r5 T& Y& [1 F$ Y9 c# G    begin
6 s+ o$ d/ E. _0 E      B2000 = 0;  9 z6 P& ], b0 @8 h" V
      Count = 1;  $ `  a+ `$ T  F* P
    end
* }& a; H! Q& z/ @9 \- g1 n    6 N6 [% J8 ~9 a1 x$ c
else 4 a0 R" H0 j9 }4 x% t
      begin
9 G+ \/ C) Y) y" {: s        if (B2000 == 2000)  
  y- Z# }+ V9 o" ^. A' H9 l        begin
& O# s. v6 M* l" J3 ~5 \          F20k = ~F20k;  
# m' p; q% F2 K/ S4 x          B2000 = 0;  8 x) J- v" D) c( r/ P. `8 u
        end
$ C, E* m  B0 H7 M+ u* h        else: W0 H( l0 ^( e$ j* D% k7 M
        begin$ V" [- t4 @4 p  U+ G
          B2000 = B2000 + 1;  & J5 X: g' t9 V1 L- t  \1 [6 [( G
        end" j7 ~+ z2 S6 d' J  j* ?
      end+ B4 o) Y& O2 ^  \8 N
    3 X, X+ y* ]4 Y4 R* I9 F
  end
; @+ J6 R3 n2 [$ j, ~% A) M9 D- i; y% S/ o+ T" E
endmodule
0 j. v  {" [5 l% X- ^# e& c; c+ k  O! o. Y4 A% v
---------------------------------------------------------------------------/ R0 N7 ^' }4 w, U! B; X
`timescale 1ns/1ns2 @. T9 h2 R) \6 q

: z5 a0 @0 r1 }) d+ Wmodule testbench;9 z$ ~6 |' B! b* K; M$ X4 C+ b5 Q

( S8 g$ o) M5 u5 j2 R
. p5 u0 k( j5 ^! [" i2 t& U
8 [6 i2 {* R+ Preg F40M;9 O( B( K. c9 E- \* ]0 \. o
reg Rst;$ P" K& l) ^8 o+ w7 U7 s
wire F20k;7 q0 k. \. |4 ]" P3 d/ O

& Q6 T7 [1 \, L' p9 M    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );0 l+ G" t# c# h' r/ Z" S
/ `* ^0 ^- w5 m' G. Z7 q
initial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );
4 Q; j4 L1 e- x& L* W. q8 Y2 y( c2 P% A2 w/ K
initial begin$ ]2 {+ r/ J$ E: x
   
. u& b$ E1 Z+ K1 p5 S# a    F40M = 0;
- `& @" ]: ~2 |1 f    Rst = 1;
! i. A8 s% S* L: t4 D6 k! s3 @% G5 V    & Q3 U% j1 K! `+ k" G8 [! n! }
end
1 E- y$ g- A/ d2 g8 m; s( e6 t) h
% Z: E% U, w" X8 Y: A always #25   F40M = ~F40M;' d8 f$ }- a2 N. X" V' w
    initial
- ?7 L) o5 e4 V! M         begin    & a6 g4 o, u7 X% u$ o% w
    #100+ B) ^7 R2 m8 a$ |& k1 a( x# p4 p
            Rst  = 0;
( `: n9 M1 y* Z1 r- O* \+ `    end
* J* g8 Y8 s" I* T5 f- L8 l& d  u  x5 Z/ p3 ]0 s2 X, b2 W
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面$ p% @+ }) W$ [$ [2 W
前面宣告改成
1 L$ l& r. |1 K* t* Treg F40M=0;
' U/ A  G, e6 |- _- H: r( Ireg rst=1;
' X* I( j$ `$ g2 a" A4 h下面2個initial  拿掉上面那個(有F40M跟RST的)7 Z$ g" w. |) p0 R
這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,8 G) y% h  J  o5 S* {: {* w) j
試試看你的同步Rst為1 時給 F20K 一個初值看看吧.
) V4 Y$ f, H! y1 L6 a8 Q" {: e5 J: a) a  g% O5 r4 ]8 f, W" J
一開始就沒值,你一直將他反向也沒東西,8 J) S8 i- v6 m+ K7 [- \
你現在的simulation波形應該是 unknow 吧 ?" B9 P# y" {1 A4 X' C* M% d7 i

9 W8 @' M1 j9 ]3 t/ Z( DFPGA 的 CELL 一開始就會有初值了
3 L! S, M& M/ Z3 Y/ a' U" u: F: u
# K) M* ~  p/ f6 n/ N8 mif(Rst)  x7 O4 A% U# J9 W$ C; t0 [6 [1 B
begin* a- y4 r- B; ]5 P  N) L
  B2000 = 0;5 l/ {: S5 j( j
  Count = 1;, u6 O5 C; x- D/ |% Q- F2 A
  F20K = 0;$ w. D$ t+ }$ w+ x8 _# w2 I
end

評分

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

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............% d5 O  W9 M& K9 Y9 Z0 e1 Z" w

% k8 h0 l- \) o' \+ G
5 y, z+ _1 L6 W. ^& C, C# x
6 _* S! M8 \, S+ P1 ~# r" u7 n, p: s. F$ z

$ p- @' J- e' x! u6 N! Hmodule F40M20M20k50(F40M, Rst, F20k);0 r9 P( ]5 m' L9 C. T% c
input  F40M;' w; h* u" ^) Y7 q# R9 q
input  Rst;, i/ q2 V1 d6 T/ Y) q1 K7 P" J; p
output F20k;8 _9 C/ B% M+ f1 c# O  R

. l' K! @% r% [reg F20k;- A+ {9 f# A7 `: g% r
reg [10:0]B2000;$ j$ R5 w6 o' \( K* @
reg Count;! P. l; i3 Q3 k+ p

5 [4 u/ ~( h% Y8 R
9 H9 }! j( u# E5 |$ falways@(posedge F40M or negedge Rst)6 W' I6 R, w  ^' U! P# u$ S
begin6 J. N6 J( a0 T9 l/ t$ k3 T
& p) ~  y4 G: s& j/ N" t! A
if (Rst)
% ]/ |$ d( p# |: B9 M begin# Q' O. ?# z. T& l
  B2000 = 0;
9 l1 E7 z( i  t8 S; l/ ?" f  Count = 1;  e4 s: z! `: n8 P
end* b5 T9 P/ E! Z9 A2 S

- o5 x! J- @. q% G  ?# h1 N else
: x( r$ b0 P# I/ ~3 V! r- j begin
; V' o5 U% n1 e+ ?/ j  if (B2000 == 2000)( H, c0 {1 h5 i. M
  begin
  \4 L5 G( }* f/ _6 h& G   F20k = ~F20k;4 }5 `5 v  ^2 m% E  _' Q5 c$ T
   B2000 = 0;
9 a# O# U8 k  f% X, K+ H  end! g4 j' Z2 Q- z6 v, b* @, P% G

" g$ G, `+ B2 n' s        else
( ^: M) i& S8 j  b4 e  c  B2000 = B2000 + 1;3 X" R+ T# }, b4 U+ K

* s* ^2 f, \: z end
$ ^* V% ]+ \% Q; E8 Send+ [/ X4 y% S& O
endmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-23 07:44 PM , Processed in 0.159009 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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