VeriLog †Verilog書いてて失敗した事のメモ VerilogLog,略してVeriLog 全般 †
合成用ファイル(dc_topo.scr) †
set行の下に,regsubで削除したいファイル行を続ける.
合成結果レポートファイルの処理 †TiminigInfo..やAreaInfo..をまとめるのめどい cp /home/kam/vhd/rep2csv.rb /home/じぶんち/vhd/プロジェクト名 で, ruby ./rep2csv.rb とするとrepディレクトリ以下のレポートファイルをてきとうにパーズして csv形式で面積と遅延時間を出力します.csv形式なんでOooとかexcelでどうぞ. ご意見あればどうぞ. 信号の複数ドライブ †別のalways文で同じ信号をドライブしないこと. 当たり前だけど,multiple driver うんぬん言われて シミュレーションできても合成できなくなるぞう design_vision-xgで合成するとき †readで回路記述を読み込んだ後 source scr/typ_lib_starc90nm.scr する. つぎに set_max_delay 5 -to [all_outputs] set_max_area 5 などとして時間,面積制約を加えた後 Design -> Compile Ultra このとき,"No auto ungroup"にチェックしたほうが速い場合がある. (独自設計の場合など) 栗ティカルパス †Select -> Path from/through/to で,何も入力せずに[OK]とすると最長経路を選択できる(delay type が max?). さらに Create PathSchematic of Selection (3つ並びのアイコンの右側) で,その経路図を抽出できる. 遅延時間は Timing -> Report Timing Path ISEの使い方など †出力 †参考 http://www.tokudenkairo.co.jp/sp6/column.html ISim †コマンドでシミュレーション †準備 †環境変数を設定する. $Xilinx/ver/ISE_DS/settings[32|64].bat を実行する.ちなみに,ver13.1では,実行した結果として以下の変数が設定された. set PATH=c:\Xilinx\13.1\ISE_DS\ISE\bin\nt64;%PATH% set PATH=c:\Xilinx\13.1\ISE_DS\ISE\lib\nt64;%PATH% set XILINX=c:\Xilinx\13.1\ISE_DS\ISE set XILINX_DSP=c:\Xilinx\13.1\ISE_DS\ISE set XILINX_EDK=c:\Xilinx\13.1\ISE_DS\EDK set XILINX_PLANAHEAD=c:\Xilinx\13.1\ISE_DS\PlanAhead プロジェクトファイルを作成する †プロジェクトファイルは,テキストで記述する. verilog test_AlphaMac5_lib "src/AlphaMac5.v" verilog test_AlphaMac5_lib "src/test/test_AlphaMac5.v"
コンパイル †"fuse.exe"コマンドでコンパイルする.以下,例. fuse.exe test_AlphaMac5_lib.test_AlphaMac5 ^ -prj test_AlphaMac5.prj ^ -L test_AlphaMac5_lib=./isim/test_AlphaMac5_lib/ ^ -o test_AlphaMac5.exe 一般化するとこんな感じ. fuse.exe ^ <lib_name>.<top_module> ^ -prj <project file> ^ -L <library_name>=<path> ^ -o <outputfilename> 実行 †上記<outputfilename>を実行する.
|