Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-11 23:04:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我用VCS與Verilog-XL模擬下面的程式結果輸出波形不同,
3 Y1 @. Y% ]3 T; s" \有大大可以幫我解答嗎??
% B3 l4 ]; c3 c9 c; H) B% ]% ~4 k3 |. m. e- y1 l5 V/ r
verilog程式 : 3 D- x: N3 \3 q! x
`timescale 1ns/100ps
  _) C7 e% j9 a, D- H, tmodule timing(clk, rst, in, out);
7 O1 L# w/ D" v, |+ o+ o% x/ \4 K3 Z" v5 X1 I0 u0 E+ S/ \" G
input clk, rst;) B: C1 u- O3 G0 p8 Z
input [7:0] in;' I3 S& N& q$ }. m/ _: b) Z
output [7:0] out;6 Y: a0 C+ _7 [% J$ o# p, q1 z
reg [7:0] out;/ m4 W/ j# d% M1 O6 x( k
) E" v% b7 i) Q$ g! T& j$ m
wire [7:0] out_temp;/ ]) y! c5 G" c
* K% v. _6 b; E. }: ~! u5 E# ?! R
2 H% h) _* I3 Z8 A
assign        out_temp = in + 2;
) W* A- }7 r9 i; M7 w  u
/ J2 u  l% n) {1 u& Q9 W2 K3 r  w% Y2 m6 R# W4 Z
always @(posedge clk) begin
5 A! u: ]  ~1 x: [4 r        
9 X% c# M3 a; J. G        if (rst)
8 [3 r* w" Y( f7 D7 k                out <= 8'd0;
% o, g3 j/ j( O% s* U5 t        else 3 [* q; `* b( K3 D) x6 Q/ r* ~. U
               
6 O" o/ k- g4 P7 ?                out <= out_temp;
/ W8 }" T" Q4 I; g; s, r               
. q# E3 N( Y9 _+ t3 [* nend
" E; h* V/ G7 e2 y
8 {7 i+ T' |. F/ A  d0 v: S6 Hendmodule
0 k5 o: C6 G$ A2 e& H* Y1 u5 p1 x9 @! g

6 [) Z8 x  u) p0 W: q# G( omodule test();0 K6 P4 T% j( s3 Q4 H

! F" m* |+ V$ n: \& @; @( y/ \reg clk, rst;
0 M3 h: s% t! I( hreg [7:0] in;
1 g- S" s% j; z+ C3 pwire [7:0] out;
7 Z' i3 p& k9 V
- _' P- |. A2 [' I8 k+ |4 e6 W7 xtiming timing (clk, rst, in, out);1 L; r0 s$ e; `

$ q' T! o3 n& @3 j7 K/ E( x8 a8 n0 o5 a
initial begin
$ W( c; }/ b6 X2 `        $fsdbDumpvars;. |: ~( z4 w& Y4 M3 Y. p2 d& [
        clk = 0;
/ F$ f1 Y; i# V1 v: f8 j) B        rst = 1;
5 S- T% Z% S: M; `9 X        #20
3 |1 i/ R0 F& s- a# ^        rst = 0;
4 g4 [' a' o' ~" @9 _        #5
" g! {! ?5 [) `9 ?; ^  x0 c        in = 5;
$ K- ^  N) M: D9 L        #10& q! l; g& t" C9 ~9 t
        in = 6;
3 j, }: r" m) d4 f3 x- T# K! W        #10
! `$ J2 \3 v0 V% T0 N; n        in = 7;
. y5 V& S1 Y! d* q+ i+ m        #10
3 X8 A2 H2 G* }* V        in = 8;
$ R% p9 Q- B+ c+ s4 V        #10& Q' A! M8 P# Z2 v) {3 ^& V
        in = 9;0 }9 x* v8 _( K* n9 u" d
        #500 $finish;. Z7 o* f: N# N: d
end
- S+ _9 j& Z( A# g$ U- U3 K% J( E% f8 q0 T! P% M) j2 Q
always #5 clk = ~clk;   
* [4 @+ o% ~' [* p; y! V4 f
: @2 s8 j1 I5 c. b! q( d: Z2 m8 }endmodule4 |  i' a1 G  c% ?) Q. B3 _

& {7 h4 ^3 U5 t------------------------------------------
2 q1 _8 P' o! y# `- H" [+ x0 [- q以下是VCS與Verilog模擬的圖
9 W) F+ v7 r! L7 y% q- J: r- u0 X5 M+ g7 u4 s7 t

$ X; U2 H2 m1 X# k& b
: [3 }: k: n8 [' w1 E0 ]為什麼會不同??
! l4 Z' e, J( X) d+ `各位大大請幫我看看
4 a5 j- a  S: |
0 Y, A0 _1 _- ~* M0 N7 EPS: 我不是要交作業啦,只是在Simulation遇到問題/ t0 r3 Q3 Y* u4 B$ _) K: u( f

' T9 `5 ~+ o8 X# i2 K+ i謝謝..............................

本帖子中包含更多資源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-9-15 15:46:20 | 只看該作者
这个很明显是Verilog仿真中的竞争(race)情况。! ?+ v- |) M) C7 j% ?2 {
你产生in值的initial block和 产生clk的always block各自独立,所以执行顺序是未定的。
3#
 樓主| 發表於 2009-9-15 22:57:52 | 只看該作者
請問要如何寫才不會有Race的現象??
$ f. S; P7 f1 L1 ^我不知道如何把initial block與always clk 放在一寫??/ @9 Q$ {6 t4 L- Q
可以告訴我嗎??% _  P2 b, t; x. \* @! V' P) B
, p. G0 B& }; m4 p% P

" l4 E7 N( T; q2 U謝謝.................
4#
發表於 2009-9-18 17:47:59 | 只看該作者

回復 3# 的帖子

不要讓clk 的edge和data的改變在同一個時間發生就可以避免這個現象
: M6 |! v/ a8 z+ [, g8 {7 L而initial和always 沒辦法一起寫。
5#
發表於 2009-9-23 11:04:33 | 只看該作者
既然你想要的数据和你的时钟是有关系的,为什么不写在一起呢?2 s' D, t* J% k# I& ~; @: }9 V
写在两个独立的block,仿真器不可能知道他们有关系的。
6#
發表於 2009-9-23 12:14:03 | 只看該作者
除非你用clock同步: U2 h& q( H' j
.....................................................
7#
發表於 2009-10-9 17:19:43 | 只看該作者
You can solve this problem
- F+ ^9 X* f- v+ O4 k9 g1. add a delay cell before each register.9 J7 e$ J! r7 I; \
2. Synthesize the circuit, simulate the code with SDF.
8#
發表於 2009-10-13 09:15:16 | 只看該作者
這樣說吧& X3 y3 y" L% u0 x; _
initial 是執行一次的迴圈3 l8 N8 j' `: `6 r: E0 O
always 是無窮回圈 + a1 C* u* n0 p6 I- Q
兩者要同步才能避免這問題& T  |: k. d  O7 f3 l
同步就是在initial用 @(clk) , 不要用 # n
8 d1 g8 T  z2 P
, S# n& u* C7 P% j9 p( W/ x以上" O. L2 t# W& `  b7 ^9 I
如有錯誤歡迎指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-2 02:31 PM , Processed in 0.122016 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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