かわいいは正義
ただの日記ですよ(・ω・)
2017年7月21日金曜日
Verilog における force 文メモ
非同期分周器のVerilogシミュレーションでforce文を使ったのでメモ.
Verilogで特定のノードの値を強制的に指定するために,force文を使う.force文の指定を解除するためには,release文を使う.非同期分周器の場合,分周器の入力に対して強制的に値を指定し,クロック立ち上がりを入力し値をDFFに取り込む.次に,release文を使う事でforce文を解除する.
module tb(); reg CLK; wire OUT; always begin #5 CLK <= ~CLK; end // dut DIV INST_DIV( .CLK(CLK), .OUT(OUT) ) initial begin CLK <= 1; force INST_DIV.invout=1; #10 release INST_DIV.invout; end endmodule module DIV( .CLK, .OUT ); input CLK; output OUT; wire invout; inverter(.A(OUT), .YB(invout)); dff(.CLK(CLK), .DATA(invout), .Y(OUT)); endmodule
2017年7月13日木曜日
AnalogArtist のセルをSKILLコマンドでリネームする(ccpRename)
AnalogArtist 中のセルをリネームするには,ccpRenameコマンドを使う.
リネーム前,リネーム後のセルは,gdmSpecオブジェクトを指定する.従って以下の様に組み合わせてやればよい.
mySpecSrc = gdmCreateSpec("lib" "srcCellName" "view" nil "CDBA")
mySpecDst = gdmCreateSpec("lib" "dstCellName" "view" nil "CDBA")
ccpRename(mySpecSrc mySpecDst)
ここで,srcCellName がリネーム前のセルの名,dstCellNameがリネーム後のセル名,view 対応するview(layout/schematic/symbol...)である.
‹
›
ホーム
ウェブ バージョンを表示