【Vcd2apfの説明】

Vcd2apfは、RTLシミュレーションで確認した結果を、APFというセイコーエプソン・オリジナルのシミュレーション・パターンへ変換するツールです。これで作成されたAPFは、ネットリストのシミュレーションに使用されます。

変換作業は、以下のフローで実施してください。

ここで、VCDは、それぞれの信号が変化した時に、その時刻と値が記録されたデータ・ファイルです。APFは、入出力信号の値が、1サイクルごとに1行に記述されたシミュレーション・パターン・ファイルです。このため、Vcd2apfは、信号の変化情報を、サイクル単位に変換するソフトウェアです。

Vcd2apfの起動に関する説明を、「起動の説明」に記載しております。また、基本的な操作には必要のない説明を「その他の説明」に記載しております。

RTLシミュレーション
ASICのI/Oピンになる信号と、双方向I/Oの出力イネーブル信号を、VCD形式でファイルへダンプしてください。それら以外のデータが含まれていても、処理が遅くなるかもしれませんが、問題はありません。
ただし、それらの全ての信号は、1つのモジュール内に存在しなければなりません
Vcd2apfでVCDを解析する
Vcd2apfを起動(起動の説明)し、VCDファイルの解析を行ってください。以下の手順を踏むと、VCDが解析され、結果が表に表示されます。
  • 「入力VCDファイル」の「選択」ボタンをクリックして、VCDファイルを選択してください。
  • 「トップ・モジュールのインスタンス」の「選択」ボタンをクリックして、トップ・モジュールのインスタンス名を選択してください。ここで、トップ・モジュールとは、ASICのI/Oピンになる信号や、双方向I/Oの出力イネーブル信号が含まれるモジュールのことです。
  • 「VCDサイクル・タイム」へ、RTLシミュレーションのその値を入力してください。
  • VCDの「ストローブ」へは、RTL シミュレーションのストローブ時刻を入力してください。この時刻でサンプリングされた値が、ネットリスト・シミュレーションの期待値となります。
  • 「VCD解析」ボタンをクリックすると、VCDが解析され、結果が下の表に表示されます。
    ここで、VCDの解析結果は、表の、3番目の「出現数」までです。「IOB」から右は、APF作成のための情報を入力する項目になります。そして、VCDにはI/O情報がありませんので、VCD解析が終了すると、まず、「IOB」を入力していただきたく、その列が赤(エラー表示)になります。
表の修正

表に情報が表示されましたら、それぞれの信号について、APF作成のための情報を入力してください。基本的には、VCDの解析結果である、3番目の「出現数」までの情報を参考にして、APF作成に必要な情報を「IOB」から右側へ入力し てください。この時、入力が必要なセルや修正が必要なセルは、赤色でエラー表示されていますので、エラーがなくなるまで、必要な情報の入力や修正を行ってください。また、黄色は、ワーニングですので、必ずしもそれをなくす必要はありませんが、問題がないかご確認ください。

ここで、エラーやワーニングの内容は、コメント欄に入力されていますが、マウスのポインタを赤や黄色のセル内に位置させると、その内容が浮き出ます。また、表の見出し行にマウスのポインタを位置させると、列の簡単な説明が浮き出ます。

  • 表の修正は、複数行を選択してから行うと、選択されている全ての行に、同じことを1度に実施することができます。複数行の選択は、マウスでドラッグしたり、「Shift」キー(範囲選択の場合)や「Ctrl」キー(個別選択の場合)を押しながら行をクリックすることで可能です。ここで、入力や修正の場合は、選択されている1列(水色)だけが全ての行に反映されますので、選択されている列にもご注意ください。
  • 不要な信号は、その行を選択して「切取」ボタンをクリックし、削除してください。また、表(ひいては、作成されるAPF)を見やすくするために、「切取」ボタンと「貼付」ボタンで行の順番(信号の順番)を変更したり、「挿入」ボタンでブラング行(APFではブランク列)を挿入することもできます。
  • テスト・ピンなどを追加する場合は、「挿入」でブランク行を挿入してから、その行に「IOB」や「APFピン」を入力してください。また、必要に応じて「遅延*」や「出力En」を入力してください。そして、その信号の値は、入出力を問わず、「x」列へ入力してください。その値は、1つのパターン内で、1つの値しか指定できません。
  • 「IOB」列には、次の入出力アトリビュートを入力します。I:入力,P:ポジティブ・パルス入力,N:ネガティブ・パルス入力,O:出力,B:双方向,Bo:双方向出力,Bi:双方向入力。ここで、"B"は、双方向I/Oを1ピンで記述している場合のアトリビュートです。また、"Bo"と"Bi"は、双方向I/Oになる信号を、入力信号と出力信号に分けて記述している場合のアトリビュートです。"Bo"と"Bi"を指示する場合は、"Bo"を上の行に、"Bi"を下の行に、並べて配置してください。
  • 「APFピン」列は、オリジナルのピン名(「VCD ピン」)が、APFのルールに合わない場合に、ピン名を変更するためのものです。その列には、予め、「VCDピン」と同じ文字列が入力されていますので、必要に応じて、修正してください。 ここで、既に入力されているピン名の最後に、「*」を入力すると、自動的に、角括弧が削除されて、小文字が大文字に変更されます。例えば、「out[1]」に対して「*」を入力して「out[1]*」とすると、「OUT1」に自動変換されます。
  • 「遅延1」列と「遅延2」列には、必要に応じて、入力信号をサンプリングすべき時刻を入力してください。VCDの解析結果の遅延値が、1つ("P"や"N"の場合は2つ)しかない場合は、「IOB」列を入力すると自動的に、その遅延値が入力されます。また、「=min」と入力すると最小遅延が、「=max」と入力すると最大遅延が、「=1」では最多遅延が、「=2」では2番目に多い遅延が、「=3」では3番目に多い遅延が、コピーされます。例えば、複数行に最大遅延を入力したい場合に、「遅延1」列で複数行を選択し、一回だけ「=max」と入力するだけで、それを実現することができます。ここで、「min」と「max」は、大文字でもかまいません。
  • 「出力En」列には、双方向ピンの出力イネーブル信号名を入力してください。ここで、その信号が、0(ゼロ)の時に出力状態になる場合は、信号名の前に"!"を付加してください。
  • 「x」列と「z」列には、それらが入力として現れた場合に、変換する値を入力します。必須ではありませんので、必要に応じて入力してください。ここで、出力信号("O"と"Bo")のこれらの列に値を入力した場合は、出力のxやzがその値に変換されます。ただし、双方向信号("B")の場合は、入力モード時にそれらが現れた場合にのみ変換され、出力モード時では変換されません。この機能は、APFで禁止されているx入力やZ入力を0や1へ変更するために使用します。
  • 「0」列と「1」列には、それらが出力として現れた場合に、変換する値を入力します。必須ではありませんので、必要に応じて入力してください。ここで、入力信号("I"と"P"と"N"と"Bi")のこれらの列に値を入力した場合は、入力の0や1がその値に変換されます。ただし、双方向信号("B")の場合は、出力モード時にそれらが現れた場合にのみ変換され、入力モード時には変換されません。この機能は、オープンドレイン出力ピンのために、1をZへ変換する場合などに使用します。
  • テンプレート「読込」で、以前に保存した表の修正内容を読み込むことが可能です。これは、同じ修正を複数のVCDに対して行う場合に、1つのVCDについて表を修正して、それをテンプレートとして保存しておけば、あとのVCDについては、この「読込」を行うだけで表の修正ができる利便を提供するものです。
  • テンプレート「保存」で、表のデータをテンプレートとして保存することが可能です。
  • 「横スクロール」をONにすると、ブラウザの幅を変更しても、表の幅が変わらなくなり、表を左右にスクロールできるようになります。
    「R」をクリックすると、表の幅が、標準サイズにリセットされます。
  • 表の見出し行の項目を、ドラッグ&ドロップすると、列の順番を入れ替えることができます。また、表の列の境界線を、ドラッグすると、列の幅を変更することができます。

表のエラーがなくなりましたら、テンプレートとして保存し、VCDファイルと、テンプレート・ファイル(CSVファイル)を弊社設計担当へお送りください。また、同時に、VCDとAPFのサイクル・タイムとストローブの情報を、弊社設計担当へお知らせください。
以下は、セイコー・エプソンで実施し、問題などがございましたら、対応について相談させていただきます。

APF ファイルの作成
APFファイルのアップデート
APFファイルのチェック
表のエラーが無くなりましたら、「APFサイクル・タイム」と、「ストローブ」と、「遅延倍数」を入力し、「APF作成」をクリックしてください。「APF作成」をクリックすると、APFのファイルを選択するウィンドウが開きますので、APFを保存するフォルダを選択し、ファイル名を入力して、「OK」ボタンを押してください。 APFが作成されます。ここで、「APFサイクル・タイム」と「ストローブ」は、変換には関係なく、APFのそれらに記述されるだけです。「遅延値倍数」は、表の「遅延1」及び「遅延2」にその値をかけて、APF内の各入力ピンの遅延値とするためのものです。0以上の整数を入力することが可能です。その遅延値を個別に調整される場合は、できあがったAPFを修正してください。

作成されたAPFの$DESIGNと$IOCONTを、ネットリストの情報に合わせるため、「apf2apf」でアップデートしてください。

その「apf2apf」は、EPITSまたはEPITS7に含まれるユーティリティで、以下のようなコマンド行でAPFをアップデートできます。

例) apf2apf ..\func1.apf -r rpt\TOP.rpt -u rpt\TOP.tpl -o pattern\func1.apf

ここで、最初の.apfファイルは、Vcd2apfで作成されたAPFです。また、.rptファイルと、.tplは、SNRC(弊社ルール・チェッカー)で作成されたファイルです。そして、最後の.apfファイルが、アップデートされたAPFになります。

アップデートしたAPFを「apfcheck」でチェックしてください。

その「apfcheck」は、EPITSまたはEPITS7に含まれるユーティリティです。操作方法につきましては、それらの説明書をご参照ください。

閉じる