Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

[問題求助] 問一下VCS 與Verilog-XL的模擬結果

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-11 23:04:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我用VCS與Verilog-XL模擬下面的程式結果輸出波形不同,
: R8 {& l; J5 b8 M: |有大大可以幫我解答嗎??9 P6 f8 f/ y  J/ ?$ i2 S$ u: B
& n% Q% F0 M9 _0 Z$ Y$ ]
verilog程式 :
" Z  q( p( C4 e0 X  f4 l/ E# @- y`timescale 1ns/100ps0 B1 r5 P" N) f; t
module timing(clk, rst, in, out);
& L5 q0 ]. {4 }6 U( H3 m
, s8 ~  x; J" F$ m. Zinput clk, rst;+ P3 ^& X) k) ~3 Q2 N2 b
input [7:0] in;
- O2 {& j- V2 U% xoutput [7:0] out;
. j6 t2 ]- s5 z" }reg [7:0] out;# b  k  @0 x0 A. H8 `( N2 V

3 T- ~# K2 X! Q( O& hwire [7:0] out_temp;
+ [6 f. D. `" C) @* `- I
! s' e$ I) C- t* _9 Z+ J
. b2 f+ a5 R8 hassign        out_temp = in + 2;
, Z7 Q  Q$ x1 }. c  C9 }7 h. `- K# I& x# R5 z6 j
4 r0 a4 F6 x4 Q2 Z# w
always @(posedge clk) begin  X2 [3 s- U) l: O: A
        
5 S. c: K6 q/ J0 I1 v+ d% h9 u1 \8 a' ?        if (rst)
5 u/ e$ ?3 x$ R2 T8 u% ]                out <= 8'd0;% a) ~) [( F( U- n3 A  O
        else
+ @* s  Q* C, X                " W; s  @$ ^# P$ ^- g* q# V
                out <= out_temp;
6 ~2 L8 z2 D2 L. t               
' n. k  @; O  V, A7 Iend* ]* I9 d' N5 q8 B1 w& l% g

1 C! f8 J3 }5 M4 T7 a& D/ }endmodule! i2 G' c% P) V% i# i
# I. ^- W) A  Z  c: m* x
. ~! j, a) D+ v3 I* }
module test();( @4 ~1 l/ O, s
. ^* F1 Q. A, r$ ]6 J6 ~/ n' c/ ~: y
reg clk, rst;# h9 l) W0 R% Y
reg [7:0] in;
+ A+ G2 \* o* G' {wire [7:0] out;  s# G4 y0 H% N0 V4 A: x3 c

$ Z7 o* V  a0 T" |3 g# _& d8 ptiming timing (clk, rst, in, out);
2 p5 w+ n: Y( O2 C/ x; T" X
, T) T  t3 j+ B4 A# m( i& x; _% ?% i8 e) [6 ^7 s, `5 d
initial begin$ m2 v8 p# b! X  Z$ n
        $fsdbDumpvars;
, R1 I, Y3 q0 w- m$ f* {- T, a) ]        clk = 0;# H; Y1 G' k. B5 @+ g( x, D
        rst = 1;  X  J; {) B3 C4 E
        #20( K9 q! a( J& N4 n
        rst = 0;
3 l$ r5 S: c7 W( b# ~        #5" ]# s6 h3 k" U8 ]
        in = 5;% `7 m" y" B- Z% L% `
        #10' @: ]2 I* K2 s
        in = 6;! Y6 l; a5 S/ R& ~
        #108 K. ^8 g4 z" z" O
        in = 7;- i. n/ N4 y7 C/ e) l
        #10
8 [+ @. y2 d& o# Q9 @: Q        in = 8;
, F9 K0 W9 m+ ?' D$ _, o        #10
# a8 \/ m9 o+ D6 `. v0 I8 O        in = 9;  s+ |6 A* U0 B; l
        #500 $finish;! _) m' b5 |" e% v- i
end
! ^! e% a- c: c
$ Z" o! E5 N$ a8 [always #5 clk = ~clk;    1 J- r  i8 F. y
$ q0 j4 n" o% @3 ]: P/ Q( b
endmodule
, L$ d9 u/ ^8 p* T' ?* j
& Q9 T% `2 u' N% c2 G------------------------------------------
* o- h; o8 M- v. N/ h# i以下是VCS與Verilog模擬的圖- B! o: r! Y; k) S% b+ `7 @
3 O" U, ?1 C4 ]6 x4 n
, ], {0 F0 _0 A
" m7 |9 |, z# @8 V( D5 p
為什麼會不同??9 D9 j7 N& p0 U6 }
各位大大請幫我看看1 ^. X# M/ \; S' k5 b

( [! c1 u- U4 JPS: 我不是要交作業啦,只是在Simulation遇到問題0 }7 D1 R% h; e( }

# t( h. n/ I& g謝謝..............................

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-9-15 15:46:20 | 只看該作者
这个很明显是Verilog仿真中的竞争(race)情况。
! o% e- u6 [( K. l8 u$ g你产生in值的initial block和 产生clk的always block各自独立,所以执行顺序是未定的。
3#
 樓主| 發表於 2009-9-15 22:57:52 | 只看該作者
請問要如何寫才不會有Race的現象??8 }" b( k! P  |: e' A
我不知道如何把initial block與always clk 放在一寫??
1 u$ w2 ?/ c6 w' f可以告訴我嗎??
3 v1 Q& n! t- N- Q
0 J- Z- \% @2 c: |) n2 `$ Z
: R! _, D; {1 ?" k, s0 j" j謝謝.................
4#
發表於 2009-9-18 17:47:59 | 只看該作者

回復 3# 的帖子

不要讓clk 的edge和data的改變在同一個時間發生就可以避免這個現象
2 B0 s' V( O; H1 S% R; G而initial和always 沒辦法一起寫。
5#
發表於 2009-9-23 11:04:33 | 只看該作者
既然你想要的数据和你的时钟是有关系的,为什么不写在一起呢?
  O$ D3 @: Y  K' o! T9 [写在两个独立的block,仿真器不可能知道他们有关系的。
6#
發表於 2009-9-23 12:14:03 | 只看該作者
除非你用clock同步: O6 ~& ?$ q, t: O- u
.....................................................
7#
發表於 2009-10-9 17:19:43 | 只看該作者
You can solve this problem
1 p* v: L/ a' p$ [1. add a delay cell before each register.
$ d7 {4 r+ D9 V' P3 Z" }) z8 e2. Synthesize the circuit, simulate the code with SDF.
8#
發表於 2009-10-13 09:15:16 | 只看該作者
這樣說吧! G4 ?# L8 ]7 P* K% Y+ M+ E
initial 是執行一次的迴圈5 F3 O' n, p5 F+ C7 ?
always 是無窮回圈 ( K; B# e+ M! Q. z. b  f
兩者要同步才能避免這問題
  V, }& V! m: O% q同步就是在initial用 @(clk) , 不要用 # n) P1 u8 X. F) P8 w) p- @- d: k3 E

* v5 u1 t' W5 C' q3 ~. E以上
! p4 M2 M* W  i- T- v0 b如有錯誤歡迎指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-2 04:06 PM , Processed in 0.123516 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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