2016-05-10 14 views
-2

本当に混乱します。Verilog VCSでコンパイラを正しくコンパイルするとプログラムが正しく出力されますが、コンパイラがIVLで別の出力を得るとき

私はVerilogプログラミングを行い、VCSでコンパイルして実行しました。予想されるクロックサイクルで正しい値を与えています。

私はそれを実行するとivl32ですが、少し異なる値を与えています。

私は完全に混乱しています。

問題はどうなるでしょうか?

+3

シミュレータの動作が競合する原因となっているコードを表示してください。 – sharvil111

答えて

2

主要なElectronic Design Automation(EDA)ツールベンダーは、それぞれ独自の SystemVerilogシミュレータを備えています。このツールは、異なる時間に異なる人物、特にシミュレーションアルゴリズムによって作成されています。だから一般的に彼らは同じように行動する。

あり不確定性と呼ばれ、手入れがモデルやテストベンチは、不確定性が問題ではない、というように書かれているように注意する必要があります。

不確定性:LRM例から不確か

参照:初期の実行が割り当てステートメントとインターリーブされているので

assign b = a; 
initial 
begin 
    a = 1; 
    #1 a = 0; 
    $display(b); 
end 

、Bの値が '0' または「1からBできます'、異なるシミュレータは異なる出力を与える。

Questasim:

-- Compiling module chk 

Top level modules: 
    chk 
Reading pref.tcl 

# 10.4 

# vsim -lib work chk -c -do "run -all; quit -f" -appendlog -l qverilog.log -vopt 
# ** Note: (vsim-3813) Design is being optimized due to module recompilation... 
# // Questa Sim-64 
# // Version 10.4 linux_x86_64 Dec 2 2014 
# // 
# // Copyright 1991-2014 Mentor Graphics Corporation 
# // All Rights Reserved. 
# // 
# // THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION 
# // WHICH IS THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS 
# // LICENSORS AND IS SUBJECT TO LICENSE TERMS. 
# // THIS DOCUMENT CONTAINS TRADE SECRETS AND COMMERCIAL OR FINANCIAL 
# // INFORMATION THAT ARE PRIVILEGED, CONFIDENTIAL, AND EXEMPT FROM 
# // DISCLOSURE UNDER THE FREEDOM OF INFORMATION ACT, 5 U.S.C. SECTION 552. 
# // FURTHERMORE, THIS INFORMATION IS PROHIBITED FROM DISCLOSURE UNDER 
# // THE TRADE SECRETS ACT, 18 U.S.C. SECTION 1905. 
# // 
# Loading work.chk(fast) 
# run -all 
# ----*---- Value of b is :: 0 ----*---- 
# quit -f 
# End time: 14:32:20 on May 10,2016, Elapsed time: 0:00:01 
# Errors: 0, Warnings: 0 

INCISIV:あなたのコードでレースしている場合は

irun: 12.20-s015: (c) Copyright 1995-2013 Cadence Design Systems, Inc. 
Recompiling... reason: file './me.v' is newer than expected. 
    expected: Tue May 10 14:31:09 2016 
    actual: Tue May 10 14:33:54 2016 
file: me.v 
    module worklib.chk:v 
     errors: 0, warnings: 0 
     Caching library 'worklib' ....... Done 
    Elaborating the design hierarchy: 
    Top level design units: 
     chk 
    Building instance overlay tables: .................... Done 
    Generating native compiled code: 
     worklib.chk:v <0x5f262bc0> 
      streams: 1, words: 825 
    Loading native compiled code:  .................... Done 
    Building instance specific data structures. 
    Design hierarchy summary: 
        Instances Unique 
     Modules:   1  1 
     Registers:   1  1 
     Scalar wires:  1  - 
     Initial blocks:  1  1 
     Cont. assignments: 0  1 
    Writing initial simulation snapshot: worklib.chk:v 
Loading snapshot worklib.chk:v .................... Done 
ncsim> source /sib/tools/Cadence/Install/INCISIV122/tools/inca/files/ncsimrc 
ncsim> run 
----*---- Value of b is :: 1 ----*---- 
ncsim: *W,RNQUIE: Simulation is complete. 
ncsim> exit 

その後、この問題のキンクが発生することがあります。

関連する問題