isplever ver 6.x lattice版modelsim user manual...1.はじめに 3 2.project navigator...

55
ispLEVER6_x_modelsim_Rev1.0.ppt Page: 1 May 2007 ispLEVER Ver 6.x LatticeModelSim User Manual

Upload: others

Post on 12-Sep-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 1May 2007

ispLEVER Ver 6.xLattice版 ModelSim

User Manual

Page 2: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 2May 2007

<項目> <ページ>1.はじめに 32.Project Navigator から起動した場合のシミュレーション方法 5

2-1.ispLEVER の起動 62-2.新規プロジェクトの作成 72-3.デザインエントリー 112-4.VHDL ソースの入力 122-5.ソースのコンパイル 142-6.テストベンチの作成(テンプレート機能を使った場合) 152-7.テストベンチの編集 162-8.ファンクションシミュレーションの実行 192-9.オペレーションに必要なアイテム紹介 212-10. ファンクションシミュレーション詳細 222-11. データフロー解析 302-12.タイミングシミュレーションの実行 33

3.ModelSimを単体で起動した場合のシミュレーション方法 343-1.Modelsimの起動 353-2.プロジェクトの作成 363-3.プロジェクトを開く/HDLソースのインポート 373-4.HDLファイルのコンパイル 383-5.コンパイルオプション(VHDL) 393-6.コンパイルオプション(Verilog) 413-7.シミュレーション 433-8.シミュレーション・オプション 453-9.波形の表示 473-10.その他のウィンドウ 48

4.参考資料 494-1.シミュレーションに際して 504-2 タイミングモデルファイルの生成 52

5.終わりに 54

目次目次

Page 3: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 3May 2007

ispLEVER ver5.0 (以後ispLEVERと略す)は、Lattice Semiconductor 社 のPLD 設計ツールです。ispLEVERには、言語シミュレータであるMentor Graphics社のModelSimがバンドルされております(Lattice社PLD専用のものになります)。

本マニュアルではLattice社 PLD設計に関して、ModelSimを使用して言語(VHDL,Verilog)によるシミュレーション方法を順を追って解説しています。

本マニュアルをご使用頂くことで、ModelSimによるシミュレーションの一連

の流れを設計フローを通じて理解していただくことができます。

1. 1. はじめにはじめに

Page 4: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 4May 2007

◇PLD設計におけるシミュレーションの位置付け

このページでははじめにラティス社PLD設計フローを通して、シミュレーションがどのような位置付けにあるのかについて記します。尚、

下記フローにおける解説の詳細は本マニュアル内の該当箇所をご参照ください。

RTL(回路設計)

論理合成

フロア・プラン

配置

配線

タイミング解析

ダウンロード

ファンクションシミュレーション:機能シミュレーションともよばれる。文字通り機能的な動作を確認するためのシミュレーションで、各信号間の遅延などのタイミング情報はシミュレーションの実行において加味されない。

タイミングシミュレーション:遅延シミュレーションともよばれる。論理合成後、ターゲットデバイスに回路をフィッティングした結果のシミュレーション。デバイスが固有に持っている最大遅延値がシミュレーション実行の際に加味されるため、各信号間においてタイミング的な問題を評価/検討することができる。

1. 1. はじめにはじめに ~シミュレーションフロー~シミュレーションフロー

Page 5: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 5May 2007

2. Project Navigatorから起動した場合の

シミュレーション方法

ここではispLEVERのトップにあるProject NavigatorからModelsimを起動した場合の基本オペレーションについて紹介します。設計フローについての詳細は別途該当のマニュアルをご参照ください。

Page 6: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 6May 2007

◇ispLEVERを起動させます。

1. スタートメニューより、 [プログラム]→[Lattice Semiconductor]

→ [ispLEVER Project Navigator]を実行します。

2. [File]→[New Project]を選択して、新規プロジェクトを

作成します。

New Projectを選択

※新規以外のプロジェクトの場合は、Open Project を

選択してください。

Open Example を選択するとサンプルソースを選択することが可能です。使い始めはこれを選択して作業の流れを確認するのも良いと思います。

デバイス及び設計ファイル

設計に対する各種プロセス

コンパイルログ及びレポートファイル

リビジョン管理

22--1 1 ispLEVERispLEVERの起動の起動

Page 7: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 7May 2007

◇新規プロジェクト用に新しいフォルダを作成します(必ず作成してください!)

◇デフォルトでは、プロジェクト名と同じ名前のフォルダが作成されます

1. Project Wizard が起動します。

2. 各項目を入力・選択して、「次へ」をクリックします。

プロジェクト名

※プロジェクト名には「日本語」を使用しないでください。

上図のようにプロジェクト名を sample として、プロジェ

クトのタイプは VHDL を選択してください(プロジェクトタ

イプはエントリー方法に応じてお選びください)。合成ツ

ールを選択してください。

※プロジェクトフォルダを配置する場所としてマイドキュ

メントやデスクトップを選択しないで下さい(プロジェクト

が保存されているパスに日本語や空白スペースが入っ

ていると問題になることがあります)。

プロジェクトのパス

プロジェクトのタイプ 合成ツール

22--2 2 新規プロジェクトの作成新規プロジェクトの作成--11

Page 8: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 8May 2007

◇新規プロジェクトで用いるターゲットデバイスを選択します

1. ターゲットデバイスを選択します。

①デバイスファミリーの選択

②スピードグレード

③パッケージタイプ

⑤デバイス名

④製品グレード

⑥ デバイス情報

2. 「次へ」をクリックします。

22--2 2 新規プロジェクトの作成新規プロジェクトの作成--22

Page 9: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 9May 2007

◇新規プロジェクトで用いるソースファイル

1. すでに使用するソースファイルがあれば、「Add Source」ボタンを押して追加します(ここで指定しなくても問題ありません)。

追加の際、各ソースのタイプもあわせて指定します。

2. 指定したソースがリストに追加されます。「次へ」をクリックします。

ソース追加ボタン

指定したソースをプロジェクトフォルダにコピーするか指定

22--2 2 新規プロジェクトの作成新規プロジェクトの作成--33

Page 10: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 10May 2007

◇新規プロジェクトの内容確認

1. プロジェクトの構成が表示されます。内容を確認して完了ボタンを押すと、プロジェクト作成が完了します。

2. 前画面でテストベンチファイルを指定した場合、そのテストベンチをどこに関連させるか指定します。

22--2 2 新規プロジェクトの作成新規プロジェクトの作成--44

Page 11: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 11May 2007

◇新規プロジェクトのエントリーをします(例として、回路図とVHDLで行ないます)

1. Project Navigatorから[Source]→[New]を選択します。 2. VHDL Moduleを選択し、OKをクリック

します。

新規作成時は[New]を選択して下さい。

VHDL Moduleを選択

3. 表示されたダイアログボックスの各項目

を入力してOKをクリックします。

※入力参考例

File Name :counter

Entity :counter

Architecture :behavioral

既にソースが作成済みの場合の場合は、[Import…]を選択してください。

Schematic 回路図入力(EC/ECP/XPはトップ階層のみ)

User Document コメント等のオプション機能Verilog Module Verilog HDL のソースVerilog Test Fixture Verilog HDL のシミュレーション記述VHDL Module VHDL のソースVHDL Test Bench VHDL のシミュレーション記述

※選択できるファイルタイプは、プロジェクトタイプにより変わります。

プロジェクトからソースを外したいときには[Remove]を選択してください。※この作業ではフォルダ内からファイルは削除されません。

22--3 3 デザインエントリーデザインエントリー

Page 12: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 12May 2007

◇ソースファイルを作成します(簡単な4ビットのアップ/ダウンカウンタを作成しましょう)

1. 前ページで入力した項目が記載されたテキストエディタが開きます。

入力するサンプルソースは次ページ以降を参照してください。

Saveアイコンを選択して保存してください

[File]→[Save]を選択して保存してください

もしくはもしくは

22--4 VHDL4 VHDLソースの入力ソースの入力

Page 13: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 13May 2007

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

entity counter isport( clk :in std_logic; --"port"でピン定義をします

rst :in std_logic;c_en :in std_logic;up_dw :in std_logic;count :out std_logic_vector(3 downto 0));

end;

architecture behavioral of counter is --architecture以下にPLDの--動作を記述します

signal n_count:std_logic_vector(3 downto 0); --内部ノードを設定しますbegin

process(clk,rst)begin

if(rst='1')then --リセット条件(High active)n_count <= "0000";

elsif(clk 'event and clk ='1')then --クロックの立ち上がり動作if (c_en = '1') then --クロックイネーブルで動作

if(up_dw ='1')then --アップ/ダウン信号で動作n_count <= n_count + 1; --カウントアップ

elsif(up_dw ='0')thenn_count <= n_count - 1; --カウントダウン

elsen_count <= n_count; --カウントしません(データ保持)

end if;end if;

end if;end process;

count <= n_count; --ピンに出力しますEnd behavioral;

※入力が終了しましたら前ページを参考に保存して下さい。

VHDLVHDLサンプルソース(4ビットアップダウンカウンタ)サンプルソース(4ビットアップダウンカウンタ)

Page 14: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 14May 2007

◇ソースファイルをコンパイルします(ソースのチェックを行ないます)1. Place & Route Timing Checkpointをダブルクリック。

もしくはハイライト表示して、Startボタンをクリックし

てください。

※記述したソースに文法的な誤りがあるかどうかをチェックします。

※エラーが発生した場合はもう一度記述等を確認してください。

2. コンパイルが始まります。

ダブルクリック!

右クリックで表示されるウィンドウから[Start]を選択

してください

もしくはもしくは

エラーがなければチェックマークがつきます

コンパイル成功です(エラーはありません)

コンパイル成功です(ワーニングがあります)

コンパイルエラーです(ログを確認して下さい)

(チェックマークの意味)

22--5 5 ソースのコンパイルソースのコンパイル

Page 15: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 15May 2007

◇テストベンチファイルの生成①1. ispLEVERのテストベンチ自動生成機能を使ってファイルを

作成します。2.レポートビューアーで自動生成されたファイル(counter.vht)が

表示されます。

①ソースファイルをハイライト表示

②VHDL Test Bench Templateをハイライト表示、ダブルクリック。

※参考※ レポートビューアーが表示されない場合には、プロジェクトナビゲータのメニューより、[Options]→[Environment]を選択していただき、表示されるウィンドウの中から[Log]タグを選択して、“UsingReport Viwer”にチェックを入れてOKを

押下してください。

22--6 6 テストベンチの作成(テンプレート機能を使った場合)テストベンチの作成(テンプレート機能を使った場合)

Page 16: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 16May 2007

◇テストベンチファイルの編集-1

1. 先に開いていた、テキストエディタのメニューから、

[File]→[Open]をクリック、もしくはOpenアイコン

をクリックしてください。

2. ファイル名の項目に“*.vht”と入力してリターンキーを

押してください。

*.vhtとここに入力

これがOpenアイコンです

“counter.vht”を選択して開くをクリックすると

先程作成したテストベンチファイルがエディタ

で開きます。

3. テキストエディタが開きます。

22--7 7 テストベンチの編集テストベンチの編集--11

Page 17: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 17May 2007

◇テストベンチファイルの編集-2

1. 右記を参照してファイルを完成させてください。

尚、先に開いていた“sample.vhd”を参照したい場合は、

[Window]→[Tile Horizontal]をクリックしてください。

二つのファイルがエディタ上で同時に開きます。

LIBRARY ieee;LIBRARY generics;USE ieee.std_logic_1164.ALL;USE ieee.numeric_std.ALL;USE generics.components.ALL;

ENTITY testbench ISEND testbench;

ARCHITECTURE behavior OF testbench IS

COMPONENT counterPORT(

clk : IN std_logic;rst : IN std_logic;c_en : IN std_logic;up_dw : IN std_logic; count : OUT std_logic_vector(3 downto 0));

END COMPONENT;

SIGNAL clk : std_logic;SIGNAL rst : std_logic;SIGNAL c_en : std_logic;SIGNAL up_dw : std_logic;SIGNAL count : std_logic_vector(3 downto 0);

BEGIN

uut: counter PORT MAP(clk => clk,rst => rst,c_en => c_en,up_dw => up_dw,count => count

);

-- *** Test Bench - User Defined Section ***-- *** End Test Bench - User Defined Section ***

END;

22--7 7 テストベンチの編集テストベンチの編集--22

Page 18: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 18May 2007

◇テストベンチファイルの編集-3

1. 完成したファイルを名前をつけて保存します。[File]→ [Save As…]

をクリックしてファイル名を指定して保存してください(verilogの場合は拡

張子を“*.tfi”から“*.tf”に変更してください)。

名前をつけて保存します

22--7 7 テストベンチの編集テストベンチの編集--33

Page 19: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 19May 2007

◇ファンクションシミュレーションの実行-1

1. Project Navigator上から、シミュレーションを実行します。

まず、“tb_counter.vhd”をハイライト表示にし“VHDL Function

Simulation” もしくは“VHDL Post-Route Function Simulation”

をダブルクリックしてください。配置配線完了前に “VHDL Post-

Route Function Simulation”を実行した場合、シミュレーションを

実行する前に配置配線を行なってから、シミュレーション結果を

表示します。

2. ModelSimが自動的に起動し、自動的にシミュレーションを開始します。

ハイライト表示にしてください

ダブルクリック!

22--8 8 ファンクションシミュレーションの実行ファンクションシミュレーションの実行--11

Page 20: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 20May 2007

◇ファンクションシミュレーションの実行-21. シミュレーションが実行されて、波形が表示されます。

Undock ボタンを押して、wave 画面を単独にとり出します。

2. 波形表示の拡大/縮小は、[Zoom]メニューから選択します。

3. ModelSimを終了する際には、上図1の画面において[File]→[Quit]を選択

して下さい。確認用のウィンドウが

開きますので「はい」を選択して

終了してください。

Quitを選択!

「はい」を選択して下さい

Undock ボタン

22--8 8 ファンクションシミュレーションの実行ファンクションシミュレーションの実行--22

Page 21: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 21May 2007

◇ツールバーにある各アイコンの説明をします

Load Wave Format:ロードするマクロファイルを指定します

Save Wave Format:マクロファイルをセーブします

Print Waveform:表示された波形を印刷します

Add Cursor:カーソルを追加します(最大19本)

Delete Cursor:追加したカーソルを削除します

Find Previous Transition:カーソルで指定した場所よりも以前の変化点を検索してカーソルをジャンプさせます

Find Next Transition:カーソルで指定した場所の次に来る変化点を検索してカーソルをジャンプさせます

Select Mode:画面上のポインタでカーソルの位置を自由に動かせるモードになります

Zoom Mode:画面上のポインタを右にドラッグすると拡大、左にドラッグすると縮小表示します

Zoom In 2×:表示波形を1クリックあたり2倍に拡大します

Zoom Out 2×:表示波形を1クリックあたり2倍に縮小します

Zoom Full:表示波形を画面内フル表示します

Stop Wave Drawing:シミュレーション中に波形描画をストップします

Restart:画像描画を取り消し、最初からやり直します

Run:所定の時間だけシミュレーションを実行します(デフォルトは100ns)

Run Continue:ブレークポイントからシミュレーションを再開します(Runで設定した時間内で実行します)

Run All:ブレークボタンを押下するまでシミュレーションを実行し続けます

Break:シミュレーションを強制的にストップします

Show Drivers:カーソルで指定した波形をData Flow画面にリンクさせて表示します

22--9 9 オペレーションに必要なアイテム紹介オペレーションに必要なアイテム紹介

Page 22: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 22May 2007

◇ファンクションシミュレーションの詳細①

1. カウンターなど、多ビットの信号を1bitずつ見たい場合、

/tb_sample/countの頭についている“+”をクリックしてくだ

さい。各bitの波形を見ることができます。

2. カーソルを表示したい場合、[Insert]→[Cursor]を選択するか、アイコン

から選択して下さい。

“+”をクリック!

Insert Cursorアイコンをクリック!

←隣り合ったカーソル間の時間差が表示されます

3. バス信号などの表示形式を

BinaryからHexに変えたい時に

は、所定の信号を選択した状

態で右クリックしてメニューから

[Radix]→[Hexadecimal]を選

択して下さい。その他の表示形

式も選択可能です。

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--11

Page 23: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 23May 2007

◇ファンクションシミュレーションの詳細②

1. 表示している信号のパスを簡略化して表示させたい場合、

[Tools]→[Window Preferences..]を選択して設定ください。

2. 任意の波形をカラー表示させたいときには、[Format]→[Color]を

選択して設定してください。

ここを選択Colorを選択

「1」を入力してOKを押下ください

Choose Colorを選択

気に入った色を選択すると。。

選択したカラーで波形が表示されました

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--22

Page 24: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 24May 2007

◇ファンクションシミュレーションの詳細③

1. 内部ノードを観測したい場合には、Modelsimのコントロールパネル

において、[View]→[Debug Windows]→[Objects] と

[View]→[Workspace]を開きます。

2. 選択した内部ノードを波形ビューアに反映させるためには、任意に

選択した波形をビューア側にドラッグ&ドロップして下さい。

この2つを選択してウィンドウを開いて下さい

UUTをハイライトすると、右のSingalウィンドウのような表示になります(内部ノードが表示されるようになります)

選択した内部ノードが追加されました

※追加した内部ノード波形の表示方法※

本ページの内容に従って内部ノードを追加しただけでは、上図を見れば分るように波形は表示されません(これはシミュレーション実行時に信号自体が選択されていなかったためです)。ここで選択した波形を表示させるためには、アイコンメニューよりRestartを選択して、Runを実行してください。この作業により追加した内部ノードの波形を参照することが可能になります。

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--33(内部ノードの観測)(内部ノードの観測)

Page 25: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 25May 2007

◇ファンクションシミュレーションの詳細④

1. 表示した信号およびカラー処理などの状態をまとめてマクロファイ

ルとして保存することが可能です。これは任意の信号のみを表示し

たいときなどに有効なテクニックです。

2. 作成したマクロファイルを波形表示時に手動で読み出します(自動

で読み出す方法についてはバッチファイルの処理に関する記述がある

ページを参照して下さい)。

◎波形ビューアに表示されている信号がマクロ化したい状態のものであるかどう

かを確認して下さい。

◎続いてメニューより [File]→[Save]→[Format] を選択して下さい。

任意のファイル名「○○○.do」をつけて保存して下さい。尚、その際に保存先のディレクトリに注意して下さい(プロジェクトと同ディレク

トリに保存することをお勧めします)

◎Modelsimを起動した際に波形ビューアに表示される信号を全て選択して削

除してください。

右クリックメニューにある[Delete]を選択して下さい

◎続いてメニューより [File]→[Open]→[Format] を選択して、ページ左の作業

で保存した「○○○.do」ファイルを選択して開いて下さい。ビューア上に先程保

存した状態と同じ波形(カラー処理についても再現します)が表示されますので、

前ページの囲み内にある内容に従って、シミュレーションをリスタートして、必要な

観測結果を表示させてください。

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--44(マクロファイル(マクロファイル““**.do.do””の作成)の作成)

Page 26: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 26May 2007

◇ファンクションシミュレーションの詳細⑤

1. ispLEVERのプロジェクトナビゲータからModelsimを起動した場合には、バッチファイルを参照して全ての初期動作が決められています。

つまり、このファイルの中身を編集することによって、よりカスタマイズしたシミュレーションを実行することが可能になるということです。以下に、

カスタマイズの手順/方法を示します。

◎プロジェクトが保存されているディレクトリを開いて、拡張子が “*.udo”のファイルを探してください。一度いずれかのシミュレーションを実行すると“*.udo”ファイルが作成されます。

例) tb_sample_vhdf.udo Function Simulation で参照

tb_sample_vhdr.udo Post-Route Function Simulation で参照

tb_sample_vhd.udo Post-Route Timing Simulation で参照

ファイルが見つかりましたら適当なテキストエディタでそのファイルを開いて下さい。以下に今回のマニュアル作成に用いたプロジェクトにおける“*.udo”ファイルを示します。

■“*.udo”ファイルの例

-- ispLEVER VHDL Functional Simulation Template: test_vhdf.udo.

-- You may edit this file to control your simulation.

-- You may specify your design unit.

vsim test

-- You may specify your waveforms.

add wave *

-- You may specify your simulation run time.

run 1000 ns

“test”という名前のテストベンチを実行

波形をビューアに読み出します

初期動作でシミュレーションを1000ns実行します(この数値を変更すればシミュレーション実行時間が変わります)

◎上記例において、「add wave *」を前ページで作成した“*.do”ファイルを読み込むように修正しておけば、Modelsimを起動するたびにマクロファイルをロードする

のではなく、常に指定したシミュレーション結果を表示するようにカスタマイズすることが可能になります。以下の例を参考にして「add wave *」を修正してください。

(変更例) do C:/Design/test/manual/modelsim/wave_sample.do※変更する際には、実際にマクロファイルが保存されているパスを記述するようにして下さい。上記はあくまでも一例です。

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--55(バッチファイル編集)(バッチファイル編集)

Page 27: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 27May 2007

◇ファンクションシミュレーションの詳細⑥

1. Modelsimにおいては、下図①のウィンドウをDOSプロンプトのようなシェルとして使用し、コマンドのみでシミュレーションおよびその

他の機能を実行することが可能になっています。以降のページでは基本的なコマンドラインについて紹介します。

(※コマンドは全て「小文字」で入力するようにしてください)

■図①:コマンド用ウィンドウ(初期起動時に表示されるウィンドウのことです)

この部分にコマンドを直接入力することでシミュレーションに関わる様々な作業を実行することが可能です

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--66(コマンドラインの応(コマンドラインの応

用)用)

Page 28: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 28May 2007

◇ファンクションシミュレーションの詳細⑦

■“restart”コマンド

◎シミュレーションを再実行します。信号の追加などをした際にシェル内に“restart”と入力してEnterキーを押してください。確認用のダイアログが開きます(操作アイコン

でrestartを選択した時と同じ動作をします)。

(例) : VSIM > restart

■“run”コマンド

◎シミュレーションを実行します。記述の方法によって、シミュレーション実行時間を調整することが可能です。

(例1) : 任意の時間だけシミュレーションを実行したい場合(ここでは400msのシミュレーションを実行)

VSIM > run 400 ms

(例2) : シミュレーションを波形で設定した時間だけ全て実行したい場合

VSIM > run -all

■“do”コマンド

◎作成したマクロファイルを呼び出します。尚、マクロファイルは現在起動しているシミュレーションのプロジェクトディレクトリと同じ場所に保存されている必要があります。

(例) : “sample_wave.do”というマクロファイルを呼び出したい場合

VSIM > do sample_wave.do ( do [呼び出したいマクロファイル名] )

■“delete”コマンド

◎波形消去用のコマンドです。このコマンドを入力すればビューアに表示されている波形が全て消去されます。

(例) : VSIM > delete wave * ( 書式は delete wave [-window <wname>] <item_name> になります )

■“history”コマンド

◎過去に実行したコマンドを一覧表示させることが可能です。また表示させた一覧に付加されている番号を使ってコマンドを実行することも可能です(表示例参照)。

(例) : VSIM > history

VSIM > !3 (←右参考図のように履歴が表示された時に“run”を実行したいときにはこのように記述してください)(表示例)

VSIM > history

# 1 do test.fdo

# 2 do wave.do

# 3 run -all

# 4 history

■“quit”コマンド

◎Modelsimを終了します。コマンド実行後に終了を確認するダイアログが開きますのでOKを選択して下さい。

(例) : VSIM > quit

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--77(コマンドラインの応用)(コマンドラインの応用)

Page 29: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 29May 2007

◇ファンクションシミュレーションの詳細⑧

前ページで紹介したコマンドラインの他にも多くの有効なコマンドがあります。詳細については以下で紹介するドキュメントをご参照い

ただきますようお願いいたします(資料は全て英語版です)。

ユーザーガイドです(全般的にModelsimオペレーションについてが記述されています)

プロジェクトの作成方法、デバッグの方法など個別の項目についての詳細が記されています

上記4つのファイルの表紙になります。このPDFをデスクトップに置いていただければいつでも4つのファイルにアクセスしていただくことが可能になります⑤

コマンドラインについての詳細が記されています

Modelsim の各種ウィンドウについての詳細について記されています。

22--10 10 ファンクションシミュレーション詳細ファンクションシミュレーション詳細--88(コマンドラインの応用)(コマンドラインの応用)

Page 30: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 30May 2007

◇データフロー解析①

データフローを実行することで、回路内における各信号の物理的な接続を容易に確認することが可能になります。デザインを通じて

伝播するイベントの追跡を行ったり、予期しなかった出力の原因を特定するのに使うことができます。

実行に際してはシミュレーションコントロールパネルのメニューより[View]→[Debug Windows]→[Dataflow]を選択します。

左のウインドウが出てくるので、ここで のアイコンをクリックして波形画面も表示させます。Waveウインドウより確認したい波形を

選択してドラッグするとDataflowウインドウに波形が反映されます。

22--11 11 データフロー解析データフロー解析--11

Page 31: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 31May 2007

データフローウィドウ:デザインの物理的な接続関係を調べることができます。プロセスからプロセスへビューを展開して、特定のシグナル/ネット/レジスタのドライバ,レシーバを表示させることが可能です。

波形ウィンドウ:波形ビューアを用いてデザインの詳細を解析することも可能です。組み込まれている波形ビューアの操作方法は前ページまでに紹介したものと同じです。

下の波形をダブルクリックすると具体的な接続やデータの流れを確認することができます。

22--11 11 データフロー解析データフロー解析--11

Page 32: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 32May 2007

◇ツールバーにある各アイコンの説明をします

Trace input net to event:次のイベントカーソルを、選択された出力をドライブする次の入力イベントの部分に移動させます

Trace Set:選択された入力イベントのソースにカーソルをジャンプします

Trace Reset:次のイベントカーソルを選択された出力に戻します

Trace net to drive X:不定値の最後のドライバまでをステップしてトレースします

Expand net to all drivers:選択されたシグナル/ネット/レジスタのドライバを表示します

Expand net to all drivers and readers:選択されたシグナル/ネット/レジスタのドライバ,レシーバを表示します

Expand net to all readers:選択されたシグナル/ネット/レジスタのレシーバを表示します

Erase highlight:デザインをトラバースしたパスを示す緑色のハイライトを解除します

Erase all:ウィンドウをクリアします

Regenerate:ディスプレイをクリアして最適なレイアウトで再描画します

Show wave:波形ビューアのON/OFFをします

※その他、特にここで説明のないアイコンについては本資料p.21を参照して下さい。

22--11 11 データフロー解析データフロー解析--22

Page 33: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 33May 2007

◇タイミングシミュレーションの実行

1. Project Navigator上から、シミュレーションを実行します。まず、

“ tb_sample.vhd”をハイライト表示にし“VHDL Post-Route

Timing Simulation”をダブルクリックしてください。

2. ModelSimが自動的に起動し、自動的にシミュレーションを開始します。

ハイライト表示にしてください

ダブルクリック!

※タイミングシミュレーションとは※

文字通り、デバイス個々が持っている最大遅延値を反映したシミュレーションのことをさしています。ファンクションシミュレーションではデザインした回路の動きのみをシミュレートしているのに対して、タイミングシミュレーションでは実際に各信号間の遅延を含めて観測することが可能になります。

Modelsimの操作方法としてはファンクション/タイミング両シミュレーションにおいて違いはありませんので前ページまでの解説を参考に作業を進めてください。

22--12 12 タイミングシミュレーションの実行タイミングシミュレーションの実行

Page 34: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 34May 2007

3. ModelSimを単体で起動した場合の

シミュレーション方法

前 Section にてispLEVERからの一連の流れでのModelSimの使用方法について解説してきました。本Sectionでは、ModelSimを単体で起動し、より詳細な操作方法に関して説明していきます。

Page 35: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 35May 2007

◇ModelSimを起動

1. スタートメニューより、 [プログラム]

→ [Lattice Semiconductor] → [ModelSim]を実行します。

33--1 1 ModelsimModelsimの起動の起動

Page 36: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 36May 2007

◇HDLデザインを構成するエンティティを管理するためにプロジェクトを作成プロジェクトを作成するとフォルダが自動的に作成されます。

1. ModelSim起動時に表示されるWelcome to ModelSim

ウィンドウからJumpstartボタンを押して表示されるウィンドウ

の[Create a Project] をクリックするとプロジェクトの作成を

開始します。

Welcome to ModelSimダイアログボックスが表示されない

場合は、Mainウインドウから[Help] →[Welcome Menu]を

選択することにより表示されます。

2. Create Projectダイアログボックスが起動します。Create Projectダイアログボックスに・Project Name(プロジェクト名)・Project Home(プロジェクトのフォルダ)

を記入し、OKを押します。

※ Create ProjectダイアログボックスはMainウインドウの[File] → [New] → [Project]からでも起動可能です

プロジェクト作成開始

フォルダ名

プロジェクト名

Jumpstart 起動

33--2 2 プロジェクトの作成プロジェクトの作成

Page 37: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 37May 2007

◇作業を始める前にプロジェクトを開く※プロジェクトを作成した直後はすでにプロジェクトが開いています。

2. 既存のプロジェクトを選択してプロジェクトを開きます。

3.HDLソースをプロジェクトに呼び込みます。

マイコンピュータ等でプロジェクトディレクトリに

コピーしていただくか、 [File] → [Add to Project] →

[Existing File] でインポートします。

1. Mainウインドウから[File] → [Open] → [Project...]を選択します。

HDLソースを指定

実行

プロジェクトを開く

ソースをコピーするか、参照するかを指定

ファイルの種類を指定(mpf)

33--3 3 プロジェクトを開く/プロジェクトを開く/HDLHDLソースのインポートソースのインポート

Page 38: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 38May 2007

◇シミュレーションするためにHDLソースをコンパイル

1. Mainウインドウから[Compile] → [Compile All] を選択するか、

ソースをハイライトして[Compile] → [Compile Selected]ボタンを押します。

Order順にコンパイルを実施

※エラーがあった場合は、Mainウインドウのエラー

メッセージ(赤色)をダブルクリックすればエディタが

立ち上がり、問題個所が表示されます。

※コンパイルするべきファイルについては、

参考資料ページを参照下さい。

ソースをハイライトして右クリック、[Compile] → [Compile Properties]により、コンパイルのコンパイル設定画面に。詳細は次ページ以降。

[Compile] → [Compile All] の場合、’Order’ に示された順番にコンパイルします。順番を変更する場合は、[Compile] → [Compile Order] を選択し、順番を指定します。

33--4 HDL4 HDLファイルのコンパイルファイルのコンパイル

Page 39: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 39May 2007

◇VHDLソースのコンパイルオプション① ・Language Syntax

コンパイル時に使用する規格を指定します。

・Don’t put debugging info in library

このオプションを指定すると、ModelSimのデバック機能が

使用不可になります。また、コード中のブレークポイントや

シングルステップ実行もできなくなります。

・Use explicit declarations only

明示的なファンクション定義によって、暗黙的なファンク

ションのオーバーロードを行う場合の制約を無視するように

します。

・Disable loading messages

Mainウインドウでローディングメッセージを非表示にします。

・Show source lines with errors

Mainウインドウ上に表示されるエラーメッセージと関連した

ソースコード行を表示させます。

・Disable all optimizations

コンパイルにおいて最適化しないよう指定します。

Check for

・Synthesis

合成ルールのチェックを有効または無効にします。

・Vital Compliance

Vital準拠チェックを有効または無効にします。

Optimize for

・std_logic_1164

シミュレーションの高速化のため、std_logic_1164パッケージを

最適化します。

・Vital

Vitalパッケージの最適化を行います。

VHDLオプションの選択タブ

33--5 5 コンパイルオプションコンパイルオプション(VHDL)(VHDL)--11

Page 40: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 40May 2007

◇VHDLソースのコンパイルオプション ②

Report Warnings on

・Unbound Component

ソースコードから参照されるライブラリ内に、該当するエンティティが存在しないようなVHDLの

コンポーネントインスタンシエーションに対してワーニングを表示します。

・Process without a WAIT statement

wait文やセンシティビティリストを含まないプロセス文に対してワーニングを表示します。

・Null Range

「0 downto 7」のような、無効な範囲の指定に対してワーニングを表示します。

・No space in time literal

数字と時間単位の間にスペースが抜けている時間記述に対してワーニングを表示します。

・Multiple drivers on unresolved signal

複数のドライバを持つ、アンリゾルブタイプのシグナルに対してワーニングを表示します。

Other VHDL Options

・PSL File…ModelSimでは、Accelleraで標準化されたProperty Specification Language (PSL)のシンプルなサブセット

をサポートしています。ここでPSLファイルを取り込むことができます。

33--5 5 コンパイルオプションコンパイルオプション(VHDL)(VHDL)--22

Page 41: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 41May 2007

◇Verilogソースのコンパイルオプション①

・Language Syntaxコンパイル時に使用する規格を指定します。

・Disable debugging data

デバッグ用のデータを使用不可にします。

・Convert identifiers to upper-case

通常のVerilog識別子を大文字に変換します。モジュール名に

関して大文字/小文字を無視できるようにします。

・Disable loading messages

Mainウインドウでローディングメッセージを非表示にします。

・Show source lines with errors

Mainウインドウ上に表示されるエラーメッセージと関連した

ソースコード行を表示させます。

・Disable all optimizationsコンパイルにおいて最適化しないよう指定します。

33--6 6 コンパイルオプションコンパイルオプション(Verilog)(Verilog)--11

Page 42: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 42May 2007

◇Verilogソースのコンパイルオプション②

Other Verilog Options

・Library Search...

バインドされないモジュールを検索するためのVerilogソースライブラリのフォルダを指定します。

・Extension...

ライブラリディレクトリ内のファイルの拡張子を指定します。複数の拡張子を指定できます。

・Add Library File...

バインドされないモジュールを検索するためのVerilogソースライブラリのファイルを指定します。

・Include Directory...

「include」コンパイラダイレクティブによって組み込まれたファイルを、指定のフォルダから検索します。

・Macro...

コンパイル中に実行するマクロ定義を指定します。

・PSL File…Accelleraで標準化されたProperty Specification Language (PSL)のシンプルなサブセットをサポートしています。

ここでPSLファイルを取り込むことができます。

33--6 6 コンパイルオプションコンパイルオプション(Verilog)(Verilog)--22

Page 43: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 43May 2007

◇シミュレーションするためにコンパイル後のデータを取り込む

1. Mainウインドウから[Simulate] → [Start Simulation] を選択するか、

ボタンを押します。

2. Work内のcntbuftbを選択し、 Functionシミュレーションであれば

OKボタンをクリックし、デザインを取り込みを完了させます。

テストパターンのファイルを選択

このボタンで時間単位を設定します

33--7 7 シミュレーションーシミュレーションー11

Page 44: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 44May 2007

◇Timingシミュレーションをするときの、SDFファイルの取り込み方※ただし、HDLファイルのコンパイル時に前述のファイルをコンパイルしている場合のみです。

1. SimulateダイアログボックスのSDFタブを

クリックし、Addボタンをクリックします。

2.下図のように選択し、OKボタンをクリックし、

Loadボタンをクリックします。

SDFファイルを指定する

テストパターン上でこのデバイスを呼び出しているインスタンス名を記述する。

MAXに設定する。(最悪値しか規定されていないため)

SDFタブ

・Disable SDF warning

SDFリーダーからのワーニングを無効にします。

・Reduce SDF errors to warnings

SDFエラーをワーニングに変更します。

33--7 7 シミュレーションシミュレーション--22

Page 45: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 45May 2007

◇シミュレーション時のオプション①

1.Mainウインドウの[Simulate]→[Runtime Options..]を選択するとオプション設定のダイアログボックスが起動します。

デフォルト設定ページ

・Default Radix

シミュレーション実行におけるデフォルト基数を設定します。

・Default Force Type

デフォルトのforceタイプを選択します。

・Suppress Warnings

「From Synopsys Packages」を選択するとSynopsysの

std_arithパッケージ内で生成されるワーニングが、

「From IEEE Numeric Std Packages」を選択すると

numeric_stdとnumeric_bitパッケージ内で生成されるワーニングが

抑止されます。

・Default Run

デフォルトのランレングスを設定します。

・Iteration Limit

無限ループを防止するため、同一のシミュレーション時間単位

において、デルタループ数にリミットを設定します。

デフォルト設定、アサーション設定の選択タブ

33--8 8 シミュレーション・オプションシミュレーション・オプション--11

Page 46: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 46May 2007

◇シミュレーション時のオプション ②

アサーション設定ページ

・Break on Assertion

シミュレーションを停止させるアサーションのseverityレベルを

選択します。

・Ignore Assertions For

無効にするアサーションタイプを選択します。複数選択可能です。

アサーションタイプを無効にすると、たとえそのタイプに「Break

on Assertion」が設定されていても、何のメッセージも出さずに、

シミュレーションも停止しなくなります。

33--8 8 シミュレーション・オプションシミュレーション・オプション--22

Page 47: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 47May 2007

◇結果を波形に表示

1. Mainウインドウの[View] → [Debug Windows] → [Objects]、 [View] → [Debug Windows] → [Wave]を実行します。

2.Objectsダイアログボックスの中で観測したい信号を選択します(Ctrlキーを押しながら選択すると複数選択できます)。

3.Waveダイアログボックスにドラックアンドドロップします。

4.Waveダイアログボックスの を実行し(シミュレーションの実行)、適当な時間で を押します(シミュレーションの停止)。

観測したい信号の選択

ドラックアンドドロップにより、信号名をwaveダイアログボックスに表示させる。

実行 停止

33--9 9 波形の表示波形の表示

Page 48: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 48May 2007

1.Mainウインドウの [View] よりいろいろなウインドウを起動することができます。

・WorkSpace ウインドウ – sim タブ

デザインの階層構造を表示します。各階層レベルはデザインの

各HDL要素に相当します。

・Locals ウインドウ

現在のプロセス内にあるHDL要素名と各要素の現在の値を一覧表示

します。現在のプロセスのパス名はウインドウの下部に表示されます。

・Objects ウインドウ

現在の階層内にあるHDL要素の名前がリストされます。

・List ウインドウ

シミュレーションの結果をテーブル形式で表示します。

・Active Process ウインドウ

プロセスリストを表示して、プロセスが存在するインスタンスのパス名を

指示します。

・Wave ウインドウ

シミュレーションの結果を波形で表示します。

・Dataflow ウインドウ

デザイン中のVHDLシグナルやVerilogネットをトレースします。

●ModelSimにはその他いろいろなウインドウが用意されています。それぞれに対し簡単に説明を加えます。

33--10 10 その他のウィンドウその他のウィンドウ

Page 49: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 49May 2007

4.参考資料

Lattice社PLDでのタイミングシミュレーションの際に使用する

ファイルに関する資料です。

Page 50: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 50May 2007

●FunctionシミュレーションとTimingシミュレーション・Functionシミュレーション

ソースレベルでのシミュレーションであり、遅延は含みません。ModelSim上のコンパイルするべきファイルは、デザインソースとテストパターンのみとなります。・Timingシミュレーション

Lattice社PLDにコンパイルした結果のシミュレーションであり、遅延を含みます。VITALとNon-VITALのシミュレーションがあり、それぞれでコンパイルすべきファイルが異なります。詳細は後述します。

●VITALとNon-VITAL シミュレーション・VITALシミュレーション

機能の情報のファイルとタイミングの情報のファイル(*.sdf)を別々に設けてシミュレーションを実行することにより、シミュレータの負荷を軽減し、シミュレーションスピードを向上させるやり方です。・Non-VITALシミュレーション

機能の情報とタイミングの情報を同一のファイルで管理しているためファイルサイズが大きくなり、シミュレーションスピードも遅くなります。

Comment:本マニュアルにおいては、TimingシミュレーションはすべてVITALシミュレーションを採用しています。次ページに、

Lattice社PLDを使用してTimingシミュレーションをする場合に必要なファイルを記載します。

44--1 1 シミュレーションに際してシミュレーションに際して--11

Page 51: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 51May 2007

●Lattice社PLDを使用した場合のTimingシミュレーション時に必要なファイル(VITALシミュレーション実施時に必要)

※上記の表のファイルを状況に応じてModelSim上でコンパイルして、シミュレーションを実施します。

ただし、上記はLattice社のPLDでコンパイルした後の機能の情報のファイルであり、タイミングの情報のファイルは「*.sdf」ファイルとなります。

VHDL verilog sdf

*.vho *.vo *.sdf

44--1 1 シミュレーションに際してシミュレーションに際して--22

Page 52: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 52May 2007

◇タイミングモデル・ファイルの作成①

1. Generate Timing Simulation Filesをハイライト

して右クリック、Properties… を選択してください。

2. Netlist のフォーマットとして、VHDL/Verilog の

いずれかを選択します。

44--2 2 タイミングモデルファイルの生成タイミングモデルファイルの生成--11

Page 53: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 53May 2007

◇タイミングモデル・ファイルの作成②

1. デバイス名をハイライトし、Generate Timing SimulationFilesをダブルクリックしてください。

ダブルクリック!

2. ネットリストと遅延情報を含んだファイル(*.sdf)が生成されます。

◇ *.vhoファイル

VITALシミュレーションに用いるファイル。機能の

情報を表したもの。

◇*.sdfファイル

VITALシミュレーションに用いるファイル。遅延の

情報を表したもの。

※ Verilogを指定した場合は以下の通りです。

◇ *.voファイル

VITALシミュレーションに用いるファイル。機能の

情報を表したもの。

◇*.sdfファイル

VITALシミュレーションに用いるファイル。遅延の

情報を表したもの。

※ VHDLを指定した場合は以下の通りです。

44--2 2 タイミングモデルファイルの生成タイミングモデルファイルの生成--22

Page 54: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 54May 2007

以上でispLEVER Ver 6.x Lattice版 ModelSim User Manualは終了です。

より詳細なお問合せ、ご質問等に関しましては、技術サポート貴社担当FAEまたは下記技術サポート窓口までお気軽にお問い合わせ下さい。

株式会社 マクニカ テクスターカンパニー ラティス製品 技術サポート窓口電話 045-470-9841/FAX 045-470-9842Email [email protected] http://www.tecstar.macnica.co.jp/contact/index.html

終わりに終わりに

Page 55: ispLEVER Ver 6.x Lattice版ModelSim User Manual...1.はじめに 3 2.Project Navigator から起動した場合のシミュレーション方法 5 2-1.ispLEVER の起動 6 2-2.新規プロジェクトの作成

ispLEVER6_x_modelsim_Rev1.0.ppt Page: 55May 2007

日付 Revision Old-page New-Page 変更内容の概要 更新担当者

2007/6/1 1.0 改訂版 恩賀

Revision HistoryRevision History