Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-11 23:04:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我用VCS與Verilog-XL模擬下面的程式結果輸出波形不同,
) C% ~- c+ Z6 m5 Q0 u1 L% ~8 B有大大可以幫我解答嗎??& W; q9 I" K& T

4 [  F2 I( c, k$ N, w1 M/ v3 Sverilog程式 : " [3 g; P" s6 \; _
`timescale 1ns/100ps
5 Z! f: Q5 v# w6 F2 Y5 j3 Ymodule timing(clk, rst, in, out);- l. I$ n  c" j$ M* W
+ D* I+ C7 R( U8 j! H) \
input clk, rst;
- l0 f( N+ F; E/ k% t7 Ninput [7:0] in;
( J1 b6 W; {: n  U2 Soutput [7:0] out;+ X& y) U5 q: X0 K) Y5 k
reg [7:0] out;
! n) y: ?- A* f% R) W
- D6 y" T3 r; g2 T9 Zwire [7:0] out_temp;, U3 R+ G+ r' A$ w% ~
& J6 B7 i/ k2 @! D" D* l

$ [. }  @3 ]9 s6 b9 a+ gassign        out_temp = in + 2;
( F& \, \! e0 e0 {) k: p0 g3 L/ i! W' @# T( p
$ P9 j& v# \/ B" i/ A! S, t
always @(posedge clk) begin' s/ T  b+ P; v/ R
        
, I) H# N+ P; A  R! y        if (rst)! c. D. F- W5 M$ J
                out <= 8'd0;4 L& n4 e7 _- p4 V/ N$ [0 J
        else ; l0 L, o6 s( Z1 }7 ?, Y7 M
               
9 r/ [* A2 A4 w% `2 j1 H, f9 p3 h                out <= out_temp;
) g6 ]7 c* X8 U- X* k$ t, B4 ^% {                4 G! t  l' o5 T3 p
end2 M7 A3 P1 e" Q

( Y* F: P1 z# F9 \+ Bendmodule5 V6 o4 a6 R# y. \, o
1 x* V3 Z  b/ C0 U7 _0 s# C
) n. U& F2 l2 X: Y) V1 e
module test();. J$ z* r$ o% u5 {% F- i2 c6 z

9 ~, R; Y' r8 ?6 D' a6 areg clk, rst;7 x& t' U/ Q  _$ n+ w5 q, r
reg [7:0] in;
& ~) z4 e" \) y4 i- ]7 Zwire [7:0] out;
4 l6 Q( H: z5 t  o/ K+ G" D+ v: }0 y6 T2 S) K5 W) D
timing timing (clk, rst, in, out);: K# g0 z; r3 m7 ?
" I7 u6 \( h4 d# A# G/ K
& Y. ^9 q! c( m6 r0 O5 K2 b
initial begin8 L8 L9 o) E6 O7 S, @3 h; z
        $fsdbDumpvars;
0 _6 N9 D0 \+ D* |5 v; K        clk = 0;
+ Y( h$ u# _( b1 q  F3 }8 l        rst = 1;. I% q8 j' i, Q8 I+ @& Z
        #20- e. E* c1 @9 W; p1 ?2 R: U
        rst = 0;, q/ p' i" N7 N/ B( l
        #5
& N' G- C5 \8 S3 `1 T        in = 5;  ]: V: p1 a7 w6 \  \, }
        #10
, C: _' _$ Z1 D" J5 D        in = 6;( e! n! E' k" Z+ [6 F4 g7 b
        #10
& V3 S3 }) \# h        in = 7;
* ^9 _3 V% C+ Z$ C% h- L  g* x        #10) ^" X  `$ Q( x( l
        in = 8;
" D/ V4 n! M% z8 k. O1 B        #10$ }4 P- T; v0 s* |5 H- W
        in = 9;
6 G1 p  x; P  D        #500 $finish;: Y+ i3 J0 e/ s' N. U2 F4 ~3 g, O
end9 Z2 v5 {6 j, q' W- O0 C, p

% e! a: U& L+ F, c& oalways #5 clk = ~clk;    4 \* t# b+ Z4 w0 y1 M% Z! I, S0 h

" V5 z0 v0 f  K4 u$ Bendmodule
& P- \& X3 N4 b/ i6 {8 f/ ?, I& ?" j: w) [3 R% k) o0 E
------------------------------------------
, k% c0 E: U$ ~+ I以下是VCS與Verilog模擬的圖- h) B9 n/ s4 H8 _. M! J) a3 i
; V' U" r& ]  N7 F9 U1 t
. m. r2 F7 U  E7 V

/ {  a. w" j; k& ]1 _  B; n  o為什麼會不同??
, H  c( C) J+ E0 e0 c各位大大請幫我看看
3 z( \( h( V; u, f/ }- R; S4 E- z8 ~% ~  d6 t
PS: 我不是要交作業啦,只是在Simulation遇到問題; C4 j; D1 [, i5 o2 y1 `
3 N, J# ~7 {; X  F0 s
謝謝..............................

本帖子中包含更多資源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2009-9-15 15:46:20 | 只看該作者
这个很明显是Verilog仿真中的竞争(race)情况。
* E4 @9 v# @7 e5 a" E' y, v你产生in值的initial block和 产生clk的always block各自独立,所以执行顺序是未定的。
3#
 樓主| 發表於 2009-9-15 22:57:52 | 只看該作者
請問要如何寫才不會有Race的現象??/ `6 z) y- J, y  J& N3 w2 ]  N1 j+ Q
我不知道如何把initial block與always clk 放在一寫??
2 s1 X$ _3 i+ J4 V# V, O$ V7 g可以告訴我嗎??
* J, j- J$ O. a. a; `3 [
! W0 R  f" }( U: ]# W, V8 Z& ^+ j. ^9 i/ Z8 a% P0 _7 |
謝謝.................
4#
發表於 2009-9-18 17:47:59 | 只看該作者

回復 3# 的帖子

不要讓clk 的edge和data的改變在同一個時間發生就可以避免這個現象
  T0 `3 z. Y# n& \, {) `2 Z而initial和always 沒辦法一起寫。
5#
發表於 2009-9-23 11:04:33 | 只看該作者
既然你想要的数据和你的时钟是有关系的,为什么不写在一起呢?4 C/ {1 f0 }; J# M" V$ x) X7 [$ E
写在两个独立的block,仿真器不可能知道他们有关系的。
6#
發表於 2009-9-23 12:14:03 | 只看該作者
除非你用clock同步
+ Q: a0 \9 D% a8 L) A.....................................................
7#
發表於 2009-10-9 17:19:43 | 只看該作者
You can solve this problem   t, N- l4 {' e
1. add a delay cell before each register.# k  I) ]0 V) J0 e
2. Synthesize the circuit, simulate the code with SDF.
8#
發表於 2009-10-13 09:15:16 | 只看該作者
這樣說吧% f  |- R& Q  y; L, I7 c
initial 是執行一次的迴圈
- B, e% t5 E( C# X" x1 H" J" zalways 是無窮回圈
% z- S& C! q  @4 y1 G8 {兩者要同步才能避免這問題
% W! Z0 k  h4 ~# u! J9 y5 a同步就是在initial用 @(clk) , 不要用 # n
. V6 I! A, o. Z, M
( k2 _8 T" X7 V: C9 p5 `以上
+ x3 a) K4 Y/ G2 e/ E& ^如有錯誤歡迎指正
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-29 09:24 AM , Processed in 0.181011 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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