Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2010-9-17 23:33:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
下面分別是我寫的除頻器及它的激勵源: {6 i/ b3 V4 U: y% y  S5 M
但我使用modelsim時卻無法正確的讓它產生振盪) d6 g, F. k+ c+ Z" H5 ?
該波形完全處於0狀態" O' i+ f1 a+ C) J" f1 V  {
但實際用fpga燒入以視波器測卻可測得其波形3 Z' j+ U7 Z( }1 H
不知道是modelsim本身看不懂我寫的+ x9 `! j' D* @( F
還是我根本就寫錯了
6 Z0 H6 U2 `- x/ g( D# T; R又或者是testbench沒寫好?
. t  B. s4 Q* F- I* x9 n煩請各位大老多多賜教!!
) ^% R& ^7 I; K4 z- B+ n$ W 9 e9 j; C7 s  S7 I5 _; F
: @. |9 a1 t' Z" t. k) ^5 d2 ]
module F40M20M20k50(F40M, Rst, F20k);
- a  z! B& [( o3 N$ r    input  F40M;
, ?3 q) h0 y& R: T9 D* H- Q    input  Rst;
" E6 @3 i, \, [, a. v; c! ?    output F20k;
- f5 v5 i; U2 o  4 N7 N& y9 x' d, q
    % }7 a* K3 y/ Q# \
         reg F20k;
: y3 |# |9 e+ p         reg [10:0]B2000;
. e9 p! g, S3 d) T    reg Count;
1 N' @  B, [7 L  C9 n% C2 o    $ t3 i# k2 c7 E9 d2 `0 n

) s5 H9 y1 O2 u( Y5 p& L4 c6 Oalways@(posedge F40M)9 J7 [6 M$ h3 d5 E/ O; V, @
begin+ n& m3 ]- ]/ v- x0 t6 g9 s
if (Rst)
; {" D  `+ e' {; V$ d2 e    begin5 R' F3 f" v1 c! S
      B2000 = 0;  # _; E5 x$ o  @
      Count = 1;  " [8 N; `8 c; ^6 J( u1 b5 D  ^
    end) j: I4 t1 w  D7 a8 L  z
    & q; E# v3 n+ l& c$ H' M( W
else
6 @1 J+ N: S; S# k& k) j' k+ w      begin
$ O  u+ ]+ d6 B* Q. X        if (B2000 == 2000)  
0 Y; e# P+ X! G+ Q6 \        begin
& x3 x  [; D6 z+ t          F20k = ~F20k;  : f4 f0 S4 T" L0 `
          B2000 = 0;  
% `- M4 o: P0 b( R        end0 g$ @- F3 Q8 ~: d. o
        else7 H! {$ h3 t' o: ]1 J- m
        begin
  U  ^) R7 W1 z, U          B2000 = B2000 + 1;  : Y  J: |" Y/ k  f/ C# N
        end* T* J. e6 ^/ C5 O# d
      end
2 g9 T+ p! Q9 j$ n4 d# Q/ ~   
, k& n# v, d5 O( n7 }7 X  end
5 i) w' S: |( L; W2 w& R
$ T; i" V; d2 w4 B  ?" `. S% n: yendmodule2 C3 ]4 Q# S; u, y, G) @# D
' C7 j4 e) t+ X( J
---------------------------------------------------------------------------  V" l+ q5 `5 }7 ]! \8 d
`timescale 1ns/1ns+ q! O" M8 ?& r3 @$ N
# Y4 |1 W+ y4 w. p; @+ l- {
module testbench;  t0 N& N( s, B9 _
* D* v+ _' Z  U1 F
) ~5 A2 T; e* b8 v2 z  Z
8 P: j: S. Z9 c. ]
reg F40M;: N" h% d" @& T  b$ j% r, M
reg Rst;
3 `1 u0 N1 p, ^' I3 [2 }3 owire F20k;$ k% ^2 `! K3 o# v
6 `7 p3 o5 G: |- v7 U, y* M
    F40M20M20k50 ReiRong (.F40M(F40M), .Rst(Rst), .F20k(F20k) );
( Y& w* V5 t; v. M2 p3 c0 X8 G& ^1 }# l* g; n) p  y+ z$ U4 ?
initial $monitor($time, "F40M = %b, Rst = %b", F40M, Rst );
* B7 F' ~/ Q# b# _5 K
$ q5 A' b7 W6 \4 t; b0 Y& Ninitial begin+ \2 k# ~* f) E! C) x
   
9 l1 Q. s4 X8 c6 A    F40M = 0;8 ~  w+ c6 P6 E3 l. m
    Rst = 1;
+ ~1 i8 n0 G# }: h* }8 N3 O5 B    2 G: `8 v. |' |1 |; K9 C6 V
end9 T: i- y6 F3 m
& B* N5 d& l# B- |1 \6 g" L; U7 w
always #25   F40M = ~F40M;
3 S( _! e+ q0 M# R' F, T    initial
( R0 S& {8 a8 F5 K1 E3 f- e         begin      t- t$ a# m$ V1 d0 J* O9 `/ ?1 ^  ]
    #100; w1 X5 K5 t; l
            Rst  = 0; 1 o/ y* H) A- Z( p: o$ H
    end/ i" y1 o. k% h, B' z: `0 I
6 X( [2 ?; O4 w  M/ {
endmodule
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂1 踩 分享分享
2#
發表於 2010-9-21 21:24:03 | 只看該作者
testbench裡面/ r) ]3 [( V" v; h
前面宣告改成% h9 \- V( g9 S7 D5 G. N: H% ^
reg F40M=0;1 `$ a! c8 {) }, H5 L
reg rst=1;9 [, T: Y  h' X9 S" V# X, p
下面2個initial  拿掉上面那個(有F40M跟RST的)! |2 Q4 p3 t  y1 O
這樣子應該就可以了
3#
發表於 2010-9-28 11:45:46 | 只看該作者
小弟認為 testbench 應該不是主要問題,% w3 l! w* W+ c7 d1 x/ s! P9 N
試試看你的同步Rst為1 時給 F20K 一個初值看看吧.
2 N, m- D' h% m$ \' C) A+ L& y
一開始就沒值,你一直將他反向也沒東西,
& X, K1 F  G+ D你現在的simulation波形應該是 unknow 吧 ?
5 q  [* d: T4 [1 S- y7 j1 j- i" S/ E) E
FPGA 的 CELL 一開始就會有初值了
9 r4 s" `, V- o9 H  ^6 |, Z) m# K1 h3 J9 P: \; T
if(Rst)0 l' b3 y/ P& z% Z( t( z9 a
begin
9 v% [$ L9 O8 d  B2000 = 0;  ?1 K3 e& G# {$ ^! k* S% H: {
  Count = 1;: H% s: o" e+ Y) O' b. ?. e
  F20K = 0;
, y% q- M$ R# ^! a/ K( F/ e7 Y end

評分

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

查看全部評分

4#
發表於 2010-11-18 17:28:41 | 只看該作者
Please try this module...............
, S7 V9 n; ~% E$ F! a
% N& K1 F( i) V6 M4 v, S' s$ i# J8 \: F; q9 r% L, U

9 c$ b1 ?6 L0 u' ?1 H
2 j! Z9 x& K0 Q( Q8 c, g4 w* `, C1 F& [, t* b$ @" n  L. q9 w
module F40M20M20k50(F40M, Rst, F20k);+ u- U: S+ L9 {/ D+ F
input  F40M;% T+ ~- R' c+ w! U0 O8 k- [
input  Rst;
+ z5 a1 I6 B6 X! e- noutput F20k;" s( o8 G/ G& L$ D$ T* ^' {
4 F1 ~3 l* H9 j
reg F20k;( w/ C5 E" w! g+ N0 P( I9 R* e
reg [10:0]B2000;) {) A$ l  q$ y+ k* H& N+ ~) M4 e
reg Count;
  p1 u# s8 f3 V- y$ F
! j) z- x' H) ~6 ?1 O, f8 m
" k# {# O( \- O% I8 s1 ]% ^always@(posedge F40M or negedge Rst); @* R" L$ U) ]1 r8 H  n9 p5 J- Q
begin. y( m. m4 l& ?  P4 F
% `4 V8 z; e+ T; {
if (Rst)  S# H1 O% S0 X& J* U/ q
begin
7 o: W: Z4 b6 C6 ~  B2000 = 0;
2 B8 w2 ]7 [/ ~9 n; y  Count = 1;0 ^8 r# F- {: J+ p' M. A
end& }# X6 k8 b7 P

  {+ v5 a; M/ ]+ _, Z! @ else
, w. n4 ^: L2 }- }9 s1 T: R" i# Q begin
1 s" `+ U+ w: |" O7 @  if (B2000 == 2000)
3 y$ T  Z3 \! D. H  begin
1 l! ?1 K7 z  Y* ~5 o0 n   F20k = ~F20k;6 F  f  F( \' G2 J6 J: j
   B2000 = 0;
4 Z  Y" P+ p3 }  Q  end; D8 q8 }7 F$ e) ~& P9 P5 n/ `4 Q

& D* X$ G9 b$ s2 ]: Y; }" b8 ~        else
7 X2 N& m1 y& V+ F, _  B2000 = B2000 + 1;! i; x+ ~8 G# g2 z8 d
3 Q6 Y; O0 X) c8 ]' V
end
& k: V  _6 B  ~# Gend* I+ R; [3 I4 h) e3 E2 \, h' a
endmodule
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-26 08:11 PM , Processed in 0.112006 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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