Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源& G4 b1 ?2 j: W% A) H# L) E* y
但我使用modelsim時卻無法正確的讓它產生振盪  f* A; I( i: @
該波形完全處於0狀態
# v/ \" |1 m  W* J0 M2 r) A5 E. b0 z但實際用fpga燒入以視波器測卻可測得其波形
- h  p8 J7 V" s6 s! k5 L1 `; D! I不知道是modelsim本身看不懂我寫的, J% F) A2 l1 T* g
還是我根本就寫錯了
, |1 w1 X4 n2 w又或者是testbench沒寫好?7 w% k, W) D# |' K0 T
煩請各位大老多多賜教!!
1 [$ F6 Q* X8 p0 Q + l+ N5 o7 f5 C7 V2 l1 V8 R, F

  _% w4 g5 T4 {% P) A; F9 kmodule F40M20M20k50(F40M, Rst, F20k);
! D8 O* [1 i% B+ v7 U# e5 B    input  F40M;
1 b& v* X4 t8 J  K! q) n    input  Rst;
' C; K/ {$ u# z. ~# Z  I' j    output F20k;8 _5 Z) l, T# ^, u% q! ^
  
2 d* B' }; [8 c5 p" N  {- ~# h    & d2 O: W8 @; i+ Q7 d
         reg F20k;: ~6 u( P2 V3 Z1 K3 `! ]8 @
         reg [10:0]B2000;
+ Q* ]) h* [% C9 w- g" d    reg Count;
- s9 C9 D  _6 M/ n6 e    ) j" n' B" U  k& F

5 C. s: q8 Z; z1 O% L) Qalways@(posedge F40M)
1 |# y- R3 Q+ K! e' [9 @begin
( @6 G9 \4 |3 R! `, Nif (Rst)
. m5 A* ^: {, H1 I# V( ^    begin
3 V) g- K) N$ `! y# @0 ~" W      B2000 = 0;  
% c6 Z4 V) q) h& k+ ^4 v      Count = 1;  
0 A! c0 ]4 @( H, V    end
) g- H1 m/ ]0 W  \  z5 L( Z- d% }    + [# Q0 u7 ~/ D
else
& \2 w6 a# r9 c2 I+ O- T      begin4 z4 K+ o) n+ F1 i% q* T
        if (B2000 == 2000)  * D# }5 `- V( K0 q
        begin8 m6 L" z$ {. u  |+ W/ M- _9 i0 Q
          F20k = ~F20k;  
3 ~, p/ r" ]. z3 a1 k' n: A          B2000 = 0;  " k. W, j7 O& ]: s
        end0 ~; s0 G( F$ O! j# {
        else
4 I( b0 l  S2 n3 n6 S        begin
7 y# i) `1 B+ m% \- b          B2000 = B2000 + 1;  * i# m& }' r$ }: x) B5 s! M: z
        end3 l4 S; E1 r- @' r
      end
0 R! h* j1 D2 d. Z- A  v   
4 C) \. T0 O9 k) j" _  end0 x& W# N! v; I0 B1 O/ k4 H' v

2 J7 r6 c" x* u7 E# Y! ?endmodule3 S6 }- Q0 h2 O5 l9 |
$ X2 S1 J4 F' @4 J5 @. N
---------------------------------------------------------------------------1 Q+ u; P, F% q2 Y( a$ U6 F; _+ C: D
`timescale 1ns/1ns
. U/ c6 H) C0 n' ~* N( T6 s/ S% g; J8 v. E4 w% n) v3 h  C. n9 A
module testbench;
( \7 }+ A! y( f2 |7 }
" y% n3 v/ u) s2 g; c! `/ [9 M6 m! ?, _" k+ O: C: k
8 w9 ~+ v! U  m7 E* o% `
reg F40M;7 t  P8 I+ V4 D. n1 ~
reg Rst;
  l/ @2 o* ?% qwire F20k;
" R* R2 i& S' _6 l# K' F( `
; ?1 L' F: ?: ~6 f    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );
3 @, G$ p! Q( r7 r% e0 T" E1 T& t8 k# c$ o! i4 E9 X! I% T3 x) P2 \) M
initial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );+ Q- _- \9 L, }7 Y2 v: s! [0 T3 u

. Z, |4 j2 u7 s0 ]- N% M- ?initial begin0 q* T0 }- w' l" r& y6 g" C
    , i; L( {! C+ v
    F40M = 0;  P: p) B0 r: f1 P
    Rst = 1;' U9 }4 K0 [! J% |) V- q3 t9 I
   
' q7 e5 V' X5 h% x# ^end
9 i1 ~  d6 |# @; ]; |" Z
4 \5 l  s; L4 D always #25   F40M = ~F40M;" O# h' A; z: G: X+ d- f7 o
    initial: w9 P/ J4 {& }" z, V
         begin    3 Z: W. C2 p& P& v+ ?
    #100
! I( h( }# m' T( r% k            Rst  = 0; / a/ T" i2 |( w# O: x
    end
: s, c3 e: }9 P2 G
3 i+ _9 A7 o6 D: `: x8 q3 {5 s. xendmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面
5 g" p6 ]7 p7 |; A前面宣告改成
1 K; f' D* A. }4 ], Jreg F40M=0;
  ^  X9 s$ b# u- G+ y4 ]* g6 Mreg rst=1;
6 q# U7 r3 {, m$ M0 b下面2個initial  拿掉上面那個(有F40M跟RST的)
) y& T% d' d! l) b! c7 e; D/ C5 N這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,
; H9 S  _% ~# A# u- a試試看你的同步Rst為1 時給 F20K 一個初值看看吧.$ ^& ]+ T2 r  h' l$ c+ v
; C/ A1 W% G! _5 ~9 ~
一開始就沒值,你一直將他反向也沒東西,- U  M6 w( g. G, d) I4 ~9 F5 m1 O
你現在的simulation波形應該是 unknow 吧 ?
) O1 X2 z0 v: ]) N# n3 e* J) N5 c  G7 _! R. s+ [; S: e1 U
FPGA 的 CELL 一開始就會有初值了
; Z; o8 o' t$ ~
6 r9 G) z: Z- y1 Cif(Rst)( h9 y8 s% H' {8 i1 h  R
begin3 e+ w/ n; v, F; W! z6 j" d
  B2000 = 0;- C$ Y  Y; M. o0 L
  Count = 1;
1 u$ d4 C6 Q& A  F20K = 0;2 S/ d. B1 Z1 T6 x, D, ]) W
end

評分

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

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............
" y% d. h2 {/ b! @2 b8 l! V& O( I$ ~6 ~1 C3 O

  ~& C" I: i# e* n- u" w, [' h4 G% O- L- q9 _/ Q! y. d# a6 z3 H
. g( q3 s5 m  D
4 h5 z+ k4 v# d/ x* y5 C. F8 [; U% b' Z% _$ P
module F40M20M20k50(F40M, Rst, F20k);
( D1 H+ @( R* J2 @/ Kinput  F40M;
1 Y. f- h9 j9 L# X  R' b- vinput  Rst;) f0 l" h; d* s: {( c1 F% B
output F20k;
+ s- U, ^5 K% A$ d* {8 `& D; S: A  e" b! n% }
reg F20k;% n% [2 B8 N2 s- a; L% e
reg [10:0]B2000;
$ f- b5 _2 [5 H9 V+ G# Yreg Count;
/ ^) ]+ }) n% D5 k 9 h% d8 _$ |$ V+ u

! U0 ]* N9 `$ \& Ealways@(posedge F40M or negedge Rst)
1 E& T& Y+ Y& Z* H7 T5 q- rbegin
9 |' E; P, w" R6 N0 q+ H0 I3 H" _) F. s5 S
if (Rst)4 {% b% X/ e. r: h
begin
" {6 l  n7 j! r  B2000 = 0;
' B- R8 M* l) F- `+ R. e$ C6 O  Count = 1;7 V- }2 ]7 A( x: s
end" |! g3 K# `* F7 C) h: m; _
' Z" H: p( o0 v3 M
else
7 [+ L( @0 r6 R% I, C+ l/ \" C( k! R begin
1 K( m% h2 R& ]) \' D. F  if (B2000 == 2000)2 O9 Q' j) V( h- M
  begin
% U, ]1 U* [; Z" p" {1 h3 u   F20k = ~F20k;
1 G9 [) v% @7 J! i, N7 n5 P# a" W   B2000 = 0;( Q: v3 n& y& G3 A6 Q1 H) k
  end4 l5 y- l1 j& H$ W- |0 T
7 Q* F- p4 W1 n
        else
' d8 j9 z0 U. F4 T  B2000 = B2000 + 1;8 Y& H; }4 y+ f' v- U
; G1 _: q0 s/ t) I! _: E
end
5 y7 W1 H+ k$ A: N1 |9 }" v& Fend5 P, [, q2 }# C  A! q7 F
endmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-24 04:11 PM , Processed in 0.157009 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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