FC2カウンター FPGAの部屋 ISEでのVHDL、Verilog混在シミュレーション(ISim使用、ISE11.5はX、ISE12.3は◯)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ISEでのVHDL、Verilog混在シミュレーション(ISim使用、ISE11.5はX、ISE12.3は◯)

ISE11.5のVHDLプロジェクトで1つのVHDLファイルをVerilogファイルに取り替えたら、ISimのシミュレーションがフェイルしてしまった。前に、これはやらなかったっけ?
以前、”ISimでOVLのVHDL, Verilog混在シミュレーション(ISimでシミュレーション)”でやったのだが、これはVHDLのプロジェクトでVerilogのライブラリを使用してISimでシミュレーションをしたのだった。実際にVHDL、Verilog混在シミュレーションはしたことがない。。。(実は、”Spartan-3A Starter KitでCMOSカメラ・ディスプレイ回路のSCCB回路追加時のシミュレーション”でISim単体でVerilog 、VHDL混在シミュレーションしたことがあった。しかしこれはISE12だと思う)
下の図のようにISE11.5のVHDLプロジェクトの一部のファイル(dispseg.v)をVerilogファイルに交換した。これでもインプリメントは通っている。これをISimでシミュレーションすると、フェイル。
ISim_VHDL_Verilog_1_101112.png

ログを下に示す。

Started : "Simulate Behavioral Model".
Starting fuse...
fuse -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_beh.prj top_tb glbl
Running: C:\HDL\Xilinx\11.1\ISE\bin\nt\unwrapped\fuse.exe -ise C:/HDL/FndISEWork/K-5/2010/work/k5_q1/k5_q1.ise -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb_beh.prj top_tb glbl
Number of CPUs detected in this system: 2
Turning on mult-threading, number of parallel sub-compilation jobs: 4
Determining compilation order of HDL files
Parsing Verilog file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/dispseg.v" into library verilog
Parsing Verilog file "C:/HDL/Xilinx/11.1/ISE/verilog/src/glbl.v" into library work
Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top.vhd" into library work
Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top_tb.vhd" into library work
Starting static elaboration
WARNING:HDLCompiler:89 - "C:/HDL/FndISEWork/K-5/2010/work/k5_q1/top.vhd" Line 42: remains a black-box since it has no binding entity.
Completed static elaboration
Fuse Memory Usage: 125792 KB
Fuse CPU Usage: 202 ms
Using precompiled package standard from library std
Using precompiled package std_logic_1164 from library ieee
Using precompiled package std_logic_arith from library ieee
Using precompiled package std_logic_unsigned from library ieee
Using precompiled package numeric_std from library ieee
ERROR:Simulator:793 - Unable to elaborate instantiated module dispseg

Process "Simulate Behavioral Model" failed


Verilogのファイルがブラックボックスと言われて、そして、インスタンスをエラボレートできないと言われてファイルしてしまう。
top_tb_beh.prjのファイルの中身を下に示す。

verilog verilog "dispseg.v"
vhdl work "top.vhd"
vhdl work "top_tb.vhd"
verilog work "C:/HDL/Xilinx/11.1/ISE/verilog/src/glbl.v"


次に、ISE12.3で同じプロジェクト(いや、プロジェクトはISE12.3に変換したもの)をやってみた。ISimでシミュレーションすると、問題なくシミュレーションが終了した。
ISim_VHDL_Verilog_2_101112.png

ISim_VHDL_Verilog_3_101112.png

ISE12.3だと問題ないようだ。
ISE12.3のログを下に示す。

Started : "Simulate Behavioral Model".

Determining files marked for global include in the design...
Running fuse...
Command Line: fuse -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_beh.prj top_tb work.glbl {}
Running: C:\HDL\Xilinx\12.3\ISE_DS\ISE\bin\nt\unwrapped\fuse.exe -intstyle ise -incremental -lib unisims_ver -lib unimacro_ver -lib xilinxcorelib_ver -o C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe -prj C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_beh.prj top_tb work.glbl
ISim M.70d (signature 0x36e8438f)
Number of CPUs detected in this system: 2
Turning on mult-threading, number of parallel sub-compilation jobs: 4
Determining compilation order of HDL files
Analyzing Verilog file \"C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/dispseg.v\" into library work
Analyzing Verilog file \"C:/HDL/Xilinx/12.3/ISE_DS/ISE//verilog/src/glbl.v\" into library work
Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top.vhd" into library work
Parsing VHDL file "C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb.vhd" into library work
Starting static elaboration
Completed static elaboration
Fuse Memory Usage: 95408 KB
Fuse CPU Usage: 124 ms
Using precompiled package standard from library std
Using precompiled package std_logic_1164 from library ieee
Using precompiled package std_logic_arith from library ieee
Using precompiled package std_logic_unsigned from library ieee
Using precompiled package numeric_std from library ieee
Using precompiled package vl_types from library vl
Compiling module glbl
Compiling module dispseg
Compiling architecture rtl of entity top [top_default]
Compiling architecture behavior of entity top_tb
Time Resolution for simulation is 1ps.
Waiting for 1 sub-compilation(s) to finish...
Compiled 9 VHDL Units
Compiled 2 Verilog Units
Built simulation executable C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe
Fuse Memory Usage: 104348 KB
Fuse CPU Usage: 155 ms
Launching ISim simulation engine GUI...
"C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.exe" -gui -tclbatch isim.cmd -wdb "C:/HDL/FndISEWork/K-5/2010/work/k5_q1_temp/top_tb_isim_beh.wdb"
ISim simulation engine GUI launched successfully

Process "Simulate Behavioral Model" completed successfully


top_tb_beh.prjのファイルの中身を下に示す。

verilog work "dispseg.v"
vhdl work "top.vhd"
vhdl work "top_tb.vhd"
verilog work "C:/HDL/Xilinx/12.3/ISE_DS/ISE//verilog/src/glbl.v"

  1. 2010年11月12日 18:30 |
  2. ISim
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/1638-96074399
この記事にトラックバックする(FC2ブログユーザー)