私はTCLスクリプトの初心者です。私は、Verilogファイルからxlsファイルへのデータを以下のように解析しています。Verilogファイルからのデータの解析
===================================================================================================== apn u_apn_start_ctrl_final_adder_add_212_41 module:add_unsigned_carry_882 very_fast + unsigned 32x32x1 32 120.39 212 41 feu_start_ctrl.v =====================================================================================================
私が抽出したい:解析が最後のセクションの後に終了します
Inferred components Operator Signedness Inputs Outputs CellArea Line Col Filename ===================================================================================================== apn u_apn_ttp_logic abc u_apn_wgt_op_rd_u_apn_sca_u_part_sel1_sl_69_33 module:shift_right_vlog_unsigned_4662_7709 very_fast/barrel >> x 25x5 25 223.02 69 33 part_select.v ===================================================================================================== apn u_apn_ttp_logic u_apn_wgt_op_rd_u_apn_scale_u_part_sel1_sub00283545 module:sub_signed_4513_5538 very_fast - signed 11x24 25 152.80 0 0 a =====================================================================================================
(これは...長いファイルである)
:入力Verilogファイルは、データを次のものが含ま
以下のデータは、最初のセクションを検討する
Top name=apn Instance=u_apn_ttp_logic/abc/u_apn_wgt_op_rd_u_feu_scale_u_part_select1_srl_69_33 Module = shift_right_vlog_unsigned_4662_7709 Architecture=very_fast/barrel Operator = >> Sign=x Input Size = 25x5 Output = 25 Area = 223.02 Column = 69 Row = 33 File Name = part_select.v
これを実装しているうちに、私は悩んでいます。以下
は同じのために私のアプローチです:
set fd "[open "path_data.v" r]"
set flag 0
while {[gets $fd line] !=-1} {
if {[regexp "\===*" $line]} {
while {[gets $fd line] >= 0} {
append data "$line "
if {[regexp "\====*" $line]} {
break
} }
set topname [lindex $data 0]
regexp {(^[a-z]*) (.*) (.*module)} $data match topname instance sub3
puts "top name :$topname "
puts "instance: $instance"
}
close $fd
は、私はまた、私は、これらの値を抽出助けてください 他の値、出力だけtopname
とinstance
名前にはできませんよ。
これは実際のデータではうまくいかないとは思いますが、間違っていることを確認してその部分を確認するのは簡単です。 –
こんにちはドナル、私はあなたのコードを試みたが、エラーが来ている ご支援のための おかげで、私も最初の場合はループ内でフラグを設定してみました、 も私を助けてくださいは 「outputSectionInfo、コマンドの下に理解します$ top $ instance $ module {*} $その他の " – Krishh