From 79dee10db1bd223e8fb83d63691d3d0a9a8e7691 Mon Sep 17 00:00:00 2001 From: Core_kingdom <2972880695@qq.com> Date: Tue, 26 Aug 2025 16:53:22 +0800 Subject: [PATCH] cache module --- rtl/data_cache/async_fifo.v | 85 + rtl/data_cache/axi_write_ctrl.v | 196 ++ rtl/data_cache/data_assemble.v | 109 + rtl/data_cache/data_cache.v | 470 ++++ rtl/data_cache/histogram_ctrl.v | 231 ++ rtl/data_cache/rst_sync.v | 27 + rtl/data_cache/sync_fifo.v | 73 + sim/Makefile | 20 + sim/csrc/Makefile | 116 + sim/csrc/Makefile.hsopt | 47 + sim/csrc/SIM_l.o | Bin 0 -> 634 bytes sim/csrc/_16331_archive_1.so | 1 + sim/csrc/_vcs_pli_stub_.c | 964 +++++++ sim/csrc/_vcs_pli_stub_.o | Bin 0 -> 32032 bytes sim/csrc/archive.0/_16331_archive_1.a | Bin 0 -> 404786 bytes sim/csrc/archive.0/_16331_archive_1.a.info | 3 + sim/csrc/cgincr.sdb | Bin 0 -> 3504 bytes sim/csrc/cginfo.json | 350 +++ sim/csrc/cgproc.16331.json | 284 ++ sim/csrc/filelist | 31 + sim/csrc/filelist.cu | 33 + sim/csrc/filelist.dpi | 0 sim/csrc/filelist.hsopt | 13 + sim/csrc/filelist.hsopt.llvm2_0.objs | 1 + sim/csrc/filelist.hsopt.objs | 7 + sim/csrc/filelist.pli | 4 + sim/csrc/hsim/hsim.sdb | Bin 0 -> 634 bytes sim/csrc/import_dpic.h | 0 sim/csrc/objs/amcQw_d.o | Bin 0 -> 7904 bytes sim/csrc/product_timestamp | 0 sim/csrc/rmapats.c | 43 + sim/csrc/rmapats.h | 2453 +++++++++++++++++ sim/csrc/rmapats.m | 0 sim/csrc/rmapats.o | Bin 0 -> 2096 bytes sim/csrc/rmapats_mop.o | Bin 0 -> 3632 bytes sim/csrc/rmar.c | 13 + sim/csrc/rmar.h | 18 + sim/csrc/rmar.o | Bin 0 -> 1232 bytes sim/csrc/rmar0.h | 13 + sim/csrc/rmar_llvm_0_0.o | Bin 0 -> 2248 bytes sim/csrc/rmar_llvm_0_1.o | Bin 0 -> 1408 bytes sim/csrc/rmar_nd.o | Bin 0 -> 1248 bytes sim/novas.conf | 20 + sim/novas.rc | 1369 +++++++++ sim/novas_dump.log | 359 +++ sim/rtl.f | 7 + sim/simv | Bin 0 -> 926312 bytes sim/simv.daidir/.daidir_complete | 0 sim/simv.daidir/.normal_done | 0 sim/simv.daidir/.vcs.timestamp | 129 + sim/simv.daidir/_16331_archive_1.so | Bin 0 -> 420640 bytes sim/simv.daidir/binmap.sdb | Bin 0 -> 17836 bytes sim/simv.daidir/build_db | 4 + sim/simv.daidir/cc/cc_bcode.db | 7 + sim/simv.daidir/cc/cc_dummy_file | 2 + sim/simv.daidir/cgname.json | 20 + sim/simv.daidir/covg_defs | 0 sim/simv.daidir/debug_dump/.version | 4 + .../debug_dump/AllModulesSkeletons.sdb | Bin 0 -> 1197 bytes sim/simv.daidir/debug_dump/HsimSigOptDb.sdb | Bin 0 -> 6774 bytes sim/simv.daidir/debug_dump/dumpcheck.db | 0 sim/simv.daidir/debug_dump/dve_debug.db.gz | Bin 0 -> 980 bytes .../debug_dump/fsearch/.create_fsearch_db | 9 + .../debug_dump/fsearch/check_fsearch_db | 57 + .../debug_dump/fsearch/fsearch.stat | 0 .../debug_dump/fsearch/idents_s87tOh.xml.gz | Bin 0 -> 3131 bytes .../debug_dump/fsearch/idents_tapi.xml.gz | Bin 0 -> 186 bytes sim/simv.daidir/debug_dump/src_files_verilog | 8 + sim/simv.daidir/debug_dump/topmodules | 1 + sim/simv.daidir/debug_dump/vir.sdb | Bin 0 -> 33961 bytes sim/simv.daidir/eblklvl.db | Bin 0 -> 24 bytes sim/simv.daidir/elabmoddb.sdb | Bin 0 -> 11452 bytes sim/simv.daidir/external_functions | 78 + sim/simv.daidir/hslevel_callgraph.sdb | Bin 0 -> 322 bytes sim/simv.daidir/hslevel_level.sdb | Bin 0 -> 347 bytes sim/simv.daidir/hslevel_rtime_level.sdb | Bin 0 -> 248 bytes sim/simv.daidir/hsscan_cfg.dat | 0 sim/simv.daidir/nsparam.dat | Bin 0 -> 8 bytes sim/simv.daidir/pcc.sdb | Bin 0 -> 640 bytes sim/simv.daidir/pcxpxmr.dat | Bin 0 -> 20 bytes sim/simv.daidir/prof.sdb | Bin 0 -> 10517 bytes sim/simv.daidir/rmapats.dat | Bin 0 -> 252 bytes sim/simv.daidir/rmapats.so | Bin 0 -> 23448 bytes sim/simv.daidir/saifNetInfo.db | 1 + sim/simv.daidir/simv.kdb | 16 + sim/simv.daidir/stitch_nsparam.dat | Bin 0 -> 4 bytes sim/simv.daidir/tt.sdb | Bin 0 -> 9670 bytes sim/simv.daidir/vcs_rebuild | 4 + .../vcselab_master_hsim_elabout.db | 673 +++++ sim/simv.daidir/vcselab_misc_hsdef.db | Bin 0 -> 8 bytes sim/simv.daidir/vcselab_misc_hsim_elab.db | 1190 ++++++++ sim/simv.daidir/vcselab_misc_hsim_fegate.db | Bin 0 -> 9692 bytes sim/simv.daidir/vcselab_misc_hsim_lvl.db | Bin 0 -> 448 bytes sim/simv.daidir/vcselab_misc_hsim_name.db | Bin 0 -> 97 bytes sim/simv.daidir/vcselab_misc_hsim_uds.db | 3 + sim/simv.daidir/vcselab_misc_midd.db | Bin 0 -> 256 bytes sim/simv.daidir/vcselab_misc_mnmn.db | Bin 0 -> 54 bytes sim/simv.daidir/vcselab_misc_partition.db | Bin 0 -> 7912 bytes sim/simv.daidir/vcselab_misc_vcselabref.db | Bin 0 -> 1 bytes sim/simv.daidir/vcselab_misc_vpdnodenums | Bin 0 -> 1152 bytes sim/tb.f | 5 + sim/tb.fsdb | Bin 0 -> 69669 bytes sim/ucli.key | 0 sim/vcs.log | 201 ++ sim/verdiLog/.16693IC_EDA.conf | 336 +++ sim/verdiLog/.diagnose.oneSearch | 0 sim/verdiLog/ToNetlist.log | 0 sim/verdiLog/compiler.log | 107 + sim/verdiLog/exe.log | 0 sim/verdiLog/novas.log | 10 + sim/verdiLog/novas.rc | 1369 +++++++++ sim/verdiLog/novas_autosave.ses.config | 35 + sim/verdiLog/novas_autosave.ses.png | Bin 0 -> 111918 bytes .../novas_ones_IC_EDA_16693.log.result | 0 sim/verdiLog/pes.bat | 3 + sim/verdiLog/tdc.list.oneSearch | 8 + sim/verdiLog/turbo.log | 2 + sim/verdiLog/verdi.cmd | 375 +++ sim/verdiLog/verdi_perf_err.log | 0 tb/data_cache/tb_axi_write_ctrl.v | 314 +++ tb/data_cache/tb_data_assemble.v | 138 + tb/data_cache/tb_data_cache.v | 450 +++ tb/data_cache/tb_histogram_ctrl.v | 208 ++ tb/data_cache/tb_sync_fifo.v | 156 ++ 124 files changed, 13283 insertions(+) create mode 100644 rtl/data_cache/async_fifo.v create mode 100644 rtl/data_cache/axi_write_ctrl.v create mode 100644 rtl/data_cache/data_assemble.v create mode 100644 rtl/data_cache/data_cache.v create mode 100644 rtl/data_cache/histogram_ctrl.v create mode 100644 rtl/data_cache/rst_sync.v create mode 100644 rtl/data_cache/sync_fifo.v create mode 100755 sim/Makefile create mode 100644 sim/csrc/Makefile create mode 100644 sim/csrc/Makefile.hsopt create mode 100644 sim/csrc/SIM_l.o create mode 120000 sim/csrc/_16331_archive_1.so create mode 100644 sim/csrc/_vcs_pli_stub_.c create mode 100644 sim/csrc/_vcs_pli_stub_.o create mode 100644 sim/csrc/archive.0/_16331_archive_1.a create mode 100644 sim/csrc/archive.0/_16331_archive_1.a.info create mode 100644 sim/csrc/cgincr.sdb create mode 100644 sim/csrc/cginfo.json create mode 100644 sim/csrc/cgproc.16331.json create mode 100644 sim/csrc/filelist create mode 100644 sim/csrc/filelist.cu create mode 100644 sim/csrc/filelist.dpi create mode 100644 sim/csrc/filelist.hsopt create mode 100644 sim/csrc/filelist.hsopt.llvm2_0.objs create mode 100644 sim/csrc/filelist.hsopt.objs create mode 100644 sim/csrc/filelist.pli create mode 100644 sim/csrc/hsim/hsim.sdb create mode 100644 sim/csrc/import_dpic.h create mode 100644 sim/csrc/objs/amcQw_d.o create mode 100644 sim/csrc/product_timestamp create mode 100644 sim/csrc/rmapats.c create mode 100644 sim/csrc/rmapats.h create mode 100644 sim/csrc/rmapats.m create mode 100644 sim/csrc/rmapats.o create mode 100644 sim/csrc/rmapats_mop.o create mode 100644 sim/csrc/rmar.c create mode 100644 sim/csrc/rmar.h create mode 100644 sim/csrc/rmar.o create mode 100644 sim/csrc/rmar0.h create mode 100644 sim/csrc/rmar_llvm_0_0.o create mode 100644 sim/csrc/rmar_llvm_0_1.o create mode 100644 sim/csrc/rmar_nd.o create mode 100644 sim/novas.conf create mode 100644 sim/novas.rc create mode 100644 sim/novas_dump.log create mode 100644 sim/rtl.f create mode 100755 sim/simv create mode 100644 sim/simv.daidir/.daidir_complete create mode 100644 sim/simv.daidir/.normal_done create mode 100644 sim/simv.daidir/.vcs.timestamp create mode 100755 sim/simv.daidir/_16331_archive_1.so create mode 100644 sim/simv.daidir/binmap.sdb create mode 100755 sim/simv.daidir/build_db create mode 100644 sim/simv.daidir/cc/cc_bcode.db create mode 100644 sim/simv.daidir/cc/cc_dummy_file create mode 100644 sim/simv.daidir/cgname.json create mode 100644 sim/simv.daidir/covg_defs create mode 100644 sim/simv.daidir/debug_dump/.version create mode 100644 sim/simv.daidir/debug_dump/AllModulesSkeletons.sdb create mode 100644 sim/simv.daidir/debug_dump/HsimSigOptDb.sdb create mode 100644 sim/simv.daidir/debug_dump/dumpcheck.db create mode 100644 sim/simv.daidir/debug_dump/dve_debug.db.gz create mode 100755 sim/simv.daidir/debug_dump/fsearch/.create_fsearch_db create mode 100755 sim/simv.daidir/debug_dump/fsearch/check_fsearch_db create mode 100644 sim/simv.daidir/debug_dump/fsearch/fsearch.stat create mode 100644 sim/simv.daidir/debug_dump/fsearch/idents_s87tOh.xml.gz create mode 100644 sim/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz create mode 100644 sim/simv.daidir/debug_dump/src_files_verilog create mode 100644 sim/simv.daidir/debug_dump/topmodules create mode 100644 sim/simv.daidir/debug_dump/vir.sdb create mode 100644 sim/simv.daidir/eblklvl.db create mode 100644 sim/simv.daidir/elabmoddb.sdb create mode 100644 sim/simv.daidir/external_functions create mode 100644 sim/simv.daidir/hslevel_callgraph.sdb create mode 100644 sim/simv.daidir/hslevel_level.sdb create mode 100644 sim/simv.daidir/hslevel_rtime_level.sdb create mode 100644 sim/simv.daidir/hsscan_cfg.dat create mode 100644 sim/simv.daidir/nsparam.dat create mode 100644 sim/simv.daidir/pcc.sdb create mode 100644 sim/simv.daidir/pcxpxmr.dat create mode 100644 sim/simv.daidir/prof.sdb create mode 100644 sim/simv.daidir/rmapats.dat create mode 100755 sim/simv.daidir/rmapats.so create mode 100644 sim/simv.daidir/saifNetInfo.db create mode 100644 sim/simv.daidir/simv.kdb create mode 100644 sim/simv.daidir/stitch_nsparam.dat create mode 100644 sim/simv.daidir/tt.sdb create mode 100755 sim/simv.daidir/vcs_rebuild create mode 100644 sim/simv.daidir/vcselab_master_hsim_elabout.db create mode 100644 sim/simv.daidir/vcselab_misc_hsdef.db create mode 100644 sim/simv.daidir/vcselab_misc_hsim_elab.db create mode 100644 sim/simv.daidir/vcselab_misc_hsim_fegate.db create mode 100644 sim/simv.daidir/vcselab_misc_hsim_lvl.db create mode 100644 sim/simv.daidir/vcselab_misc_hsim_name.db create mode 100644 sim/simv.daidir/vcselab_misc_hsim_uds.db create mode 100644 sim/simv.daidir/vcselab_misc_midd.db create mode 100644 sim/simv.daidir/vcselab_misc_mnmn.db create mode 100644 sim/simv.daidir/vcselab_misc_partition.db create mode 100644 sim/simv.daidir/vcselab_misc_vcselabref.db create mode 100644 sim/simv.daidir/vcselab_misc_vpdnodenums create mode 100644 sim/tb.f create mode 100644 sim/tb.fsdb create mode 100644 sim/ucli.key create mode 100644 sim/vcs.log create mode 100644 sim/verdiLog/.16693IC_EDA.conf create mode 100644 sim/verdiLog/.diagnose.oneSearch create mode 100644 sim/verdiLog/ToNetlist.log create mode 100644 sim/verdiLog/compiler.log create mode 100644 sim/verdiLog/exe.log create mode 100644 sim/verdiLog/novas.log create mode 100644 sim/verdiLog/novas.rc create mode 100644 sim/verdiLog/novas_autosave.ses.config create mode 100644 sim/verdiLog/novas_autosave.ses.png create mode 100644 sim/verdiLog/novas_ones_IC_EDA_16693.log.result create mode 100644 sim/verdiLog/pes.bat create mode 100644 sim/verdiLog/tdc.list.oneSearch create mode 100644 sim/verdiLog/turbo.log create mode 100644 sim/verdiLog/verdi.cmd create mode 100644 sim/verdiLog/verdi_perf_err.log create mode 100644 tb/data_cache/tb_axi_write_ctrl.v create mode 100644 tb/data_cache/tb_data_assemble.v create mode 100644 tb/data_cache/tb_data_cache.v create mode 100644 tb/data_cache/tb_histogram_ctrl.v create mode 100644 tb/data_cache/tb_sync_fifo.v diff --git a/rtl/data_cache/async_fifo.v b/rtl/data_cache/async_fifo.v new file mode 100644 index 0000000..de5917e --- /dev/null +++ b/rtl/data_cache/async_fifo.v @@ -0,0 +1,85 @@ +module async_fifo #( + parameter DATA_WIDTH = 8, + parameter FIFO_DEPTH = 16 +)( + input wr_clk, + input wr_rst_n, + input wr_en, + input [DATA_WIDTH-1:0] wr_data, + output full, + + input rd_clk, + input rd_rst_n, + input rd_en, + output [DATA_WIDTH-1:0] rd_data, + output empty +); + + reg [DATA_WIDTH-1:0] mem [FIFO_DEPTH -1 : 0]; + reg [$clog2(FIFO_DEPTH) : 0] wr_ptr, rd_ptr; + + integer i; + always@(posedge wr_clk or negedge wr_rst_n) begin + if(!wr_rst_n) begin + wr_ptr <= 'd0; + for(i=0;i>1); + assign rd_ptr_g = rd_ptr ^(rd_ptr >>1); + + reg [$clog2(FIFO_DEPTH):0] wr_ptr_gr , wr_ptr_grr; + reg [$clog2(FIFO_DEPTH):0] rd_ptr_gr , rd_ptr_grr; + + always@(posedge rd_clk or negedge rd_rst_n) begin + if(!rd_rst_n) begin + wr_ptr_gr <= 0; + wr_ptr_grr <=0; + end else begin + wr_ptr_gr <= wr_ptr_g; + wr_ptr_grr <= wr_ptr_gr; + end + end + + always@(posedge wr_clk or negedge wr_rst_n) begin + if(!wr_rst_n) begin + rd_ptr_gr <= 0; + rd_ptr_grr <=0; + end else begin + rd_ptr_gr <= rd_ptr_g; + rd_ptr_grr <= rd_ptr_gr; + end + end + + assign rd_data = mem[rd_ptr[$clog2(FIFO_DEPTH)-1:0]]; + + + assign full = ((wr_ptr_g[$clog2(FIFO_DEPTH)] != + rd_ptr_grr[$clog2(FIFO_DEPTH)]) && (wr_ptr_g[$clog2(FIFO_DEPTH)-1] != + rd_ptr_grr[$clog2(FIFO_DEPTH)]-1) && (wr_ptr_g[$clog2(FIFO_DEPTH)-2:0] == + rd_ptr_grr[$clog2(FIFO_DEPTH)-2 : 0])) ? 1:0; + + assign empty = (rd_ptr_g[$clog2(FIFO_DEPTH) : 0] == + wr_ptr_grr[$clog2(FIFO_DEPTH) :0]) ? 1:0; + +endmodule diff --git a/rtl/data_cache/axi_write_ctrl.v b/rtl/data_cache/axi_write_ctrl.v new file mode 100644 index 0000000..aa2d0ec --- /dev/null +++ b/rtl/data_cache/axi_write_ctrl.v @@ -0,0 +1,196 @@ +module axi_write_ctrl #( + parameter AXI_ID_W = 8, // AXI ID位宽 + parameter AXI_ADDR_W = 32, // AXI地址位宽 + parameter AXI_DATA_W = 256, // AXI数据位宽 + parameter AXI_STRB_W = AXI_DATA_W / 8 // 字节选通位宽(256bit对应32字节) +) ( + input wire clk, // 系统时钟 + input wire rst_n, // 异步复位,低有效 + + // 控制与数据输入 + input wire start_en, // 写事务启动使能 + input wire [AXI_ADDR_W-1:0] sram_base_addr, // SRAM基地址 + input wire [AXI_DATA_W-1:0] fifo_rd_data, // FIFO读数据 + input wire fifo_empty, // FIFO空标志 + output reg fifo_rd_en, // FIFO读使能 + + // AXI AW通道 + output reg [AXI_ID_W-1:0] axi_m_awid, // 写地址ID + output reg [AXI_ADDR_W-1:0] axi_m_awaddr, // 写地址 + output reg [3:0] axi_m_awlen, // 突发长度(0表示1个数据) + output reg [2:0] axi_m_awsize, // 数据宽度(5对应32字节) + output reg [1:0] axi_m_awburst, // 突发类型(0表示增量) + output reg axi_m_awlock, // 锁定信号(0表示普通访问) + output reg [4:0] axi_m_awcache, // 缓存属性(0表示非缓存) + output reg [2:0] axi_m_awprot, // 保护属性(0表示普通) + output reg [4:0] axi_m_awqos, // QoS优先级(0表示默认) + output reg axi_m_awvalid, // 写地址有效 + input wire axi_m_awready, // 写地址就绪 + + // AXI W通道 + output reg [AXI_ID_W-1:0] axi_m_wid, // 写数据ID + output reg [AXI_DATA_W-1:0] axi_m_wdata, // 写数据 + output reg [AXI_STRB_W-1:0] axi_m_wstrb, // 字节选通(全1表示所有字节有效) + output reg axi_m_wlast, // 突发结束标志 + output reg axi_m_wvalid, // 写数据有效 + input wire axi_m_wready, // 写数据就绪 + + // AXI B通道 + input wire [AXI_ID_W-1:0] axi_m_bid, // 写响应ID + input wire [1:0] axi_m_bresp, // 写响应(0表示OKAY) + input wire axi_m_bvalid, // 写响应有效 + output reg axi_m_bready, // 写响应就绪 + + // 状态输出 + output reg axi_busy, // AXI写事务忙 + output reg axi_done // AXI写事务完成 +); + +// 内部信号定义 +reg [AXI_ADDR_W-1:0] curr_addr; // 当前写地址(基于基地址递增) +reg [1:0] axi_state; // AXI状态机状态寄存器 + +// 状态定义 +localparam AXI_IDLE = 2'd0; // 空闲状态 +localparam AXI_AW = 2'd1; // 地址通道传输状态 +localparam AXI_W = 2'd2; // 数据通道传输状态 +localparam AXI_B = 2'd3; // 响应通道传输状态 + +// 1. AXI状态机时序逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + axi_state <= AXI_IDLE; + curr_addr <= {AXI_ADDR_W{1'b0}}; + axi_busy <= 1'b0; + axi_done <= 1'b0; + end else begin + axi_done <= 1'b0; // 单周期有效 + case (axi_state) + AXI_IDLE: begin + axi_busy <= 1'b0; + // 启动条件: 使能信号有效且FIFO非空 + if (start_en && !fifo_empty) begin + axi_state <= AXI_AW; + axi_busy <= 1'b1; + // 初始化当前地址为基地址(首次)或保持上次地址(连续传输) + curr_addr <= (curr_addr == {AXI_ADDR_W{1'b0}}) ? sram_base_addr : curr_addr; + end + end + + AXI_AW: begin + // 地址通道握手完成,进入数据通道 + if (axi_m_awvalid && axi_m_awready) begin + axi_state <= AXI_W; + // 预计算下一次地址(当前地址 + 数据宽度字节数) + curr_addr <= curr_addr + (AXI_DATA_W / 8); + end + end + + AXI_W: begin + // 数据通道握手完成,进入响应通道 + if (axi_m_wvalid && axi_m_wready) begin + axi_state <= AXI_B; + end + end + + AXI_B: begin + // 响应通道握手完成,事务结束 + if (axi_m_bvalid && axi_m_bready) begin + axi_state <= AXI_IDLE; + axi_done <= 1'b1; // 标记事务完成 + end + end + endcase + end +end + +// 2. AXI AW通道信号生成逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_awid <= {AXI_ID_W{1'b0}}; + axi_m_awaddr <= {AXI_ADDR_W{1'b0}}; + axi_m_awlen <= 4'd0; + axi_m_awsize <= 3'd5; // 5对应32字节(2^5 = 32) + axi_m_awburst <= 2'd0; // 0表示INCR(增量)突发 + axi_m_awlock <= 1'b0; + axi_m_awcache <= 5'd0; // 非缓存、非缓冲 + axi_m_awprot <= 3'd0; // 普通非特权数据访问 + axi_m_awqos <= 5'd0; // 默认QoS级别 + axi_m_awvalid <= 1'b0; + end else begin + case (axi_state) + AXI_AW: begin + axi_m_awid <= 8'd0; // 固定ID为0 + axi_m_awaddr <= curr_addr; // 当前地址 + axi_m_awlen <= 4'd0; // 突发长度为1(0+1) + axi_m_awsize <= 3'd5; // 保持32字节宽度 + axi_m_awburst <= 2'd0; // 保持增量突发 + axi_m_awvalid <= 1'b1; // 地址有效 + end + default: begin + axi_m_awvalid <= 1'b0; // 非地址状态时无效 + end + endcase + end +end + +// 3. AXI W通道信号生成逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_wid <= {AXI_ID_W{1'b0}}; + axi_m_wdata <= {AXI_DATA_W{1'b0}}; + axi_m_wstrb <= {AXI_STRB_W{1'b1}}; // 所有字节有效 + axi_m_wlast <= 1'b1; // 单拍突发,始终为1 + axi_m_wvalid <= 1'b0; + fifo_rd_en <= 1'b0; + end else begin + case (axi_state) + AXI_AW: begin + // 地址握手完成前预读FIFO + if (axi_m_awready) begin + fifo_rd_en <= 1'b1; // 读取FIFO数据 + axi_m_wid <= 8'd0; // 与AW通道ID保持一致 + axi_m_wdata <= fifo_rd_data; // 锁存FIFO数据 + axi_m_wvalid <= 1'b1; // 数据有效 + end else begin + fifo_rd_en <= 1'b0; + axi_m_wvalid <= 1'b0; + end + end + AXI_W: begin + fifo_rd_en <= 1'b0; // 停止读FIFO + // 数据握手完成后失效 + if (axi_m_wready) begin + axi_m_wvalid <= 1'b0; + end + end + default: begin + fifo_rd_en <= 1'b0; + axi_m_wvalid <= 1'b0; + end + endcase + end +end + +// 4. AXI B通道信号生成逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_bready <= 1'b0; + end else begin + case (axi_state) + AXI_B: begin + axi_m_bready <= 1'b1; // 准备接收响应 + // 响应握手完成后失效 + if (axi_m_bvalid) begin + axi_m_bready <= 1'b0; + end + end + default: begin + axi_m_bready <= 1'b0; + end + endcase + end +end + +endmodule + \ No newline at end of file diff --git a/rtl/data_cache/data_assemble.v b/rtl/data_cache/data_assemble.v new file mode 100644 index 0000000..76c0dd0 --- /dev/null +++ b/rtl/data_cache/data_assemble.v @@ -0,0 +1,109 @@ +module data_assemble #( + parameter PIXEL_WIDTH = 8, // 单通道像素位宽 + parameter GRAY_PIXEL_CNT = 32, // Gray模式:32个8bit→256bit + parameter RGB_PIXEL_CNT = 8 // RGB模式:8个32bit(24bit数据+8bit补零)→256bit +) ( + input wire clk, + input wire rst_n, + input wire en, // 拼接使能 + input wire input_pixel_type, // 0=Gray,1=RGB + input wire [PIXEL_WIDTH-1:0] ir_ch0, // CH0数据 + input wire [PIXEL_WIDTH-1:0] ir_ch1, // CH1数据 + input wire [PIXEL_WIDTH-1:0] ir_ch2, // CH2数据 + input wire pixel_valid, // 像素有效 + output reg done, // 拼接完成(256bit就绪) + output reg [255:0] assembled_data // 拼接后256bit数据 +); + +// 内部信号 +reg [4:0] gray_cnt; // Gray模式计数器(0~31) +reg [2:0] rgb_cnt; // RGB模式计数器(0~7) +reg [255:0] data_reg; // 拼接数据寄存器 +reg sync_out,sync_out_r; + + +// 拼接计数器复位逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + gray_cnt <= 5'd0; + rgb_cnt <= 3'd0; + end else if (!en) begin + gray_cnt <= 5'd0; + rgb_cnt <= 3'd0; + end else if (pixel_valid) begin + case (input_pixel_type) + 1'b0: begin // Gray模式 + gray_cnt <= (gray_cnt == GRAY_PIXEL_CNT ) ? 5'd0 : gray_cnt + 5'd1; + end + 1'b1: begin // RGB模式 + rgb_cnt <= (rgb_cnt == RGB_PIXEL_CNT ) ? 3'd0 : rgb_cnt + 3'd1; + end + endcase + end +end + +// 数据拼接逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + data_reg <= 256'd0; + assembled_data <= 256'd0; + sync_out <= 'd0; + sync_out_r <= 'd0; + end else if (!en) begin + sync_out <= 'd0; + data_reg <= 256'd0; + assembled_data <= 256'd0; + done <= 'd0; + end else if (pixel_valid) begin + + case (input_pixel_type) + 1'b0: begin // Gray模式:32x8bit→256bit(高位到低位拼接) + data_reg[(GRAY_PIXEL_CNT -1- gray_cnt) * PIXEL_WIDTH +: PIXEL_WIDTH] <= ir_ch0; + // 计数器满:拼接完成,锁存数据 + if (gray_cnt == GRAY_PIXEL_CNT -1 ) begin + sync_out = 1'd1; + //data_reg <= 256'd0; // 复位寄存器,准备下一轮 + end + end + 1'b1: begin // RGB模式:8x32bit→256bit(32bit=8bit补零+CH2+CH1+CH0) + reg [31:0] rgb_pixel; + rgb_pixel = {8'd0, ir_ch2, ir_ch1, ir_ch0}; // 补零+三通道数据 + data_reg[(RGB_PIXEL_CNT - 1 - rgb_cnt) * 32 +: 32] <= rgb_pixel; + // 计数器满:拼接完成,锁存数据 + if (gray_cnt == GRAY_PIXEL_CNT -1 ) begin + sync_out = 1'd1; + //data_reg <= 256'd0; // 复位寄存器,准备下一轮 + end + end + endcase + end +end + + + +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + sync_out_r <= 'd0; + end else begin + sync_out_r <= sync_out; + end +end + +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + assembled_data <= 'd0; + done <= 'd0; + end else if (sync_out_r) begin + assembled_data <= data_reg; + done <= 1'b1; + end +end + +always @(posedge clk or negedge rst_n) begin + if (done == 1'b1) begin + done <= 'd0; + end +end + + +endmodule \ No newline at end of file diff --git a/rtl/data_cache/data_cache.v b/rtl/data_cache/data_cache.v new file mode 100644 index 0000000..c4865c6 --- /dev/null +++ b/rtl/data_cache/data_cache.v @@ -0,0 +1,470 @@ +module data_cache #( + // 异步FIFO参数(IR→系统时钟域) + parameter ASYNC_FIFO_DEPTH = 1024, // 异步FIFO深度 + parameter ASYNC_FIFO_DATA_W = 27, // 27bit=1(ir_valid)+1(ir_vs)+1(ir_hs)+8(ch0)+8(ch1)+8(ch2) + // 同步FIFO参数(系统时钟域,256bit数据缓存) + parameter SYNC_FIFO_DEPTH = 2048, // 同步FIFO深度(适配256x256图像) + parameter SYNC_FIFO_DATA_W = 256, // 同步FIFO数据位宽(AXI写数据位宽) + // 直方图RAM参数(1x256,每个通道1个) + parameter HIST_RAM_DEPTH = 256, // 直方图RAM深度(0~255,对应8bit像素值) + parameter HIST_RAM_DATA_W = 1, // 直方图RAM数据位宽(1bit:存在标记) + // AXI参数 + parameter AXI_ID_W = 8, // AXI AW/W ID位宽 + parameter AXI_ADDR_W = 32, // AXI地址位宽 + parameter AXI_DATA_W = 256, // AXI数据位宽(与SYNC_FIFO_DATA_W一致) + parameter AXI_STRB_W = AXI_DATA_W / 8 // AXI WSTRB位宽(32bit) +) ( + // -------------------------- Common 端口 -------------------------- + input wire clk, // 系统时钟(AXI/控制逻辑时钟) + input wire rst_n, // 系统复位(低有效,同步clk) + // -------------------------- 配置信号端口 -------------------------- + input wire ipa_en, // IPA总使能 + input wire update_src_trig, // 更新原始图像触发(高有效) + input wire input_pixel_type, // 输入像素类型:0=Gray,1=RGB + input wire [15:0] src_pixel_height, // 原始图像高度 + input wire [15:0] src_pixel_width, // 原始图像宽度 + input wire [15:0] histogram_low_num, // 直方图低位数(计算min用) + input wire [15:0] histogram_high_num, // 直方图高位数(计算max用) + output reg src_image_cache_done, // 原始图像缓存完成(高有效) + // -------------------------- 连接Windowed模块端口 -------------------------- + output reg [7:0] dwidth_conv_min_ch0, // CH0归一化min值 + output reg [7:0] dwidth_conv_max_ch0, // CH0归一化max值 + output reg [7:0] dwidth_conv_min_ch1, // CH1归一化min值 + output reg [7:0] dwidth_conv_max_ch1, // CH1归一化max值 + output reg [7:0] dwidth_conv_min_ch2, // CH2归一化min值 + output reg [7:0] dwidth_conv_max_ch2, // CH2归一化max值 + // -------------------------- IR图像输入端口(IR时钟域) -------------------------- + input wire ir_clk, // IR像素同步时钟 + input wire ir_valid, // IR像素有效信号 + input wire ir_vs, // IR垂直同步(帧起始) + input wire ir_hs, // IR水平同步(行起始) + input wire [7:0] ir_ch0, // IR CH0数据(Gray时有效) + input wire [7:0] ir_ch1, // IR CH1数据(RGB时有效) + input wire [7:0] ir_ch2, // IR CH2数据(RGB时有效) + // -------------------------- AXI写总线端口(系统时钟域) -------------------------- + output reg [AXI_ID_W-1:0] axi_m_awid, // AXI AW通道ID + output reg [AXI_ADDR_W-1:0] axi_m_awaddr, // AXI AW通道地址(SRAM起始地址) + output reg [3:0] axi_m_awlen, // AXI AW通道突发长度(0=1拍) + output reg [2:0] axi_m_awsize, // AXI AW通道数据宽度(5=32字节=256bit) + output reg [1:0] axi_m_awburst, // AXI AW通道突发类型(0=INCR) + output reg axi_m_awlock, // AXI AW通道锁定(0=普通) + output reg [3:0] axi_m_awcache, // AXI AW通道缓存属性(0=非缓存) + output reg [2:0] axi_m_awprot, // AXI AW通道保护属性(0=普通) + output reg [3:0] axi_m_awqos, // AXI AW通道QoS(0=默认) + output reg axi_m_awvalid, // AXI AW通道有效 + input wire axi_m_awready, // AXI AW通道就绪 + output reg [AXI_ID_W-1:0] axi_m_wid, // AXI W通道ID(与AW一致) + output reg [AXI_DATA_W-1:0] axi_m_wdata, // AXI W通道数据(256bit) + output reg [AXI_STRB_W-1:0] axi_m_wstrb, // AXI W通道字节使能(全1=有效) + output reg axi_m_wlast, // AXI W通道突发结束标记 + output reg axi_m_wvalid, // AXI W通道有效 + input wire axi_m_wready, // AXI W通道就绪 + input wire [AXI_ID_W-1:0] axi_m_bid, // AXI B通道ID + input wire [1:0] axi_m_bresp, // AXI B通道响应(0=OKAY) + input wire axi_m_bvalid, // AXI B通道有效 + output reg axi_m_bready // AXI B通道就绪 +); + +// -------------------------- 内部信号定义 -------------------------- +// 1. 复位同步(跨时钟域复位处理) +wire rst_n_ir; // IR时钟域同步后的复位 +wire rst_n_sys; // 系统时钟域同步后的复位 + +// 2. 异步FIFO信号(IR→系统时钟域) +wire async_fifo_wr_en; // 异步FIFO写使能(IR时钟域) +wire [ASYNC_FIFO_DATA_W-1:0] async_fifo_wr_data; // 异步FIFO写数据(IR时钟域) +wire async_fifo_full; // 异步FIFO满(IR时钟域) +wire async_fifo_rd_en; // 异步FIFO读使能(系统时钟域) +wire [ASYNC_FIFO_DATA_W-1:0] async_fifo_rd_data; // 异步FIFO读数据(系统时钟域) +wire async_fifo_empty; // 异步FIFO空(系统时钟域) + +// 3. 跨域后像素信号(系统时钟域) +wire ir_valid_sys; // 跨域后像素有效 +wire ir_vs_sys; // 跨域后帧起始 +wire ir_hs_sys; // 跨域后行起始 +wire [7:0] ir_ch0_sys; // 跨域后CH0数据 +wire [7:0] ir_ch1_sys; // 跨域后CH1数据 +wire [7:0] ir_ch2_sys; // 跨域后CH2数据 +reg flag; + +// 4. 直方图控制信号 +wire hist_rst; // 直方图RAM复位(帧起始/更新触发) +wire hist_wr_en_ch0; // CH0直方图写使能 +wire [7:0] hist_wr_addr_ch0; // CH0直方图写地址(像素值) +wire hist_wr_en_ch1; // CH1直方图写使能 +wire [7:0] hist_wr_addr_ch1; // CH1直方图写地址(像素值) +wire hist_wr_en_ch2; // CH2直方图写使能 +wire [7:0] hist_wr_addr_ch2; // CH2直方图写地址(像素值) +reg hist_calc_en; // 直方图min/max计算使能(帧结束后) +wire hist_calc_done; // 直方图min/max计算完成 + +// 5. 数据拼接信号 +wire assemble_en; // 数据拼接使能 +wire assemble_done; // 数据拼接完成(256bit就绪) +wire [255:0] assemble_data; // 拼接后256bit数据 + +// 6. 同步FIFO信号(系统时钟域) +wire sync_fifo_wr_en; // 同步FIFO写使能 +wire [255:0] sync_fifo_wr_data;// 同步FIFO写数据(拼接后256bit) +wire sync_fifo_full; // 同步FIFO满 +wire sync_fifo_rd_en; // 同步FIFO读使能 +wire [255:0] sync_fifo_rd_data;// 同步FIFO读数据 +wire sync_fifo_empty; // 同步FIFO空 + +// 7. 帧计数与状态信号 +reg [15:0] col_cnt; // 列计数器(像素宽度计数) +reg [15:0] row_cnt; // 行计数器(像素高度计数) +reg frame_active; // 帧活跃标记(IR_VS后到帧结束) +reg axi_write_busy; // AXI写事务忙标记 +wire axi_write_done; // 来自 axi_write_ctrl 的写完成标志 + +// 8. 状态机定义 +// typedef enum logic [2:0] { +// S_IDLE, // 空闲(等待IPA使能) +// S_WAIT_VS, // 等待帧起始(IR_VS) +// S_RECEIVE_DATA, // 接收像素数据(写直方图+拼接) +// S_WRITE_FIFO, // 拼接完成写同步FIFO +// S_WAIT_AXI, // 等待AXI写完成 +// S_FRAME_DONE // 帧缓存完成(置位src_image_cache_done) +// } data_cache_state_t; + +localparam [3:0] S_IDLE = 3'b000; +localparam [3:0] S_WAIT_VS = 3'b001; +localparam [3:0] S_RECEIVE_DATA = 3'b010; +localparam [3:0] S_WRITE_FIFO = 3'b011; +localparam [3:0] S_WAIT_AXI = 3'b100; +localparam [3:0] S_FRAME_DONE = 3'b101; + +reg [2:0] curr_state; +reg [2:0] next_state; + + +// -------------------------- 子模块实例化 -------------------------- +// 1. 复位同步(确保跨时钟域复位稳定) +rst_sync #( + .SYNC_STAGE(2) // 2级同步 +) u_rst_sync_ir ( + .clk(ir_clk), + .rst_n_in(rst_n), + .rst_n_out(rst_n_ir) +); + +rst_sync #( + .SYNC_STAGE(2) +) u_rst_sync_sys ( + .clk(clk), + .rst_n_in(rst_n), + .rst_n_out(rst_n_sys) +); + +// 2. 异步FIFO(IR时钟域→系统时钟域,传输像素数据+控制信号) +async_fifo #( + .FIFO_DEPTH(ASYNC_FIFO_DEPTH), + .DATA_WIDTH(ASYNC_FIFO_DATA_W) +) u_async_fifo ( + // 写端口(IR时钟域) + .wr_clk(ir_clk), + .wr_rst_n(rst_n_ir), + .wr_en(async_fifo_wr_en), + .wr_data(async_fifo_wr_data), + .full(async_fifo_full), + // 读端口(系统时钟域) + .rd_clk(clk), + .rd_rst_n(rst_n_sys), + .rd_en(async_fifo_rd_en), + .rd_data(async_fifo_rd_data), + .empty(async_fifo_empty) +); + +// 3. 直方图控制模块(统计CH0/CH1/CH2直方图,计算min/max) +histogram_ctrl #( + .HIST_RAM_DEPTH(HIST_RAM_DEPTH), + .HIST_RAM_DATA_W(HIST_RAM_DATA_W) +) u_histogram_ctrl ( + .clk(clk), + .rst_n(rst_n_sys), + .hist_rst(hist_rst), + .input_pixel_type(input_pixel_type), + .hist_wr_en_ch0(hist_wr_en_ch0), + .hist_wr_addr_ch0(hist_wr_addr_ch0), + .hist_wr_en_ch1(hist_wr_en_ch1), + .hist_wr_addr_ch1(hist_wr_addr_ch1), + .hist_wr_en_ch2(hist_wr_en_ch2), + .hist_wr_addr_ch2(hist_wr_addr_ch2), + .histogram_low_num(histogram_low_num), + .histogram_high_num(histogram_high_num), + .calc_en(hist_calc_en), + .calc_done(hist_calc_done), + .dwidth_conv_min_ch0(dwidth_conv_min_ch0), + .dwidth_conv_max_ch0(dwidth_conv_max_ch0), + .dwidth_conv_min_ch1(dwidth_conv_min_ch1), + .dwidth_conv_max_ch1(dwidth_conv_max_ch1), + .dwidth_conv_min_ch2(dwidth_conv_min_ch2), + .dwidth_conv_max_ch2(dwidth_conv_max_ch2) +); + +// 4. 数据拼接模块(Gray:32x8bit→256bit;RGB:8x32bit→256bit) +data_assemble #( + .PIXEL_WIDTH(8), // 单通道像素位宽 + .GRAY_PIXEL_CNT(32), // Gray模式拼接像素数(32x8bit=256bit) + .RGB_PIXEL_CNT(8) // RGB模式拼接像素数(8x32bit=256bit) +) u_data_assemble ( + .clk(clk), + .rst_n(rst_n_sys), + .en(assemble_en), + .input_pixel_type(input_pixel_type), + .ir_ch0(ir_ch0_sys), + .ir_ch1(ir_ch1_sys), + .ir_ch2(ir_ch2_sys), + .pixel_valid(async_fifo_rd_data[26]), + .done(assemble_done), + .assembled_data(assemble_data) +); + +// 5. 同步FIFO(缓存拼接后的256bit数据,适配AXI写速度) +sync_fifo #( + .FIFO_DEPTH(SYNC_FIFO_DEPTH), + .DATA_WIDTH(SYNC_FIFO_DATA_W) +) u_sync_fifo ( + .clk(clk), + .rst_n(rst_n_sys), + .wr_en(sync_fifo_wr_en), + .wr_data(sync_fifo_wr_data), + .full(sync_fifo_full), + .rd_en(sync_fifo_rd_en), + .rd_data(sync_fifo_rd_data), + .empty(sync_fifo_empty) +); + +// 6. AXI写控制模块(从同步FIFO读数据,发起AXI写事务) +axi_write_ctrl #( + .AXI_ID_W(AXI_ID_W), + .AXI_ADDR_W(AXI_ADDR_W), + .AXI_DATA_W(AXI_DATA_W), + .AXI_STRB_W(AXI_STRB_W) +) u_axi_write_ctrl ( + .clk(clk), + .rst_n(rst_n_sys), + .start_en(!sync_fifo_empty && !axi_write_busy), // FIFO非空且AXI空闲时启动 + .sram_base_addr(32'h0000_0000), // SRAM基地址(可配置) + .fifo_rd_data(sync_fifo_rd_data), + .fifo_empty(sync_fifo_empty), + .fifo_rd_en(sync_fifo_rd_en), + .axi_m_awid(axi_m_awid), + .axi_m_awaddr(axi_m_awaddr), + .axi_m_awlen(axi_m_awlen), + .axi_m_awsize(axi_m_awsize), + .axi_m_awburst(axi_m_awburst), + .axi_m_awlock(axi_m_awlock), + .axi_m_awcache(axi_m_awcache), + .axi_m_awprot(axi_m_awprot), + .axi_m_awqos(axi_m_awqos), + .axi_m_awvalid(axi_m_awvalid), + .axi_m_awready(axi_m_awready), + .axi_m_wid(axi_m_wid), + .axi_m_wdata(axi_m_wdata), + .axi_m_wstrb(axi_m_wstrb), + .axi_m_wlast(axi_m_wlast), + .axi_m_wvalid(axi_m_wvalid), + .axi_m_wready(axi_m_wready), + .axi_m_bid(axi_m_bid), + .axi_m_bresp(axi_m_bresp), + .axi_m_bvalid(axi_m_bvalid), + .axi_m_bready(axi_m_bready), + .axi_busy(axi_write_busy), + .axi_done(axi_write_done) +); + + +// -------------------------- 核心逻辑实现 -------------------------- +// assign flag = (col_cnt == src_pixel_width-1'd1); +assign axi_write_done = (axi_m_bvalid && axi_m_bready); +// 1. 异步FIFO写控制(IR时钟域) +assign async_fifo_wr_data = {ir_valid, ir_vs, ir_hs, ir_ch2, ir_ch1, ir_ch0}; +assign async_fifo_wr_en = ir_valid && !async_fifo_full && ipa_en; // 像素有效且FIFO未满 + +// 2. 异步FIFO读控制(系统时钟域) +assign async_fifo_rd_en = !async_fifo_empty && + (curr_state == S_WAIT_VS || frame_active) && !flag; // 帧活跃且FIFO非空 + +// 3. 跨域后信号解析(系统时钟域) +assign ir_valid_sys = async_fifo_rd_data[26] && !flag; // [26] = ir_valid +assign ir_vs_sys = async_fifo_rd_data[25]; // [25] = ir_vs +assign ir_hs_sys = async_fifo_rd_data[24]; // [24] = ir_hs +assign ir_ch2_sys = async_fifo_rd_data[23:16];// [23:16] = ir_ch2 +assign ir_ch1_sys = async_fifo_rd_data[15:8]; // [15:8] = ir_ch1 +assign ir_ch0_sys = async_fifo_rd_data[7:0]; // [7:0] = ir_ch0 + +// 4. 直方图写控制(系统时钟域) +assign hist_rst = update_src_trig || ir_vs_sys; // 更新触发或帧起始时复位直方图 +assign hist_wr_en_ch0 = ir_valid_sys && frame_active; // CH0始终写(Gray/RGB均有效) +assign hist_wr_addr_ch0 = ir_ch0_sys; +assign hist_wr_en_ch1 = ir_valid_sys && frame_active && (input_pixel_type == 1'b1); // RGB时写CH1 +assign hist_wr_addr_ch1 = ir_ch1_sys; +assign hist_wr_en_ch2 = ir_valid_sys && frame_active && (input_pixel_type == 1'b1); // RGB时写CH2 +assign hist_wr_addr_ch2 = ir_ch2_sys; +//assign hist_calc_en = (row_cnt == src_pixel_height-1'd1) && (col_cnt == src_pixel_width-1'd1); // 帧结束后计算min/max + +// 5. 数据拼接使能控制 +assign assemble_en = frame_active && ir_valid_sys && !ir_vs_sys; + +// 6. 同步FIFO写控制 +assign sync_fifo_wr_en = assemble_done && !sync_fifo_full; +assign sync_fifo_wr_data = assemble_data; + +// 7. 帧计数逻辑 - 修复frame_active激活(关键:不依赖frame_active读FIFO) +always @(posedge clk or negedge rst_n_sys) begin + if (!rst_n_sys) begin + col_cnt <= 16'd0; + row_cnt <= 16'd0; + frame_active <= 1'b0; + end else if (update_src_trig) begin + col_cnt <= 16'd0; + row_cnt <= 16'd0; + frame_active <= 1'b0; + end else if (ir_vs_sys && curr_state == S_WAIT_VS) begin + // WAIT_VS状态下,ir_vs_sys=1 → 激活frame_active + col_cnt <= 16'd0; + row_cnt <= 16'd0; + frame_active <= 1'b1; + end else if (curr_state == S_RECEIVE_DATA) begin + // RECEIVE_DATA状态下保持frame_active=1,直到帧结束 + frame_active <= 1'b1; + if (ir_valid_sys && !ir_vs_sys) begin + col_cnt <= col_cnt + 16'd1; + if (col_cnt == src_pixel_width - 16'd1) begin + col_cnt <= 16'd0; + row_cnt <= row_cnt + 16'd1; + if (row_cnt == src_pixel_height - 16'd1) begin + frame_active <= 1'b0; + end + end + end + end else begin + frame_active <= 1'b0; + end +end + +// 8. 状态机时序逻辑 +always @(posedge clk or negedge rst_n_sys) begin + if (!rst_n_sys) begin + curr_state <= S_IDLE; + end else begin + curr_state <= next_state; + end +end + +// 9. 状态机组合逻辑(状态转移) +always @(*) begin + next_state = curr_state; + case (curr_state) + S_IDLE: begin + // 等待IPA使能 + if (ipa_en && !update_src_trig) begin + next_state = S_WAIT_VS; + end + end + S_WAIT_VS: begin + // 等待帧起始(IR_VS) + if (ir_vs_sys) begin + next_state = S_RECEIVE_DATA; + end else if (update_src_trig) begin + next_state = S_IDLE; + end + end + S_RECEIVE_DATA: begin + // 接收数据:直到帧结束(行/列计数满) + if ((row_cnt == src_pixel_height-1'd1) && (col_cnt == src_pixel_width-1'd1)) begin + next_state = S_WRITE_FIFO; + end else if (update_src_trig) begin + next_state = S_IDLE; + end + end + S_WRITE_FIFO: begin + // 条件1:同步FIFO已空(数据已全部读出到AXI控制器),但AXI仍在忙碌 → 等待AXI完成 + if (sync_fifo_empty && axi_write_busy) begin + next_state = S_WAIT_AXI; + end + // 条件2:同步FIFO已空,且AXI已完成所有写操作 → 直接进入帧完成 + else if (sync_fifo_empty && !axi_write_busy) begin + next_state = S_FRAME_DONE; + end + // 条件3:收到更新触发 → 强制回到IDLE + else if (update_src_trig) begin + next_state = S_IDLE; + end + end + S_WAIT_AXI: begin + // AXI写完成后进入帧完成状态 + if (axi_write_done) begin + next_state = S_FRAME_DONE; + end + // 收到更新触发 → 强制回到IDLE + else if (update_src_trig) begin + next_state = S_IDLE; + end + end + S_FRAME_DONE: begin + // 帧完成:保持1拍后回到等待VS(支持连续帧) + if (src_image_cache_done) begin + next_state = S_WAIT_VS; + end else begin + next_state = S_FRAME_DONE; + end + end + endcase +end + +// 10. 状态机输出逻辑(控制各模块行为) +always @(posedge clk or negedge rst_n_sys) begin + if (!rst_n_sys) begin + src_image_cache_done <= 1'b0; + end else begin + src_image_cache_done <= 1'b0; + case (curr_state) + S_FRAME_DONE: begin + // 帧完成:置位缓存完成信号,并等待直方图计算完成 + src_image_cache_done <= hist_calc_done; + end + default: begin + src_image_cache_done <= 1'b0; + end + endcase + end +end + +always @(posedge clk or negedge rst_n_sys) begin + if (!rst_n_sys) begin + hist_calc_en <= 'd0; + end else begin + hist_calc_en <= (row_cnt == src_pixel_height-1'd1) && (col_cnt == src_pixel_width-1'd1); + end + +end + +// always @(posedge clk or negedge rst_n_sys) begin +// if (!rst_n_sys) begin +// assemble_en <= 'd0; +// end else begin +// assemble_en <= frame_active && ir_valid_sys && !ir_vs_sys; +// end + +// end +reg [1:0] flag_cnt; +always @(posedge clk or negedge rst_n_sys) begin + if (!rst_n_sys) begin + flag <= 'd0; + flag_cnt <='d0; + end else if (flag == 1'b1)begin + flag_cnt <= flag_cnt + 1'b1; + if (flag_cnt == 2'd2) begin + flag <= 'd0; + flag_cnt <='d0; + end + end else if (col_cnt == src_pixel_width-1'd1) begin + flag <= 1'b1; + end +end + + +endmodule \ No newline at end of file diff --git a/rtl/data_cache/histogram_ctrl.v b/rtl/data_cache/histogram_ctrl.v new file mode 100644 index 0000000..4df65ab --- /dev/null +++ b/rtl/data_cache/histogram_ctrl.v @@ -0,0 +1,231 @@ +module histogram_ctrl #( + parameter HIST_RAM_DEPTH = 256, + parameter HIST_RAM_DATA_W = 1 +) ( + input wire clk, + input wire rst_n, + input wire hist_rst, // 直方图复位 + input wire input_pixel_type, // 0=Gray,1=RGB + input wire hist_wr_en_ch0, // CH0写使能 + input wire [7:0] hist_wr_addr_ch0, // CH0写地址(像素值0~255) + input wire hist_wr_en_ch1, // CH1写使能 + input wire [7:0] hist_wr_addr_ch1, // CH1写地址 + input wire hist_wr_en_ch2, // CH2写使能 + input wire [7:0] hist_wr_addr_ch2, // CH2写地址 + input wire [15:0] histogram_low_num, // 低位数(计算min) + input wire [15:0] histogram_high_num,// 高位数(计算max) + input wire calc_en, // 计算使能 + output reg calc_done, // 计算完成 + output reg [7:0] dwidth_conv_min_ch0, + output reg [7:0] dwidth_conv_max_ch0, + output reg [7:0] dwidth_conv_min_ch1, + output reg [7:0] dwidth_conv_max_ch1, + output reg [7:0] dwidth_conv_min_ch2, + output reg [7:0] dwidth_conv_max_ch2 +); + +// 内部信号 +reg [HIST_RAM_DATA_W-1:0] hist_ram_ch0 [HIST_RAM_DEPTH-1:0]; // CH0直方图RAM +reg [HIST_RAM_DATA_W-1:0] hist_ram_ch1 [HIST_RAM_DEPTH-1:0]; // CH1直方图RAM +reg [HIST_RAM_DATA_W-1:0] hist_ram_ch2 [HIST_RAM_DEPTH-1:0]; // CH2直方图RAM +reg [7:0] calc_addr; // 遍历地址(0~255) +reg [15:0] low_cnt_ch0; // CH0低位数计数器 +reg [15:0] high_cnt_ch0; // CH0高位数计数器 +reg [15:0] low_cnt_ch1; // CH1低位数计数器 +reg [15:0] high_cnt_ch1; // CH1高位数计数器 +reg [15:0] low_cnt_ch2; // CH2低位数计数器 +reg [15:0] high_cnt_ch2; // CH2高位数计数器 +reg calc_active; // 计算活跃标记 + +// 状态定义 + +localparam [1:0] S_HIST_IDLE = 2'b00; +localparam [1:0] S_HIST_CLEAR = 2'b01; +localparam [1:0] S_HIST_WRITE = 2'b10; +localparam [1:0] S_HIST_CALC = 2'b11; + +reg [1:0] curr_hist_state; +reg [1:0] next_hist_state; + +// 1. 状态机时序逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + curr_hist_state <= S_HIST_IDLE; + end else begin + curr_hist_state <= next_hist_state; + end +end + +// 2. 状态机组合逻辑 +always @(*) begin + next_hist_state = curr_hist_state; + case (curr_hist_state) + S_HIST_IDLE: begin + if (hist_rst) begin + next_hist_state = S_HIST_CLEAR; + end else if (hist_wr_en_ch0 || hist_wr_en_ch1 || hist_wr_en_ch2) begin + next_hist_state = S_HIST_WRITE; + end else if (calc_en) begin + next_hist_state = S_HIST_CALC; + end + end + S_HIST_CLEAR: begin + if (calc_addr == HIST_RAM_DEPTH - 1) begin + next_hist_state = S_HIST_IDLE; + end + end + S_HIST_WRITE: begin + if (hist_rst) begin + next_hist_state = S_HIST_CLEAR; + end else if (calc_en) begin + next_hist_state = S_HIST_CALC; + end + end + S_HIST_CALC: begin + if (calc_addr == HIST_RAM_DEPTH - 1) begin + next_hist_state = S_HIST_IDLE; + end + end + endcase +end + +// 3. 直方图RAM复位/写逻辑 +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + // 复位所有RAM + integer i; + for (i = 0; i < HIST_RAM_DEPTH; i = i+1) begin + hist_ram_ch0[i] <= 1'b0; + hist_ram_ch1[i] <= 1'b0; + hist_ram_ch2[i] <= 1'b0; + end + calc_addr <= 8'd0; + end else begin + case (curr_hist_state) + S_HIST_CLEAR: begin + // 清空RAM(地址递增) + hist_ram_ch0[calc_addr] <= 1'b0; + hist_ram_ch1[calc_addr] <= 1'b0; + hist_ram_ch2[calc_addr] <= 1'b0; + calc_addr <= calc_addr + 8'd1; + end + S_HIST_WRITE: begin + // CH0写(始终有效) + if (hist_wr_en_ch0) begin + hist_ram_ch0[hist_wr_addr_ch0] <= 1'b1; // 标记像素值存在 + end + // CH1/CH2写(仅RGB模式有效) + if (hist_wr_en_ch1 && (input_pixel_type == 1'b1)) begin + hist_ram_ch1[hist_wr_addr_ch1] <= 1'b1; + end + if (hist_wr_en_ch2 && (input_pixel_type == 1'b1)) begin + hist_ram_ch2[hist_wr_addr_ch2] <= 1'b1; + end + calc_addr <= 8'd0; + end + S_HIST_CALC: begin + // 遍历地址递增 + calc_addr <= calc_addr + 8'd1; + end + default: begin + calc_addr <= 8'd0; + end + endcase + end +end + +// 4. 修复后的直方图min/max计算逻辑(关键修复点) +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + low_cnt_ch0 <= 16'd0; + high_cnt_ch0 <= 16'd0; + low_cnt_ch1 <= 16'd0; + high_cnt_ch1 <= 16'd0; + low_cnt_ch2 <= 16'd0; + high_cnt_ch2 <= 16'd0; + dwidth_conv_min_ch0 <= 8'd0; + dwidth_conv_max_ch0 <= 8'd255; + dwidth_conv_min_ch1 <= 8'd0; + dwidth_conv_max_ch1 <= 8'd255; + dwidth_conv_min_ch2 <= 8'd0; + dwidth_conv_max_ch2 <= 8'd255; + calc_done <= 1'b0; + calc_active <= 1'b0; + end else begin + calc_done <= 1'b0; + case (curr_hist_state) + S_HIST_CALC: begin + calc_active <= 1'b1; + // -------------------------- 关键修复1:计算开始时强制清零计数器 -------------------------- + if (calc_addr == 8'd0) begin // 遍历地址为0时(计算起始),清零所有计数器 + low_cnt_ch0 <= 16'd0; + high_cnt_ch0 <= 16'd0; + low_cnt_ch1 <= 16'd0; + high_cnt_ch1 <= 16'd0; + low_cnt_ch2 <= 16'd0; + high_cnt_ch2 <= 16'd0; + end + + // -------------------------- CH0计算 -------------------------- + // min:0→255遍历,找第histogram_low_num个1 + if (low_cnt_ch0 < histogram_low_num && hist_ram_ch0[calc_addr] == 1'b1) begin + low_cnt_ch0 <= low_cnt_ch0 + 16'd1; + if (low_cnt_ch0 == histogram_low_num - 16'd1) begin + dwidth_conv_min_ch0 <= calc_addr; + end + end + // max:255→0遍历,找第histogram_high_num个1 + if (high_cnt_ch0 < histogram_high_num && hist_ram_ch0[255 - calc_addr] == 1'b1) begin + high_cnt_ch0 <= high_cnt_ch0 + 16'd1; + if (high_cnt_ch0 == histogram_high_num - 16'd1) begin + dwidth_conv_max_ch0 <= 255 - calc_addr; + end + end + + // -------------------------- CH1计算(仅RGB模式) -------------------------- + if (input_pixel_type == 1'b1) begin + if (low_cnt_ch1 < histogram_low_num && hist_ram_ch1[calc_addr] == 1'b1) begin + low_cnt_ch1 <= low_cnt_ch1 + 16'd1; + if (low_cnt_ch1 == histogram_low_num - 16'd1) begin + dwidth_conv_min_ch1 <= calc_addr; + end + end + if (high_cnt_ch1 < histogram_high_num && hist_ram_ch1[255 - calc_addr] == 1'b1) begin + high_cnt_ch1 <= high_cnt_ch1 + 16'd1; + if (high_cnt_ch1 == histogram_high_num - 16'd1) begin + dwidth_conv_max_ch1 <= 255 - calc_addr; + end + end + end + + // -------------------------- CH2计算(仅RGB模式) -------------------------- + if (input_pixel_type == 1'b1) begin + if (low_cnt_ch2 < histogram_low_num && hist_ram_ch2[calc_addr] == 1'b1) begin + low_cnt_ch2 <= low_cnt_ch2 + 16'd1; + if (low_cnt_ch2 == histogram_low_num - 16'd1) begin + dwidth_conv_min_ch2 <= calc_addr; + end + end + if (high_cnt_ch2 < histogram_high_num && hist_ram_ch2[255 - calc_addr] == 1'b1) begin + high_cnt_ch2 <= high_cnt_ch2 + 16'd1; + if (high_cnt_ch2 == histogram_high_num - 16'd1) begin + dwidth_conv_max_ch2 <= 255 - calc_addr; + end + end + end + + // -------------------------- 遍历结束:置位完成信号 -------------------------- + if (calc_addr == HIST_RAM_DEPTH - 1) begin + calc_done <= 1'b1; + calc_active <= 1'b0; + end + end + default: begin + calc_active <= 1'b0; + calc_done <= 1'b0; + end + endcase + end +end + +endmodule \ No newline at end of file diff --git a/rtl/data_cache/rst_sync.v b/rtl/data_cache/rst_sync.v new file mode 100644 index 0000000..9b00a7c --- /dev/null +++ b/rtl/data_cache/rst_sync.v @@ -0,0 +1,27 @@ +module rst_sync #( + parameter SYNC_STAGE = 2 // 同步级数(推荐2级) +) ( + input wire clk, + input wire rst_n_in, + output reg rst_n_out +); + +reg [SYNC_STAGE-1:0] rst_sync_reg; + +always @(posedge clk or negedge rst_n_in) begin + if (!rst_n_in) begin + rst_sync_reg <= {SYNC_STAGE{1'b0}}; + end else begin + rst_sync_reg <= {rst_sync_reg[SYNC_STAGE-2:0], 1'b1}; + end +end + +always @(posedge clk or negedge rst_n_in) begin + if (!rst_n_in) begin + rst_n_out <= 1'b0; + end else begin + rst_n_out <= rst_sync_reg[SYNC_STAGE-1]; + end +end + +endmodule \ No newline at end of file diff --git a/rtl/data_cache/sync_fifo.v b/rtl/data_cache/sync_fifo.v new file mode 100644 index 0000000..5e644ad --- /dev/null +++ b/rtl/data_cache/sync_fifo.v @@ -0,0 +1,73 @@ +module sync_fifo #( + parameter DATA_WIDTH = 8, + parameter FIFO_DEPTH = 16 +)( + input clk, + input rst_n, + input wr_en, + input [DATA_WIDTH-1:0] wr_data, + output full, + input rd_en, + output [DATA_WIDTH-1:0] rd_data, + output empty +); + localparam ADDR_WIDTH = $clog2(FIFO_DEPTH); + reg [DATA_WIDTH-1:0] mem [0 : FIFO_DEPTH -1]; + reg [ADDR_WIDTH : 0] wr_ptr, rd_ptr; + wire [ADDR_WIDTH -1:0] wr_addr ,rd_addr; + + assign wr_addr = wr_ptr[ADDR_WIDTH -1:0]; + assign rd_addr = rd_ptr[ADDR_WIDTH -1:0]; + + always@(posedge clk or negedge rst_n) begin + if(!rst_n) begin + wr_ptr <= 'd0; + end else if(wr_en && !full) begin + wr_ptr <= wr_ptr + 1'b1; + end else begin + wr_ptr <= wr_ptr; + end + end + + always@(posedge clk or negedge rst_n) begin + if(!rst_n) begin + rd_ptr <= 'd0; + end else if(rd_en && !empty) begin + rd_ptr <= rd_ptr + 1'b1; + end else begin + rd_ptr <= rd_ptr; + + end + end + + integer i; + always@(posedge clk or negedge rst_n) begin + if(!rst_n) begin + for(i=0;i>rtl.f + find ../tb -name "*.v" >>tb.f +#------------------------------------------------------------------------------------------------------- +comp : clean vcs +#------------------------------------------------------------------------------------------------------- +vcs : + vcs \ + -f rtl.f \ + -f tb.f \ + -timescale=1ns/1ps \ + -full64 -R +vc +v2k -sverilog -debug_access+all\ + | tee vcs.log +#------------------------------------------------------------------------------------------------------- +verdi : + verdi -f rtl.f tb.f -ssf tb.fsdb & +#------------------------------------------------------------------------------------------------------- +clean : + rm -rf *~ *.f core csrc simv* vc_hdrs.h ucli.key urg* *.log novas.* *.fsdb* verdiLog 64* DVEfiles *.vpd +#------------------------------------------------------------------------------------------------------- diff --git a/sim/csrc/Makefile b/sim/csrc/Makefile new file mode 100644 index 0000000..9e1ccbe --- /dev/null +++ b/sim/csrc/Makefile @@ -0,0 +1,116 @@ +# Makefile generated by VCS to build your model +# This file may be modified; VCS will not overwrite it unless -Mupdate is used + +# define default verilog source directory +VSRC=.. + +# Override TARGET_ARCH +TARGET_ARCH= + +# Choose name of executable +PRODUCTBASE=$(VSRC)/simv + +PRODUCT=$(PRODUCTBASE) + +# Product timestamp file. If product is newer than this one, +# we will also re-link the product. +PRODUCT_TIMESTAMP=product_timestamp + +# Path to runtime library +DEPLIBS= +VCSUCLI=-lvcsucli +RUNTIME=-lvcsnew -lsimprofile -luclinative /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcs_tls.o $(DEPLIBS) + +VCS_SAVE_RESTORE_OBJ=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcs_save_restore_new.o + +# Select your favorite compiler + +# Linux: +VCS_CC=gcc + +# Internal CC for gen_c flow: +CC_CG=gcc +# User overrode default CC: +VCS_CC=gcc +# Loader +LD=g++ + +# Strip Flags for target product +STRIPFLAGS= + +PRE_LDFLAGS= # Loader Flags +LDFLAGS= -rdynamic -Wl,-rpath=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib -L/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib +# Picarchive Flags +PICLDFLAGS=-Wl,-rpath-link=./ -Wl,-rpath='$$ORIGIN'/simv.daidir/ -Wl,-rpath=./simv.daidir/ -Wl,-rpath='$$ORIGIN'/simv.daidir//scsim.db.dir + +# C run time startup +CRT0= +# C run time startup +CRTN= +# Machine specific libraries +SYSLIBS=/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lc -lm -lpthread -ldl + +# Default defines +SHELL=/bin/sh + +VCSTMPSPECARG= +VCSTMPSPECENV= +# NOTE: if you have little space in $TMPDIR, but plenty in /foo, +#and you are using gcc, uncomment the next line +#VCSTMPSPECENV=SNPS_VCS_TMPDIR=/foo + +TMPSPECARG=$(VCSTMPSPECARG) +TMPSPECENV=$(VCSTMPSPECENV) +CC=$(TMPSPECENV) $(VCS_CC) $(TMPSPECARG) + +# C flags for compilation +CFLAGS=-w -pipe -fPIC -O -I/home/synopsys/vcs-mx/O-2018.09-1/include + +CFLAGS_O0=-w -pipe -fPIC -I/home/synopsys/vcs-mx/O-2018.09-1/include -O0 -fno-strict-aliasing + +CFLAGS_CG=-w -pipe -fPIC -I/home/synopsys/vcs-mx/O-2018.09-1/include -O -fno-strict-aliasing + +LD_PARTIAL_LOADER=ld +# Partial linking +LD_PARTIAL=$(LD_PARTIAL_LOADER) -r -o +ASFLAGS= +LIBS=-lzerosoft_rt_stubs -lvirsim -lerrorinf -lsnpsmalloc -lvfs +# Note: if make gives you errors about include, either get gmake, or +# replace the following line with the contents of the file filelist, +# EACH TIME IT CHANGES +# included file defines OBJS, and is automatically generated by vcs +include filelist + +OBJS=$(VLOG_OBJS) $(SYSC_OBJS) $(VHDL_OBJS) + +product : $(PRODUCT_TIMESTAMP) + @echo $(PRODUCT) up to date + +objects : $(OBJS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) + +clean : + rm -f $(VCS_OBJS) $(CU_OBJS) + +clobber : clean + rm -f $(PRODUCT) $(PRODUCT_TIMESTAMP) + +picclean : + rm -f _csrc*.so pre_vcsobj_*.so share_vcsobj_*.so + @rm -f $(PRODUCT).daidir/_[0-9]*_archive_*.so 2>/dev/null + +product_clean_order : + @$(MAKE) -f Makefile --no-print-directory picclean + @$(MAKE) -f Makefile --no-print-directory product_order + +product_order : $(PRODUCT) + +$(PRODUCT_TIMESTAMP) : product_clean_order + -if [ -x $(PRODUCT) ]; then chmod -x $(PRODUCT); fi + $(LD) $(CRT0) -o $(PRODUCT) $(PRE_LDFLAGS) $(STRIPFLAGS) $(PCLDFLAGS) $(PICLDFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) $(RUNTIME) -Wl,-whole-archive $(VCSUCLI) -Wl,-no-whole-archive $(LINK_TB) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) $(VCS_SAVE_RESTORE_OBJ) $(SYSLIBS) $(CRTN) + @rm -f csrc[0-9]*.o + @touch $(PRODUCT_TIMESTAMP) + @-if [ -d ./objs ]; then find ./objs -type d -empty -delete; fi + +$(PRODUCT) : $(LD_VERSION_CHECK) $(OBJS) $(DOTLIBS) $(DPI_STUB_OBJS) $(PLI_STUB_OBJS) $(CMODLIB) /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvcsnew.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libsimprofile.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libuclinative.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcs_tls.o /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvcsucli.so $(VCS_SAVE_RESTORE_OBJ) + @touch $(PRODUCT) + diff --git a/sim/csrc/Makefile.hsopt b/sim/csrc/Makefile.hsopt new file mode 100644 index 0000000..445b794 --- /dev/null +++ b/sim/csrc/Makefile.hsopt @@ -0,0 +1,47 @@ +# Makefile generated by VCS to build rmapats.so for your model +VSRC=.. + +# Override TARGET_ARCH +TARGET_ARCH= + +# Select your favorite compiler + +# Linux: +VCS_CC=gcc + +# Internal CC for gen_c flow: +CC_CG=gcc + +# User overrode default CC: +VCS_CC=gcc +# Loader +LD=g++ +# Loader Flags +LDFLAGS= + +# Default defines +SHELL=/bin/sh + +VCSTMPSPECARG= +VCSTMPSPECENV= +# NOTE: if you have little space in $TMPDIR, but plenty in /foo, +#and you are using gcc, uncomment the next line +#VCSTMPSPECENV=SNPS_VCS_TMPDIR=/foo + +TMPSPECARG=$(VCSTMPSPECARG) +TMPSPECENV=$(VCSTMPSPECENV) +CC=$(TMPSPECENV) $(VCS_CC) $(TMPSPECARG) + +# C flags for compilation +CFLAGS=-w -pipe -fPIC -O -I/home/synopsys/vcs-mx/O-2018.09-1/include + +CFLAGS_CG=-w -pipe -fPIC -I/home/synopsys/vcs-mx/O-2018.09-1/include -O -fno-strict-aliasing + +ASFLAGS= +LIBS= + +include filelist.hsopt + + +rmapats.so: $(HSOPT_OBJS) + @$(VCS_CC) $(LDFLAGS) $(LIBS) -shared -o ./../simv.daidir/rmapats.so $(HSOPT_OBJS) diff --git a/sim/csrc/SIM_l.o b/sim/csrc/SIM_l.o new file mode 100644 index 0000000000000000000000000000000000000000..220c622a1f2f90412af487096057750280d7d3da GIT binary patch literal 634 zcmb<-^>JfjWMqH=Mg}_u1P><4!0-#fWN-kp9T?a^D)ovpic5-05|e-|7+skQ<`)#@ zr)B1)G3ccvmLxJT0qJFd@+F|OG*leQg;V?B bEK~-%{VG6dkQlljVEQ?r+F|lAKFm}AOG_M5 literal 0 HcmV?d00001 diff --git a/sim/csrc/_16331_archive_1.so b/sim/csrc/_16331_archive_1.so new file mode 120000 index 0000000..b1379c8 --- /dev/null +++ b/sim/csrc/_16331_archive_1.so @@ -0,0 +1 @@ +.//../simv.daidir//_16331_archive_1.so \ No newline at end of file diff --git a/sim/csrc/_vcs_pli_stub_.c b/sim/csrc/_vcs_pli_stub_.c new file mode 100644 index 0000000..e4d8eaa --- /dev/null +++ b/sim/csrc/_vcs_pli_stub_.c @@ -0,0 +1,964 @@ +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +extern void* VCS_dlsymLookup(const char *); +extern void vcsMsgReportNoSource1(const char *, const char*); + +/* PLI routine: $fsdbDumpvars:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpvars +#define __VCS_PLI_STUB_novas_call_fsdbDumpvars +extern void novas_call_fsdbDumpvars(int data, int reason); +#pragma weak novas_call_fsdbDumpvars +void novas_call_fsdbDumpvars(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpvars"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpvars"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpvars"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpvars)(int data, int reason) = novas_call_fsdbDumpvars; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpvars */ + +/* PLI routine: $fsdbDumpvars:misc */ +#ifndef __VCS_PLI_STUB_novas_misc +#define __VCS_PLI_STUB_novas_misc +extern void novas_misc(int data, int reason, int iparam ); +#pragma weak novas_misc +void novas_misc(int data, int reason, int iparam ) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason, int iparam ) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason, int iparam )) dlsym(RTLD_NEXT, "novas_misc"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason, int iparam )) VCS_dlsymLookup("novas_misc"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason, iparam ); + } +} +void (*__vcs_pli_dummy_reference_novas_misc)(int data, int reason, int iparam ) = novas_misc; +#endif /* __VCS_PLI_STUB_novas_misc */ + +/* PLI routine: $fsdbDumpvarsByFile:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile +#define __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile +extern void novas_call_fsdbDumpvarsByFile(int data, int reason); +#pragma weak novas_call_fsdbDumpvarsByFile +void novas_call_fsdbDumpvarsByFile(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpvarsByFile"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpvarsByFile"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpvarsByFile"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpvarsByFile)(int data, int reason) = novas_call_fsdbDumpvarsByFile; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpvarsByFile */ + +/* PLI routine: $fsdbAddRuntimeSignal:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal +#define __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal +extern void novas_call_fsdbAddRuntimeSignal(int data, int reason); +#pragma weak novas_call_fsdbAddRuntimeSignal +void novas_call_fsdbAddRuntimeSignal(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbAddRuntimeSignal"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbAddRuntimeSignal"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbAddRuntimeSignal"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbAddRuntimeSignal)(int data, int reason) = novas_call_fsdbAddRuntimeSignal; +#endif /* __VCS_PLI_STUB_novas_call_fsdbAddRuntimeSignal */ + +/* PLI routine: $sps_create_transaction_stream:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_create_transaction_stream +#define __VCS_PLI_STUB_novas_call_sps_create_transaction_stream +extern void novas_call_sps_create_transaction_stream(int data, int reason); +#pragma weak novas_call_sps_create_transaction_stream +void novas_call_sps_create_transaction_stream(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_create_transaction_stream"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_create_transaction_stream"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_create_transaction_stream"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_create_transaction_stream)(int data, int reason) = novas_call_sps_create_transaction_stream; +#endif /* __VCS_PLI_STUB_novas_call_sps_create_transaction_stream */ + +/* PLI routine: $sps_begin_transaction:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_begin_transaction +#define __VCS_PLI_STUB_novas_call_sps_begin_transaction +extern void novas_call_sps_begin_transaction(int data, int reason); +#pragma weak novas_call_sps_begin_transaction +void novas_call_sps_begin_transaction(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_begin_transaction"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_begin_transaction"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_begin_transaction"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_begin_transaction)(int data, int reason) = novas_call_sps_begin_transaction; +#endif /* __VCS_PLI_STUB_novas_call_sps_begin_transaction */ + +/* PLI routine: $sps_end_transaction:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_end_transaction +#define __VCS_PLI_STUB_novas_call_sps_end_transaction +extern void novas_call_sps_end_transaction(int data, int reason); +#pragma weak novas_call_sps_end_transaction +void novas_call_sps_end_transaction(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_end_transaction"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_end_transaction"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_end_transaction"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_end_transaction)(int data, int reason) = novas_call_sps_end_transaction; +#endif /* __VCS_PLI_STUB_novas_call_sps_end_transaction */ + +/* PLI routine: $sps_free_transaction:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_free_transaction +#define __VCS_PLI_STUB_novas_call_sps_free_transaction +extern void novas_call_sps_free_transaction(int data, int reason); +#pragma weak novas_call_sps_free_transaction +void novas_call_sps_free_transaction(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_free_transaction"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_free_transaction"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_free_transaction"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_free_transaction)(int data, int reason) = novas_call_sps_free_transaction; +#endif /* __VCS_PLI_STUB_novas_call_sps_free_transaction */ + +/* PLI routine: $sps_add_attribute:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_add_attribute +#define __VCS_PLI_STUB_novas_call_sps_add_attribute +extern void novas_call_sps_add_attribute(int data, int reason); +#pragma weak novas_call_sps_add_attribute +void novas_call_sps_add_attribute(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_add_attribute"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_add_attribute"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_add_attribute"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_add_attribute)(int data, int reason) = novas_call_sps_add_attribute; +#endif /* __VCS_PLI_STUB_novas_call_sps_add_attribute */ + +/* PLI routine: $sps_update_label:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_update_label +#define __VCS_PLI_STUB_novas_call_sps_update_label +extern void novas_call_sps_update_label(int data, int reason); +#pragma weak novas_call_sps_update_label +void novas_call_sps_update_label(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_update_label"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_update_label"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_update_label"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_update_label)(int data, int reason) = novas_call_sps_update_label; +#endif /* __VCS_PLI_STUB_novas_call_sps_update_label */ + +/* PLI routine: $sps_add_relation:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_add_relation +#define __VCS_PLI_STUB_novas_call_sps_add_relation +extern void novas_call_sps_add_relation(int data, int reason); +#pragma weak novas_call_sps_add_relation +void novas_call_sps_add_relation(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_add_relation"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_add_relation"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_add_relation"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_add_relation)(int data, int reason) = novas_call_sps_add_relation; +#endif /* __VCS_PLI_STUB_novas_call_sps_add_relation */ + +/* PLI routine: $fsdbWhatif:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbWhatif +#define __VCS_PLI_STUB_novas_call_fsdbWhatif +extern void novas_call_fsdbWhatif(int data, int reason); +#pragma weak novas_call_fsdbWhatif +void novas_call_fsdbWhatif(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbWhatif"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbWhatif"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbWhatif"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbWhatif)(int data, int reason) = novas_call_fsdbWhatif; +#endif /* __VCS_PLI_STUB_novas_call_fsdbWhatif */ + +/* PLI routine: $paa_init:call */ +#ifndef __VCS_PLI_STUB_novas_call_paa_init +#define __VCS_PLI_STUB_novas_call_paa_init +extern void novas_call_paa_init(int data, int reason); +#pragma weak novas_call_paa_init +void novas_call_paa_init(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_paa_init"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_paa_init"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_paa_init"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_paa_init)(int data, int reason) = novas_call_paa_init; +#endif /* __VCS_PLI_STUB_novas_call_paa_init */ + +/* PLI routine: $paa_sync:call */ +#ifndef __VCS_PLI_STUB_novas_call_paa_sync +#define __VCS_PLI_STUB_novas_call_paa_sync +extern void novas_call_paa_sync(int data, int reason); +#pragma weak novas_call_paa_sync +void novas_call_paa_sync(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_paa_sync"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_paa_sync"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_paa_sync"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_paa_sync)(int data, int reason) = novas_call_paa_sync; +#endif /* __VCS_PLI_STUB_novas_call_paa_sync */ + +/* PLI routine: $fsdbDumpClassMethod:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod +#define __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod +extern void novas_call_fsdbDumpClassMethod(int data, int reason); +#pragma weak novas_call_fsdbDumpClassMethod +void novas_call_fsdbDumpClassMethod(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassMethod"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassMethod"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassMethod"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassMethod)(int data, int reason) = novas_call_fsdbDumpClassMethod; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassMethod */ + +/* PLI routine: $fsdbSuppressClassMethod:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod +#define __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod +extern void novas_call_fsdbSuppressClassMethod(int data, int reason); +#pragma weak novas_call_fsdbSuppressClassMethod +void novas_call_fsdbSuppressClassMethod(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbSuppressClassMethod"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbSuppressClassMethod"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbSuppressClassMethod"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbSuppressClassMethod)(int data, int reason) = novas_call_fsdbSuppressClassMethod; +#endif /* __VCS_PLI_STUB_novas_call_fsdbSuppressClassMethod */ + +/* PLI routine: $fsdbSuppressClassProp:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp +#define __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp +extern void novas_call_fsdbSuppressClassProp(int data, int reason); +#pragma weak novas_call_fsdbSuppressClassProp +void novas_call_fsdbSuppressClassProp(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbSuppressClassProp"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbSuppressClassProp"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbSuppressClassProp"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbSuppressClassProp)(int data, int reason) = novas_call_fsdbSuppressClassProp; +#endif /* __VCS_PLI_STUB_novas_call_fsdbSuppressClassProp */ + +/* PLI routine: $fsdbDumpMDAByFile:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile +#define __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile +extern void novas_call_fsdbDumpMDAByFile(int data, int reason); +#pragma weak novas_call_fsdbDumpMDAByFile +void novas_call_fsdbDumpMDAByFile(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpMDAByFile"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpMDAByFile"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpMDAByFile"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpMDAByFile)(int data, int reason) = novas_call_fsdbDumpMDAByFile; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpMDAByFile */ + +/* PLI routine: $fsdbTrans_create_stream_begin:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin +#define __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin +extern void novas_call_fsdbEvent_create_stream_begin(int data, int reason); +#pragma weak novas_call_fsdbEvent_create_stream_begin +void novas_call_fsdbEvent_create_stream_begin(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_create_stream_begin"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_create_stream_begin"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_create_stream_begin"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_create_stream_begin)(int data, int reason) = novas_call_fsdbEvent_create_stream_begin; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_begin */ + +/* PLI routine: $fsdbTrans_define_attribute:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute +#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute +extern void novas_call_fsdbEvent_add_stream_attribute(int data, int reason); +#pragma weak novas_call_fsdbEvent_add_stream_attribute +void novas_call_fsdbEvent_add_stream_attribute(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_stream_attribute"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_stream_attribute"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_stream_attribute"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_stream_attribute)(int data, int reason) = novas_call_fsdbEvent_add_stream_attribute; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_stream_attribute */ + +/* PLI routine: $fsdbTrans_create_stream_end:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end +#define __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end +extern void novas_call_fsdbEvent_create_stream_end(int data, int reason); +#pragma weak novas_call_fsdbEvent_create_stream_end +void novas_call_fsdbEvent_create_stream_end(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_create_stream_end"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_create_stream_end"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_create_stream_end"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_create_stream_end)(int data, int reason) = novas_call_fsdbEvent_create_stream_end; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_create_stream_end */ + +/* PLI routine: $fsdbTrans_begin:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_begin +#define __VCS_PLI_STUB_novas_call_fsdbEvent_begin +extern void novas_call_fsdbEvent_begin(int data, int reason); +#pragma weak novas_call_fsdbEvent_begin +void novas_call_fsdbEvent_begin(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_begin"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_begin"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_begin"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_begin)(int data, int reason) = novas_call_fsdbEvent_begin; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_begin */ + +/* PLI routine: $fsdbTrans_set_label:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_set_label +#define __VCS_PLI_STUB_novas_call_fsdbEvent_set_label +extern void novas_call_fsdbEvent_set_label(int data, int reason); +#pragma weak novas_call_fsdbEvent_set_label +void novas_call_fsdbEvent_set_label(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_set_label"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_set_label"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_set_label"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_set_label)(int data, int reason) = novas_call_fsdbEvent_set_label; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_set_label */ + +/* PLI routine: $fsdbTrans_add_attribute:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute +#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute +extern void novas_call_fsdbEvent_add_attribute(int data, int reason); +#pragma weak novas_call_fsdbEvent_add_attribute +void novas_call_fsdbEvent_add_attribute(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_attribute"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_attribute"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_attribute"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_attribute)(int data, int reason) = novas_call_fsdbEvent_add_attribute; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_attribute */ + +/* PLI routine: $fsdbTrans_add_tag:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag +#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag +extern void novas_call_fsdbEvent_add_tag(int data, int reason); +#pragma weak novas_call_fsdbEvent_add_tag +void novas_call_fsdbEvent_add_tag(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_tag"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_tag"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_tag"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_tag)(int data, int reason) = novas_call_fsdbEvent_add_tag; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_tag */ + +/* PLI routine: $fsdbTrans_end:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_end +#define __VCS_PLI_STUB_novas_call_fsdbEvent_end +extern void novas_call_fsdbEvent_end(int data, int reason); +#pragma weak novas_call_fsdbEvent_end +void novas_call_fsdbEvent_end(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_end"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_end"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_end"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_end)(int data, int reason) = novas_call_fsdbEvent_end; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_end */ + +/* PLI routine: $fsdbTrans_add_relation:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation +#define __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation +extern void novas_call_fsdbEvent_add_relation(int data, int reason); +#pragma weak novas_call_fsdbEvent_add_relation +void novas_call_fsdbEvent_add_relation(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_add_relation"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_add_relation"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_add_relation"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_add_relation)(int data, int reason) = novas_call_fsdbEvent_add_relation; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_add_relation */ + +/* PLI routine: $fsdbTrans_get_error_code:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code +#define __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code +extern void novas_call_fsdbEvent_get_error_code(int data, int reason); +#pragma weak novas_call_fsdbEvent_get_error_code +void novas_call_fsdbEvent_get_error_code(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbEvent_get_error_code"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbEvent_get_error_code"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbEvent_get_error_code"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbEvent_get_error_code)(int data, int reason) = novas_call_fsdbEvent_get_error_code; +#endif /* __VCS_PLI_STUB_novas_call_fsdbEvent_get_error_code */ + +/* PLI routine: $fsdbTrans_add_stream_attribute:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute +#define __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute +extern void novas_call_fsdbTrans_add_stream_attribute(int data, int reason); +#pragma weak novas_call_fsdbTrans_add_stream_attribute +void novas_call_fsdbTrans_add_stream_attribute(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbTrans_add_stream_attribute"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbTrans_add_stream_attribute"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbTrans_add_stream_attribute"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbTrans_add_stream_attribute)(int data, int reason) = novas_call_fsdbTrans_add_stream_attribute; +#endif /* __VCS_PLI_STUB_novas_call_fsdbTrans_add_stream_attribute */ + +/* PLI routine: $fsdbTrans_add_scope_attribute:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute +#define __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute +extern void novas_call_fsdbTrans_add_scope_attribute(int data, int reason); +#pragma weak novas_call_fsdbTrans_add_scope_attribute +void novas_call_fsdbTrans_add_scope_attribute(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbTrans_add_scope_attribute"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbTrans_add_scope_attribute"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbTrans_add_scope_attribute"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbTrans_add_scope_attribute)(int data, int reason) = novas_call_fsdbTrans_add_scope_attribute; +#endif /* __VCS_PLI_STUB_novas_call_fsdbTrans_add_scope_attribute */ + +/* PLI routine: $sps_interactive:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_interactive +#define __VCS_PLI_STUB_novas_call_sps_interactive +extern void novas_call_sps_interactive(int data, int reason); +#pragma weak novas_call_sps_interactive +void novas_call_sps_interactive(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_interactive"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_interactive"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_interactive"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_interactive)(int data, int reason) = novas_call_sps_interactive; +#endif /* __VCS_PLI_STUB_novas_call_sps_interactive */ + +/* PLI routine: $sps_test:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_test +#define __VCS_PLI_STUB_novas_call_sps_test +extern void novas_call_sps_test(int data, int reason); +#pragma weak novas_call_sps_test +void novas_call_sps_test(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_test"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_test"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_test"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_test)(int data, int reason) = novas_call_sps_test; +#endif /* __VCS_PLI_STUB_novas_call_sps_test */ + +/* PLI routine: $fsdbDumpClassObject:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassObject +#define __VCS_PLI_STUB_novas_call_fsdbDumpClassObject +extern void novas_call_fsdbDumpClassObject(int data, int reason); +#pragma weak novas_call_fsdbDumpClassObject +void novas_call_fsdbDumpClassObject(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassObject"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassObject"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassObject"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassObject)(int data, int reason) = novas_call_fsdbDumpClassObject; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassObject */ + +/* PLI routine: $fsdbDumpClassObjectByFile:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile +#define __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile +extern void novas_call_fsdbDumpClassObjectByFile(int data, int reason); +#pragma weak novas_call_fsdbDumpClassObjectByFile +void novas_call_fsdbDumpClassObjectByFile(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpClassObjectByFile"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpClassObjectByFile"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpClassObjectByFile"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpClassObjectByFile)(int data, int reason) = novas_call_fsdbDumpClassObjectByFile; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpClassObjectByFile */ + +/* PLI routine: $ridbDump:call */ +#ifndef __VCS_PLI_STUB_novas_call_ridbDump +#define __VCS_PLI_STUB_novas_call_ridbDump +extern void novas_call_ridbDump(int data, int reason); +#pragma weak novas_call_ridbDump +void novas_call_ridbDump(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_ridbDump"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_ridbDump"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_ridbDump"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_ridbDump)(int data, int reason) = novas_call_ridbDump; +#endif /* __VCS_PLI_STUB_novas_call_ridbDump */ + +/* PLI routine: $sps_flush_file:call */ +#ifndef __VCS_PLI_STUB_novas_call_sps_flush_file +#define __VCS_PLI_STUB_novas_call_sps_flush_file +extern void novas_call_sps_flush_file(int data, int reason); +#pragma weak novas_call_sps_flush_file +void novas_call_sps_flush_file(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_sps_flush_file"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_sps_flush_file"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_sps_flush_file"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_sps_flush_file)(int data, int reason) = novas_call_sps_flush_file; +#endif /* __VCS_PLI_STUB_novas_call_sps_flush_file */ + +/* PLI routine: $fsdbDumpSingle:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpSingle +#define __VCS_PLI_STUB_novas_call_fsdbDumpSingle +extern void novas_call_fsdbDumpSingle(int data, int reason); +#pragma weak novas_call_fsdbDumpSingle +void novas_call_fsdbDumpSingle(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpSingle"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpSingle"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpSingle"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpSingle)(int data, int reason) = novas_call_fsdbDumpSingle; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpSingle */ + +/* PLI routine: $fsdbDumpIO:call */ +#ifndef __VCS_PLI_STUB_novas_call_fsdbDumpIO +#define __VCS_PLI_STUB_novas_call_fsdbDumpIO +extern void novas_call_fsdbDumpIO(int data, int reason); +#pragma weak novas_call_fsdbDumpIO +void novas_call_fsdbDumpIO(int data, int reason) +{ + static int _vcs_pli_stub_initialized_ = 0; + static void (*_vcs_pli_fp_)(int data, int reason) = NULL; + if (!_vcs_pli_stub_initialized_) { + _vcs_pli_stub_initialized_ = 1; + _vcs_pli_fp_ = (void (*)(int data, int reason)) dlsym(RTLD_NEXT, "novas_call_fsdbDumpIO"); + if (_vcs_pli_fp_ == NULL) { + _vcs_pli_fp_ = (void (*)(int data, int reason)) VCS_dlsymLookup("novas_call_fsdbDumpIO"); + } + } + if (_vcs_pli_fp_) { + _vcs_pli_fp_(data, reason); + } else { + vcsMsgReportNoSource1("PLI-DIFNF", "novas_call_fsdbDumpIO"); + } +} +void (*__vcs_pli_dummy_reference_novas_call_fsdbDumpIO)(int data, int reason) = novas_call_fsdbDumpIO; +#endif /* __VCS_PLI_STUB_novas_call_fsdbDumpIO */ + +#ifdef __cplusplus +} +#endif diff --git a/sim/csrc/_vcs_pli_stub_.o b/sim/csrc/_vcs_pli_stub_.o new file mode 100644 index 0000000000000000000000000000000000000000..7927935c57aee37f8abf6ae68b875d307c9fe183 GIT binary patch literal 32032 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 literal 0 HcmV?d00001 diff --git a/sim/csrc/archive.0/_16331_archive_1.a b/sim/csrc/archive.0/_16331_archive_1.a new file mode 100644 index 0000000000000000000000000000000000000000..beff135a3881a88cec6ce7104bfbda2cb87c38f0 GIT binary patch literal 404786 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

UG5Bkn3IKH05M`c439Kr`$ry7nwNa8~+DFs|o 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

?mLSa3syf?lw2o+te{+P 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 LF#UPt+W!9^-q(Dn literal 0 HcmV?d00001 diff --git a/sim/csrc/archive.0/_16331_archive_1.a.info b/sim/csrc/archive.0/_16331_archive_1.a.info new file mode 100644 index 0000000..d1ab9e4 --- /dev/null +++ b/sim/csrc/archive.0/_16331_archive_1.a.info @@ -0,0 +1,3 @@ +reYIK_d.o +EULYA_d.o +amcQwB.o diff --git a/sim/csrc/cgincr.sdb b/sim/csrc/cgincr.sdb new file mode 100644 index 0000000000000000000000000000000000000000..15b8ca0008081a89f8907e36bd9402b15cfb41ab GIT binary patch literal 3504 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 DPs%+Z literal 0 HcmV?d00001 diff --git a/sim/csrc/cginfo.json b/sim/csrc/cginfo.json new file mode 100644 index 0000000..167fc3b --- /dev/null +++ b/sim/csrc/cginfo.json @@ -0,0 +1,350 @@ +{ + "cpu_cycles_pass2_start": 45448695155550, + "PEModules": [], + "rlimit": { + "data": -1, + "stack": -1 + }, + "cycles_program_begin": 45448290911142, + "PrevCompiledModules": {}, + "CurCompileUdps": {}, + "perf": [ + { + "stat": [ + "main", + "entry", + 0.021094083786010742, + 0.046309999999999997, + 0.016108000000000001, + 211380, + 211380, + 0.0, + 0.0, + 1756197955.728925, + 45448291181971 + ], + "sub": [ + { + "stat": [ + "doParsingAndDesignResolution", + "entry", + 0.041102170944213867, + 0.051603000000000003, + 0.024726000000000001, + 267272, + 268072, + 0.0, + 0.0, + 1756197955.7489331, + 45448327167267 + ], + "sub": [] + }, + { + "stat": [ + "doParsingAndDesignResolution", + "exit", + 0.060034036636352539, + 0.068806999999999993, + 0.026464000000000001, + 268496, + 269144, + 0.0, + 0.0, + 1756197955.7678649, + 45448361287035 + ], + "sub": [] + }, + { + "stat": [ + "doPostDesignResolutionToVir2Vcs", + "entry", + 0.061084985733032227, + 0.069100999999999996, + 0.027220999999999999, + 268496, + 269144, + 0.0, + 0.0, + 1756197955.7689159, + 45448363148795 + ], + "sub": [ + { + "stat": [ + "doUptoVir2VcsNoSepCleanup", + "entry", + 0.074229001998901367, + 0.079996999999999999, + 0.029472000000000002, + 269608, + 269612, + 0.0, + 0.0, + 1756197955.7820599, + 45448386873357 + ], + "sub": [] + }, + { + "stat": [ + "doUptoVir2VcsNoSepCleanup", + "exit", + 0.19600415229797363, + 0.13907700000000001, + 0.051239, + 271472, + 283820, + 0.0059670000000000001, + 0.034832000000000002, + 1756197955.9038351, + 45448606168370 + ], + "sub": [] + }, + { + "stat": [ + "doRadify_vir2vcsAll", + "entry", + 0.19611406326293945, + 0.139158, + 0.051269000000000002, + 271472, + 283820, + 0.0059670000000000001, + 0.034832000000000002, + 1756197955.903945, + 45448606320154 + ], + "sub": [] + }, + { + "stat": [ + "doRadify_vir2vcsAll", + "exit", + 0.20636320114135742, + 0.147649, + 0.053029, + 272676, + 283820, + 0.0059670000000000001, + 0.034832000000000002, + 1756197955.9141941, + 45448624886998 + ], + "sub": [] + } + ] + }, + { + "stat": [ + "doPostDesignResolutionToVir2Vcs", + "exit", + 0.20646810531616211, + 0.147729, + 0.053057, + 272676, + 283820, + 0.0059670000000000001, + 0.034832000000000002, + 1756197955.914299, + 45448624978062 + ], + "sub": [] + }, + { + "stat": [ + "doGAToPass2", + "entry", + 0.20652103424072266, + 0.14776800000000001, + 0.053071, + 272676, + 283820, + 0.0059670000000000001, + 0.034832000000000002, + 1756197955.9143519, + 45448625073063 + ], + "sub": [ + { + "stat": [ + "DoPass2", + "entry", + 0.24538707733154297, + 0.14907799999999999, + 0.056294999999999998, + 271120, + 283820, + 0.0189, + 0.057668999999999998, + 1756197955.953218, + 45448695143967 + ], + "sub": [] + }, + { + "stat": [ + "DoPass2", + "exit", + 0.42847418785095215, + 0.31499300000000002, + 0.073566999999999994, + 285232, + 285260, + 0.0189, + 0.057668999999999998, + 1756197956.1363051, + 45449024799828 + ], + "sub": [] + } + ] + }, + { + "stat": [ + "doGAToPass2", + "exit", + 0.43257713317871094, + 0.31767400000000001, + 0.074746000000000007, + 285232, + 285260, + 0.0189, + 0.057668999999999998, + 1756197956.140408, + 45449032197193 + ], + "sub": [] + } + ] + }, + { + "stat": [ + "main", + "exit", + 0.43307614326477051, + 0.31807800000000003, + 0.074842000000000006, + 285224, + 285260, + 0.0189, + 0.057668999999999998, + 1756197956.140907, + 45449033076874 + ], + "sub": [] + } + ], + "MlibObjs": {}, + "NameTable": { + "std": [ + "std", + "reYIK", + "module", + 1 + ], + "...MASTER...": [ + "SIM", + "amcQw", + "module", + 3 + ], + "tb_data_cache": [ + "tb_data_cache", + "EULYA", + "module", + 2 + ] + }, + "CompileStrategy": "fullobj", + "stat": { + "Frontend(%)": 49.865292291989341, + "ru_childs_end": { + "ru_utime_sec": 0.0189, + "ru_nvcsw": 26, + "ru_minflt": 10715, + "ru_stime_sec": 0.057668999999999998, + "ru_maxrss_kb": 25896, + "ru_majflt": 0, + "ru_nivcsw": 24 + }, + "ru_self_cgstart": { + "ru_utime_sec": 0.14915900000000001, + "ru_nvcsw": 30, + "ru_minflt": 26649, + "ru_stime_sec": 0.056326000000000001, + "ru_maxrss_kb": 78204, + "ru_majflt": 0, + "ru_nivcsw": 4 + }, + "totalObjSize": 405560, + "peak_mem_kb": 285260, + "cpu_cycles_cgstart": 45448695212266, + "realTime": 0.43317604064941406, + "outputSizePerQuad": 60.486204325130501, + "ru_childs_cgstart": { + "ru_utime_sec": 0.0189, + "ru_nvcsw": 26, + "ru_minflt": 10715, + "ru_stime_sec": 0.057668999999999998, + "ru_maxrss_kb": 25896, + "ru_majflt": 0, + "ru_nivcsw": 24 + }, + "mop/quad": 2.4156599552572708, + "nMops": 16197, + "nQuads": 6705, + "ru_self_end": { + "ru_utime_sec": 0.31812600000000002, + "ru_nvcsw": 32, + "ru_minflt": 31228, + "ru_stime_sec": 0.074853000000000003, + "ru_maxrss_kb": 92172, + "ru_majflt": 0, + "ru_nivcsw": 4 + }, + "cpu_cycles_total": 742224958, + "CodeGen(%)": 50.134707708010659, + "cpu_cycles_end": 45449033136100, + "mopSpeed": 95858.954707132143, + "quadSpeed": 39682.304828753535 + }, + "CompileStatus": "Successful", + "SIMBData": { + "out": "amcQwB.o", + "bytes": 121792, + "text": 0, + "archive": "archive.0/_16331_archive_1.a" + }, + "LVLData": [ + "SIM" + ], + "CompileProcesses": [ + "cgproc.16331.json" + ], + "incremental": "on", + "CurCompileModules": [ + "...MASTER...", + "...MASTER...", + "std", + "std", + "tb_data_cache", + "tb_data_cache" + ], + "Misc": { + "vcs_version": "O-2018.09-1_Full64", + "vcs_build_date": "Build Date = Oct 12 2018 20:38:10", + "master_pid": 16331, + "VCS_HOME": "/home/synopsys/vcs-mx/O-2018.09-1", + "cwd": "/home/ICer/ic_prjs/IPA/sim", + "csrc": "csrc", + "default_output_dir": "csrc", + "hostname": "IC_EDA", + "csrc_abs": "/home/ICer/ic_prjs/IPA/sim/csrc", + "archive_dir": "archive.0", + "daidir": "simv.daidir", + "daidir_abs": "/home/ICer/ic_prjs/IPA/sim/simv.daidir" + } +} \ No newline at end of file diff --git a/sim/csrc/cgproc.16331.json b/sim/csrc/cgproc.16331.json new file mode 100644 index 0000000..1aa85ff --- /dev/null +++ b/sim/csrc/cgproc.16331.json @@ -0,0 +1,284 @@ +{ + "stat": { + "ru_self_end": { + "ru_utime_sec": 0.31775999999999999, + "ru_nvcsw": 32, + "ru_minflt": 31224, + "ru_stime_sec": 0.074767, + "ru_maxrss_kb": 92172, + "ru_majflt": 0, + "ru_nivcsw": 4 + }, + "ru_childs_end": { + "ru_utime_sec": 0.0189, + "ru_nvcsw": 26, + "ru_minflt": 10715, + "ru_stime_sec": 0.057668999999999998, + "ru_maxrss_kb": 25896, + "ru_majflt": 0, + "ru_nivcsw": 24 + }, + "cpu_cycles_end": 45449032347572, + "peak_mem_kb": 285260 + }, + "Modules": { + "tb_data_cache": { + "Compiled": "Yes", + "nQuads": 6487, + "start_perf": [ + 0.26711106300354004, + 0.162518, + 0.064589999999999995, + 277368, + 283820, + 1756197955.974942, + 45448734171870 + ], + "nRouts": 715, + "child_modules": {}, + "Compiled Times": 1, + "significant_routs": [ + [ + 29, + "R_VCSgd_EULYA_1d", + 2188698, + 95, + 7 + ], + [ + 31, + "R_VCSgd_EULYA_1f", + 3076549, + 2178, + 269 + ], + [ + 264, + "U_VCSgd_EULYA_264", + 4042811, + 3819, + 355 + ], + [ + 274, + "U_VCSgd_EULYA_274", + 5590207, + 4729, + 511 + ], + [ + 328, + "R_VCSgd_EULYA_148", + 2365361, + 2104, + 268 + ], + [ + 346, + "R_VCSgd_EULYA_15a", + 2456044, + 2612, + 300 + ], + [ + 348, + "R_VCSgd_EULYA_15c", + 3181664, + 2723, + 290 + ], + [ + 374, + "R_VCSgd_EULYA_176", + 3210868, + 3639, + 419 + ], + [ + 376, + "R_VCSgd_EULYA_178", + 9568540, + 8866, + 1042 + ], + [ + 389, + "R_VCSgd_EULYA_185", + 2166116, + 1120, + 148 + ] + ], + "end_perf": [ + 0.42611598968505859, + 0.31456600000000001, + 0.071634000000000003, + 283572, + 283820, + 45449020587427, + 42949672961, + 0 + ], + "nMops": 15669 + }, + "...MASTER...": { + "nQuads": 0, + "start_perf": [ + 0.24554800987243652, + 0.14919499999999999, + 0.056339, + 271120, + 283820, + 1756197955.9533789, + 45448695337291 + ], + "nRouts": 5, + "child_modules": { + "std": 1, + "tb_data_cache": 1 + }, + "end_perf": [ + 0.25063300132751465, + 0.15148200000000001, + 0.059139999999999998, + 273552, + 283820, + 45448704529239, + 0, + 0 + ], + "nMops": 0 + }, + "std": { + "Compiled": "Yes", + "nQuads": 218, + "start_perf": [ + 0.25073599815368652, + 0.151556, + 0.059168999999999999, + 273552, + 283820, + 1756197955.9585669, + 45448704686469 + ], + "nRouts": 33, + "child_modules": {}, + "Compiled Times": 1, + "significant_routs": [ + [ + 1, + "T_VCSgd_reYIK_1_0", + 2539467, + 138, + 13 + ], + [ + 24, + "F_VCSgd_reYIK_24_0", + 2405512, + 984, + 90 + ] + ], + "end_perf": [ + 0.26701617240905762, + 0.16245000000000001, + 0.064562999999999995, + 277368, + 283820, + 45448734074536, + 8589934594, + 0 + ], + "svclass": [ + "$vcs_nba_dyn_obj", + 576, + 35, + 2, + 2, + 0, + "sigprop$$", + 576, + 35, + 2, + 2, + 0, + "process", + 2380, + 200, + 8, + 8, + 0, + "event", + 597, + 34, + 2, + 2, + 0, + "mailbox", + 1769, + 140, + 9, + 9, + 0, + "semaphore", + 1119, + 84, + 5, + 5, + 0 + ], + "nMops": 528 + } + }, + "ObjArchives": [ + { + "archive": "archive.0/_16331_archive_1.a", + "objects": [ + [ + "reYIK_d.o", + 43078 + ], + [ + "EULYA_d.o", + 232786 + ], + [ + "amcQwB.o", + 121792 + ] + ], + "size": 397656 + } + ], + "CompUnits": { + "EULYA_d": { + "mod": "tb_data_cache", + "out": "EULYA_d.o", + "bytes": 232786, + "text": 141941, + "checksum": 0, + "mode": 4, + "archive": "archive.0/_16331_archive_1.a" + }, + "reYIK_d": { + "mod": "std", + "out": "reYIK_d.o", + "bytes": 43078, + "text": 7325, + "cls": 7017, + "checksum": 0, + "mode": 4, + "archive": "archive.0/_16331_archive_1.a" + }, + "amcQw_d": { + "mod": "...MASTER...", + "out": "objs/amcQw_d.o", + "bytes": 7904, + "text": 434, + "checksum": 0, + "mode": 4 + } + }, + "reusePaths": {} +} \ No newline at end of file diff --git a/sim/csrc/filelist b/sim/csrc/filelist new file mode 100644 index 0000000..0657ffe --- /dev/null +++ b/sim/csrc/filelist @@ -0,0 +1,31 @@ + + +AR=ar +DOTLIBS=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libzerosoft_rt_stubs.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvirsim.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/liberrorinf.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libsnpsmalloc.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvfs.so + +# This file is automatically generated by VCS. Any changes you make to it +# will be overwritten the next time VCS is run +VCS_LIBEXT= +XTRN_OBJS= + +DPI_WRAPPER_OBJS = +DPI_STUB_OBJS = +# filelist.dpi will populate DPI_WRAPPER_OBJS and DPI_STUB_OBJS +include filelist.dpi +PLI_STUB_OBJS = +include filelist.pli + +include filelist.hsopt + +include filelist.cu + +VCS_INCR_OBJS= + + +AUGDIR= +AUG_LDFLAGS= +SHARED_OBJ_SO= + + + +VLOG_OBJS= $(VCS_OBJS) $(CU_OBJS) $(VCS_ARC0) $(XTRN_OBJS) $(DPI_WRAPPER_OBJS) $(VCS_INCR_OBJS) $(SHARED_OBJ_SO) $(HSOPT_OBJS) diff --git a/sim/csrc/filelist.cu b/sim/csrc/filelist.cu new file mode 100644 index 0000000..b3dc8ef --- /dev/null +++ b/sim/csrc/filelist.cu @@ -0,0 +1,33 @@ +PIC_LD=ld + +ARCHIVE_OBJS= +ARCHIVE_OBJS += _16331_archive_1.so +_16331_archive_1.so : archive.0/_16331_archive_1.a + @$(AR) -s $< + @$(PIC_LD) -shared -Bsymbolic -o .//../simv.daidir//_16331_archive_1.so --whole-archive $< --no-whole-archive + @rm -f $@ + @ln -sf .//../simv.daidir//_16331_archive_1.so $@ + + + + + +O0_OBJS = + +$(O0_OBJS) : %.o: %.c + $(CC_CG) $(CFLAGS_O0) -c -o $@ $< + + +%.o: %.c + $(CC_CG) $(CFLAGS_CG) -c -o $@ $< +CU_UDP_OBJS = \ + + +CU_LVL_OBJS = \ +SIM_l.o + +MAIN_OBJS = \ +objs/amcQw_d.o + +CU_OBJS = $(MAIN_OBJS) $(ARCHIVE_OBJS) $(CU_UDP_OBJS) $(CU_LVL_OBJS) + diff --git a/sim/csrc/filelist.dpi b/sim/csrc/filelist.dpi new file mode 100644 index 0000000..e69de29 diff --git a/sim/csrc/filelist.hsopt b/sim/csrc/filelist.hsopt new file mode 100644 index 0000000..6a9a029 --- /dev/null +++ b/sim/csrc/filelist.hsopt @@ -0,0 +1,13 @@ +rmapats_mop.o: rmapats.m + @/home/synopsys/vcs-mx/O-2018.09-1/linux64/bin/cgmop1 -tls_initexe -pic -gen_obj rmapats.m rmapats_mop.o; rm -f rmapats.m; touch rmapats.m; touch rmapats_mop.o + +rmapats.o: rmapats.c + @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o rmapats.o rmapats.c +rmapats%.o: rmapats%.c + @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o $@ $< +rmar.o: rmar.c + @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o rmar.o rmar.c +rmar%.o: rmar%.c + @$(CC_CG) $(CFLAGS_CG) -c -fPIC -x c -o $@ $< + +include filelist.hsopt.objs diff --git a/sim/csrc/filelist.hsopt.llvm2_0.objs b/sim/csrc/filelist.hsopt.llvm2_0.objs new file mode 100644 index 0000000..4c31419 --- /dev/null +++ b/sim/csrc/filelist.hsopt.llvm2_0.objs @@ -0,0 +1 @@ +LLVM_OBJS += rmar_llvm_0_1.o rmar_llvm_0_0.o diff --git a/sim/csrc/filelist.hsopt.objs b/sim/csrc/filelist.hsopt.objs new file mode 100644 index 0000000..f40e57c --- /dev/null +++ b/sim/csrc/filelist.hsopt.objs @@ -0,0 +1,7 @@ +HSOPT_OBJS +=rmapats_mop.o \ + rmapats.o \ + rmar.o rmar_nd.o + +include filelist.hsopt.llvm2_0.objs +HSOPT_OBJS += $(LLVM_OBJS) + diff --git a/sim/csrc/filelist.pli b/sim/csrc/filelist.pli new file mode 100644 index 0000000..6000e0d --- /dev/null +++ b/sim/csrc/filelist.pli @@ -0,0 +1,4 @@ +PLI_STUB_OBJS += _vcs_pli_stub_.o +_vcs_pli_stub_.o: _vcs_pli_stub_.c + @$(CC) -I/home/synopsys/vcs-mx/O-2018.09-1/include -pipe -fPIC -I/home/synopsys/vcs-mx/O-2018.09-1/include -fPIC -c -o _vcs_pli_stub_.o _vcs_pli_stub_.c + @strip -g _vcs_pli_stub_.o diff --git a/sim/csrc/hsim/hsim.sdb b/sim/csrc/hsim/hsim.sdb new file mode 100644 index 0000000000000000000000000000000000000000..a1d63f71216001586f96a15924a9420575cad1ca GIT binary patch literal 634 zcmZQz7COQJ2TWBECgT#g5SYPu2S{-NF$)kIfP^xEm=TDXkZ2$i3{C?DnHU=9N z|Ns97aqPe%5CS9*k^=#lyd{JSCSh_wtzf+{DQ6f12Mtm`3Lqii8tN12sFzcg0}iW& zS3<-<43Hd{oj+r@F literal 0 HcmV?d00001 diff --git a/sim/csrc/import_dpic.h b/sim/csrc/import_dpic.h new file mode 100644 index 0000000..e69de29 diff --git a/sim/csrc/objs/amcQw_d.o b/sim/csrc/objs/amcQw_d.o new file mode 100644 index 0000000000000000000000000000000000000000..b1780511c04ea2245935834ae7f7ac10cdcc8a29 GIT binary patch literal 7904 zcmeI1U2GIp6vr=6wfI?3unH*A#Sn~ZeJ~->=q|f0yK%Q{yOfU?r_XuBpU65A835Q;6oEJdj5CrDYwH;p_H!( zC)vH{{_Z*Fo_p?{X?wf3GuO3v(IUaJNW3C0_LvGWvHGH(kZM9Kg=O3wcD;sY4v@y} zo~rEE8_u9z8x--f>6s$luqvifJ!{NUK&qmc&5LXyS*bWB(bJno*R{L?1<2N1FIyHx zyJmaY!d77z`SL(%$S{hY>DeVCOWf!hsg(>vN7%ikWsfml*0xK^?;pOx#Pet%&BlzYB-WS13 z5qx(9AB*7Q5&Uoj|ByK9_7}Cfd`z8YbvPEmKaJquMDXt;_)ii1&j{W^``0YbmBg{G zgxX(nm$E9tJ|4kejo^g{{(1x-j^MkAFX!a6_N@s14so2@cFh**VZ}Q_`~$_m4)LRs zhah#2EBk(GbvdIr)}hO^;`I>MZEmLi+zY|%+=g?(8w%ojW!ZWI27Xc*C6nH>l3e~v zUwS+q&nJspJ9|l)%X9HugL8~635}W6QqLP9)~t&hF=v0X!CRiS-1H0!Dg$n>G@&Sa z=KWV1C^Y}SB=dBg+kD^L!*@onZv}Q-W%va7@madc5DRj{IfN`I$UL2c8E@>I^GxxM z`DH3_yY3-BtNoX$k3QTc5}VHNO|a8~v6he`iJIqyKIcWwQ{@_2hOTv97gm z=2{1wBVKr)<}htKv{3)1LI20_dY|iCv2?fNny+>rP^%|3XMTBuuhsZIrGw*BSN#Ja zj{6?Sk)V;bus^8!lOcXc^*;;o3Duw0_(MuZ(}AEQoDcUmYCIO0$nPB*hl+a<$bk@_ zl9cidabC|MjX$ky(M)I@>Nz#`Q3P*QSA!VFr%l;y3~|m|+#LjD`;4-mQdf!0xekZa zMl$DoCPKVb#W@nsH=D0jye-7n zD_*~Uw*9`KE6%BVQJAe$49&F0pV4@f+L!Tv-k#b2$NG%FI+pXxvDTbliM3_@e=`30 z$$oOn_@~aoJL`X*8JD}2^;=@uQ|Xv2A(S>bPD(o~YoX*R()uKBAjM>czHyD4m#SPK?y}RBoKslN+a%WyV*>zBqC4 zAg{R{YtHz8XZ#PHA_9gF=a_tz*{cz z6B)-pneo3;6U|ge%m4Ig-dEhd;NIy1en}wdfIkV2B*vJJ0+N7X1DU@GNCJ+>jrrSv zB;a`5n7;=|0^Uj==0^cZz%e)TPTYv8!^W&1T6e^}$|G>-pEu>A&&V^^6!ukn={e_7*? zYP_WJ$24Bk_~RPiqw!T5->*3K1pgxBeE6M?^{&zQ`&yhQG*0TgByok-m=5PREC~g= zLIWzj8H%&h%%9KigQ3gZus`-RWFlj~tKb +#include +#include +#include "rmapats.h" + +void hsG_0__0 (struct dummyq_struct * I1288, EBLK * I1282, U I685); +void hsG_0__0 (struct dummyq_struct * I1288, EBLK * I1282, U I685) +{ + U I1546; + U I1547; + U I1548; + struct futq * I1549; + struct dummyq_struct * pQ = I1288; + I1546 = ((U )vcs_clocks) + I685; + I1548 = I1546 & ((1 << fHashTableSize) - 1); + I1282->I727 = (EBLK *)(-1); + I1282->I731 = I1546; + if (I1546 < (U )vcs_clocks) { + I1547 = ((U *)&vcs_clocks)[1]; + sched_millenium(pQ, I1282, I1547 + 1, I1546); + } + else if ((peblkFutQ1Head != ((void *)0)) && (I685 == 1)) { + I1282->I733 = (struct eblk *)peblkFutQ1Tail; + peblkFutQ1Tail->I727 = I1282; + peblkFutQ1Tail = I1282; + } + else if ((I1549 = pQ->I1189[I1548].I745)) { + I1282->I733 = (struct eblk *)I1549->I744; + I1549->I744->I727 = (RP )I1282; + I1549->I744 = (RmaEblk *)I1282; + } + else { + sched_hsopt(pQ, I1282, I1546); + } +} +#ifdef __cplusplus +extern "C" { +#endif +void SinitHsimPats(void); +#ifdef __cplusplus +} +#endif diff --git a/sim/csrc/rmapats.h b/sim/csrc/rmapats.h new file mode 100644 index 0000000..3c38f59 --- /dev/null +++ b/sim/csrc/rmapats.h @@ -0,0 +1,2453 @@ +#ifndef __DO_RMAHDR_ +#define __DO_RMAHDR_ + +#ifdef __cplusplus + extern "C" { +#endif + +#define VCS_RTLIB_TLS_MODEL __attribute__((tls_model("initial-exec"))) + +typedef unsigned long UP; +typedef unsigned U; +typedef unsigned char UB; +typedef unsigned char scalar; +typedef struct vec32 vec32; +typedef unsigned short US; +typedef unsigned char SVAL; +typedef unsigned char TYPEB; +typedef struct qird QIRD; +typedef unsigned char UST_e; +typedef unsigned uscope_t; +typedef U NumLibs_t; +struct vec32 { + U I1; + U I2; +}; +typedef unsigned long RP; +typedef unsigned long RO; +typedef unsigned long long ULL; +typedef U GateCount; +typedef U NodeCount; +typedef unsigned short HsimEdge; +typedef unsigned char HsimExprChar; +typedef struct { + U I706; + RP I707; +} RmaReceiveClock1; +typedef NodeCount FlatNodeNum; +typedef U InstNum; +typedef unsigned ProcessNum; +typedef unsigned long long TimeStamp64; +typedef unsigned long long TimeStamp; +typedef enum { + PD_SING = 0, + PD_RF = 1, + PD_PLSE = 2, + PD_PLSE_RF = 3, + PD_NULL = 4 +} PD_e; +typedef TimeStamp RmaTimeStamp; +typedef TimeStamp64 RmaTimeStamp64; +typedef struct { + int * I708; + int * I709; + int I710; + union { + long long enumDesc; + long long classId; + } I711; +} TypeData; +struct etype { + U I586 :8; + U I587; + U I588; + U I589 :1; + U I590 :1; + U I591 :1; + U I592 :1; + U I593 :1; + U I594 :1; + U I595 :1; + U I596 :1; + U I597 :1; + U I598 :4; + U I599 :1; + U I600 :1; + U I601 :1; + U I602 :1; + U I603 :1; + U I604 :1; + U I605 :1; + U I606 :1; + U I607 :2; + U I608 :1; + U I609 :2; + U I610 :1; + U I611 :1; + U I612 :1; + U I613 :1; + U I614 :1; + U I615 :1; + TypeData * I616; + U I617; + U I618; + U I619 :1; + U I620 :1; + U I621 :1; + U I622 :1; + U I623 :2; + U I624 :2; + U I625 :1; + U I626 :1; + U I627 :1; + U I628 :1; + U I629 :1; + U I630 :1; + U I631 :1; + U I632 :1; + U I633 :1; + U I634 :1; + U I635 :1; + U I636 :13; +}; +typedef union { + double I718; + unsigned long long I719; + unsigned I720[2]; +} rma_clock_struct; +typedef struct eblk EBLK; +typedef int (* E_fn)(void); +typedef struct eblk { + struct eblk * I727; + E_fn I728; + struct iptmpl * I729; + unsigned I731; + unsigned I732; + struct eblk * I733; +} eblk_struct; +typedef struct { + RP I727; + RP I728; + RP I729; + unsigned I731; + unsigned I732; + RP I733; +} RmaEblk; +typedef struct { + RP I727; + RP I728; + RP I729; + unsigned I731; + unsigned I732; + RP I733; + unsigned val; +} RmaEblklq; +typedef union { + double I718; + unsigned long long I719; + unsigned I720[2]; +} clock_struct; +typedef clock_struct RmaClockStruct; +typedef struct RmaRetain_t RmaRetain; +struct RmaRetain_t { + RP I769; + RmaEblk I726; + U I771; + US I772 :1; + US I773 :4; + US I181 :2; + US state :2; + US I775 :1; + US I776 :2; + US I777 :2; + US fHsim :1; + US I569 :1; + scalar newval; + scalar I780; + RP I781; +}; +struct retain_t { + struct retain_t * I769; + EBLK I726; + U I771; + US I772 :1; + US I773 :4; + US I181 :2; + US state :2; + US I775 :1; + US I776 :2; + US I777 :2; + US fHsim :1; + US I778 :1; + scalar newval; + scalar I780; + void * I781; +}; +typedef struct MPSched MPS; +typedef struct RmaMPSched RmaMps; +struct MPSched { + MPS * I760; + scalar I761; + scalar I762; + scalar I763; + scalar fHsim :1; + scalar I181 :6; + U I765; + EBLK I766; + void * I767; + UP I768[1]; +}; +struct RmaMPSched { + RP I760; + scalar I761; + scalar I762; + scalar I763; + scalar fHsim :1; + scalar I181 :6; + U I765; + RmaEblk I766; + RP I767; + RP I768[1]; +}; +typedef struct RmaMPSchedPulse RmaMpsp; +struct RmaMPSchedPulse { + RP I760; + scalar I761; + scalar I762; + scalar I763; + scalar I181; + U I765; + RmaEblk I766; + scalar I777; + scalar I786; + scalar I787; + scalar I788; + U I789; + RmaClockStruct I790; + RmaClockStruct I791; + U state; + U I792; + RP I729; + RP I793; + RP I794; + RP I768[1]; +}; +typedef struct MPItem MPI; +struct MPItem { + U * I796; + void * I797; +}; +typedef struct { + RmaEblk I726; + RP I798; + scalar I799; + scalar I777; + scalar I800; +} RmaTransEventHdr; +typedef struct RmaMPSchedPulseNewCsdf RmaMpspNewCsdf; +struct RmaMPSchedPulseNewCsdf { + RP I760; + scalar I761; + scalar I762; + scalar I763; + scalar fHsim :1; + scalar I181 :6; + U I765; + RmaEblk I766; + scalar I777; + scalar I786; + scalar I787; + scalar I788; + U state :4; + U I802 :28; + RmaClockStruct I790; + RmaClockStruct I791; + RP I803; + RP I729; + RP I804; + RP I768[1]; +}; +typedef struct red_t { + U I805; + U I806; + U I685; +} RED; +typedef struct predd { + PD_e I181; + RED I807[0]; +} PREDD; +union rhs_value { + vec32 I808; + scalar I799; + vec32 * I777; + double I809; + U I810; +}; +typedef struct nbs_t { + struct nbs_t * I811; + struct nbs_t * I813; + void (* I814)(struct nbs_t * I781); + U I815 :1; + U I816 :1; + U I817 :1; + U I818 :1; + U I819 :1; + U I820 :1; + U I821 :26; + U I822; + void * I823; + union rhs_value I824; + vec32 I718; + union { + struct nbs_t * first; + struct nbs_t * last; + } I826; +} NBS; +typedef struct { + RP I827; + RP I793; + RP I729; + RP I794; + RmaEblk I726; + RmaEblk I828; + RP I829; + scalar I799; + scalar I777; + char state; + uscope_t I830; + U I831; + RP I832; + scalar I786; + scalar I787; + scalar I788; + RmaClockStruct I790; + RmaClockStruct I791; + RP I767; +} RmaPulse; +typedef enum { + QIRDModuleC = 1, + QIRDSVPackageC = 2, + QIRDSpiceModuleC = 3 +} QIRDModuleType; +typedef struct { + U I836 :1; + U I837 :1; + U I838 :1; + U I839 :1; + U I840 :1; + U I841 :1; + U I842 :1; + U I843 :1; + U I844 :1; + U I845 :1; + U I846 :1; + U I847 :1; + U I848 :1; + U I849 :1; + U I850 :1; + U I851 :1; + U I852 :1; + U I853 :1; + QIRDModuleType I854 :2; + U I855 :1; + U I856 :1; + U I857 :1; + U I858 :1; + U I859 :1; + U I860 :1; + U I861 :1; + U I862 :1; + U I863 :1; + U I864 :1; + U I865 :1; + U I866 :1; + U I867 :1; + U I868 :1; + U I869 :1; + U I870 :1; + U I871 :1; + U I872 :1; + U I873 :1; + U I874 :1; +} BitFlags; +struct qird { + US I4; + US I5; + U I6; + U I7; + char * I8; + char * I9; + U * I10; + char * I11; + char * I12; + U I13; + U I14; + struct vcd_rt * I15; + U I17; + struct _vcdOffset_rt * I18; + U I20; + U I21; + U * I22; + U * I23; + void * I24; + void * I25; + U I26; + int I27; + UP I28; + U I29; + U I30; + U I31; + UP I32; + U * I33; + UP I34; + U I35; + BitFlags I36; + U I37; + U I38; + U I39; + U I40; + U I41; + U * I42; + U I43; + U * I44; + U I45; + U I46; + U I47; + U I48; + U I49; + U I50; + U I51; + U * I52; + U * I53; + U I54; + U I55; + U * I56; + U I57; + U * I58; + U I59; + U I60; + U I61; + U I62; + U * I63; + U I64; + U * I65; + U I66; + U I67; + U I68; + U I69; + U I70; + U I71; + U * I72; + char * I73; + U I74; + U I75; + U I76; + U I77; + U I78; + U * I79; + U I80; + U I81; + U I82; + UP * I83; + U I84; + U I85; + U I86; + U I87; + U I88; + U I89; + U * I90; + U I91; + U I92; + U * I93; + U * I94; + U * I95; + U * I96; + U * I97; + U I98; + U I99; + struct taskInfo * I100; + U I102; + U I103; + U I104; + int * I105; + U * I106; + UP * I107; + U * I108; + U I109; + U I110; + U I111; + U I112; + U I113; + struct qrefer * I114; + U * I116; + unsigned * I117; + void * I118; + U I119; + U I120; + struct classStaticReferData * I121; + U I123; + U * I124; + U I125; + U * I126; + U I127; + struct wakeupInfoStruct * I128; + U I130; + U I131; + U I132; + U * I133; + U I134; + U * I135; + U I136; + U I137; + U I138; + U * I139; + U I140; + U * I141; + U I142; + U I143; + U * I144; + U I145; + U I146; + U * I147; + U * I148; + U * I149; + U I150; + U I151; + U I152; + U I153; + U I154; + struct qrefee * I155; + U * I157; + U I158; + struct qdefrefee * I159; + U * I161; + int (* I162)(void); + char * I163; + U I164; + U I165; + void * I166; + void * I167; + NumLibs_t I168; + char * I169; + U * I170; + U I171; + U I172; + U I173; + U I174; + U I175; + U * I176; + U * I177; + int I178; + struct clock_load * I179; + int I194; + struct clock_data * I195; + int I211; + struct clock_hiconn * I212; + U I216; + U I217; + U I218; + U I219; + U * I220; + U * I221; + U I222; + void * I223; + U I224; + U I225; + UP * I226; + void * I227; + U I228; + UP * I229; + U * I230; + int (* I231)(void); + U * I232; + UP * I233; + U * I234; + U I235 :1; + U I236 :31; + U I237; + U I238; + UP * I239; + U * I240; + U I241 :1; + U I242 :1; + U I243 :1; + U I244 :1; + U I245 :28; + U I246; + U I247; + U I248; + U I249 :31; + U I250 :1; + UP * I251; + UP * I252; + U * I253; + U * I254; + U * I255; + U * I256; + UP * I257; + UP * I258; + UP * I259; + U * I260; + UP * I261; + UP * I262; + UP * I263; + UP * I264; + char * I265; + U I266; + U I267; + U I268; + UP * I269; + U I270; + UP * I271; + UP * I272; + UP * I273; + UP * I274; + UP * I275; + UP * I276; + UP * I277; + UP * I278; + UP * I279; + UP * I280; + UP * I281; + UP * I282; + UP * I283; + UP * I284; + U * I285; + U * I286; + UP * I287; + U I288; + U I289; + U I290; + U I291; + U I292; + U I293; + U I294; + U I295; + char * I296; + U * I297; + U I298; + U I299; + U I300; + U I301; + U I302; + UP * I303; + UP * I304; + UP * I305; + UP * I306; + struct daidirInfo * I307; + struct vcs_tftable * I309; + U I311; + UP * I312; + UP * I313; + U I314; + U I315; + U I316; + UP * I317; + U * I318; + UP * I319; + UP * I320; + struct qird_hil_data * I321; + UP (* I323)(void); + UP (* I324)(void); + UP (* I325)(void); + UP (* I326)(void); + UP (* I327)(void); + int * I328; + int (* I329)(void); + char * I330; + UP * I331; + UP * I332; + UP (* I333)(void); + int (* I334)(void); + int * I335; + int (* I336)(void); + int * I337; + char * I338; + U * I339; + U * I340; + U * I341; + U * I342; + void * I343; + U I344; + void * I345; + U I346; + U I347; + U I348; + U I349; + U I350; + U I351; + char * I352; + UP * I353; + U * I354; + U * I355; + U I356 :15; + U I357 :14; + U I358 :1; + U I359 :1; + U I360 :1; + U I361 :3; + U I362 :1; + U I363 :1; + U I364 :17; + U I365 :3; + U I366 :5; + U I367 :1; + U I368 :1; + U I369; + U I370; + struct scope * I371; + U I373; + U I374; + U I375; + U * I376; + U * I377; + U * I378; + U I379; + U I380; + U I381; + struct pcbt * I382; + U I392; + U I393; + U I394; + U I395; + void * I396; + void * I397; + void * I398; + int I399; + U * I400; + U I401; + U I402; + U I403; + U I404; + U I405; + U I406; + U I407; + void * I408; + UP * I409; + U I410; + U I411; + void * I412; + U I413; + void * I414; + U I415; + void * I416; + U I417; + int (* I418)(void); + int (* I419)(void); + void * I420; + void * I421; + void * I422; + U I423; + U I424; + U I425; + U I426; + U I427; + U I428; + char * I429; + U I430; + U * I431; + U I432; + U * I433; + U I434; + U I435; + U I436; + U I437; + U I438; + U I439; + U * I440; + U I441; + U I442; + U * I443; + U I444; + U I445; + U I446; + U * I447; + char * I448; + U I449; + U I450; + U I451; + U I452; + U * I453; + U * I454; + U I455; + U * I456; + U * I457; + U I458; + U I459; + U I460; + UP * I461; + U I462; + U I463; + U I464; + struct cosim_info * I465; + U I467; + U * I468; + U I469; + void * I470; + U I471; + U * I472; + U I473; + struct hybridSimReferrerData * I474; + U I476; + U * I477; + U I478; + U I479; + U * I480; + U I481; + U * I482; + U I483; + U * I484; + U I485; + U I486; + U I487; + U I488; + U I489; + U I490; + U I491; + U I492; + U I493; + U * I494; + U * I495; + void (* I496)(void); + U * I497; + UP * I498; + struct mhdl_outInfo * I499; + UP * I501; + U I502; + UP * I503; + U I504; + void * I505; + U * I506; + void * I507; + char * I508; + int (* I509)(void); + U * I510; + char * I511; + char * I512; + U I513; + U * I514; + char * I515; + U I516; + struct regInitInfo * I517; + UP * I519; + U * I520; + char * I521; + U I522; + U I523; + U I524; + U I525; + U I526; + U I527; + U I528; + U I529; + UP * I530; + U I531; + U I532; + U I533; + U I534; + UP * I535; + U I536; + UP * I537; + U I538; + U I539; + U I540; + U * I541; + U I542; + U I543; + U I544; + U * I545; + U * I546; + UP * I547; + UP * I548; + void * I549; + UP I550; + void * I551; + void * I552; + void * I553; + void * I554; + void * I555; + UP I556; + U * I557; + U * I558; + void * I559; + U I560 :1; + U I561 :31; + U I562; + U I563; + U I564; + int I565; + U I566 :1; + U I567 :1; + U I568 :1; + U I569 :29; + void * I570; + void * I571; + void * I572; + void * I573; + void * I574; + UP * I575; + U * I576; + U I577; + char * I578; + U * I579; + U * I580; + char * I581; + int * I582; + UP * I583; + struct etype * I584; + U I637; + U I638; + U * I639; + struct etype * I640; + U I641; + U I642; + U I643; + U * I644; + void * I645; + U I646; + U I647; + void * I648; + U I649; + U I650; + U * I651; + U * I652; + char * I653; + U I654; + struct covreg_rt * I655; + U I657; + U I658; + U * I659; + U I660; + U * I661; + U I662; + U I663; + U * I664; +}; +typedef struct pcbt { + U * I384; + UP I385; + U I386; + U I387; + U I388; + U I389; + U I390; + U I391; +} PCBT; +struct iptmpl { + QIRD * I734; + struct vcs_globals_t * I735; + void * I737; + UP I738; + UP I739; + struct iptmpl * I729[2]; +}; +typedef unsigned long long FileOffset; +typedef struct _RmaMultiInputTable { + U I881 :1; + U I882 :1; + U I672 :2; + U I673 :4; + U I674 :5; + U I883 :1; + U I884 :1; + U I885 :1; + U I886 :1; + U I887 :1; + U I888 :1; + U I889; + U I890; + U I203; + U I891; + U I892 :1; + U I893 :31; + union { + U utable; + U edgeInputNum; + } I699; + U I894 :4; + U I895 :4; + U I896 :4; + U I897 :4; + U I898 :4; + U I899 :4; + U I900 :1; + U I901 :1; + U I902 :1; + U I903 :1; + U I368 :5; + HsimExprChar * I904; + UB * I905; + UB * I906; + struct _RmaMultiInputTable * I880; + struct _RmaMultiInputTable * I908; +} RmaMultiInputTable; +typedef struct _HsCgPeriod { + U I954; + U I955; +} HsCgPeriod; +typedef struct { + U I956[2]; + U I957 :1; + U I958 :1; + U I959 :8; + U I960 :8; + U I961 :8; + U I962 :4; + U I963 :1; + U I964 :1; + unsigned long long I965; + unsigned long long I966; + unsigned long long I967; + unsigned long long I968; + unsigned long long I955; + U I954; + U I969; + U I970; + U I971; + U I972; + U I973; + HsCgPeriod * I974[10]; +} HsimSignalMonitor; +typedef struct { + FlatNodeNum I975; + InstNum I976; + U I914; + scalar I977; + UB I978; + UB I979; + UB I980; + UB I981; + UB I982; + UB I983; + U I984; + U I985; + U I986; + U I987; + U I988; + U I989; + U I990; + U I991; + U I992; + HsimSignalMonitor * I993; + RP I994; + RmaTimeStamp64 I995; + U I996; + RmaTimeStamp64 I997; + U I998; + UB I999; +} HsimNodeRecord; +typedef RP RCICODE; +typedef struct { + RP I1004; + RP I729; +} RmaIbfIp; +typedef struct { + RP I1004; + RP pcode; +} RmaIbfPcode; +typedef struct { + RmaEblk I726; +} RmaEvTriggeredOrSyncLoadCg; +typedef struct { + RO I877; + RP pcode; +} SchedGateFanout; +typedef struct { + RO I877; + RP pcode; + U I935[4]; +} SchedSelectGateFanout; +typedef struct { + RP pcode; + RmaEblklq I726; +} SchedGateEblk; +typedef struct { + RP pcode; + RmaEblklq I726; + UB * I1005; +} SchedSelectGateEblk; +typedef struct { + RP I1006; + RP pfn; + RP pcode; +} RmaSeqPrimOutputEblkData; +typedef struct { + RmaEblk I726; + RP I1007; +} RmaAnySchedSampleSCg; +typedef struct { + RmaEblk I726; + RP I1005; + RP I1007; + vec32 I1008; +} RmaAnySchedVCg; +typedef struct { + RmaEblk I726; + RP I1005; + RP I1007; + vec32 I776[1]; +} RmaAnySchedWCg; +typedef struct { + RmaEblk I726; + RP I1005; + RP I1007; + scalar I1009[1]; +} RmaAnySchedECg; +typedef struct { + U I1010; + U I714; + U I914; + U I1011; + RmaIbfIp * I1012; + EBLK I726; + void * val; +} RmaThreadSchedCompiledLoads; +typedef struct { + U I714; + U I722; + RmaThreadSchedCompiledLoads * I1013; +} RmaSchedCompileLoadsCg; +typedef struct { + RP I1014; +} RmaRootCbkCg; +typedef struct { + RP I1015; +} RmaRootForceCbkCg; +typedef struct { + RmaEblk I726; + RP I1016; +} RmaForceCbkJmpCg; +typedef struct { + U I5; + U I722 :31; + U I1017 :1; + vec32 I808; + U I1018; + RP I1019; + RP I1020; +} RmaForceSelectorV; +typedef struct { + U I5; + RmaIbfPcode I1026; +} RmaNetTypeDriverGate; +typedef struct { + U I5; + U I668; + RmaIbfPcode I1026[1]; +} RmaNetTypeScatterGate; +typedef struct { + U I5; + RmaIbfPcode I1026; +} RmaNetTypeGatherGate; +typedef struct { + RmaIbfPcode I1027; + U I1028 :3; + U I1029 :1; + U I1030 :1; + U I890 :16; +} RmaNbaGateOfn; +typedef struct { + U I5; + NBS I1031; + RmaIbfPcode I1027; +} RmaNbaGate1; +typedef struct { + RP ptable; + RP pfn; + RP pcode; +} Rma1InputGateFaninCgS; +typedef struct RmaSeqPrimOutputS_ RmaSeqPrimOutputOnClkS; +struct RmaSeqPrimOutputS_ { + RP pfn; + RP I1034; + U state; + U I1035; + RP I1036; + U I706; + scalar val; +}; +typedef struct { + U I5; + U iinput; + UB I1038; + RP I1039; +} RmaCondOptLoad; +typedef struct { + U I5; + U iinput; + UB I1038; + RP I1039; +} RmaMacroStateUpdate; +typedef struct { + U I5; + U state; + U I1040; + UB I1038; + U * I1041; +} RmaMacroState; +typedef struct { + U iinput; + RP I1042; +} RmaMultiInputLogicGateCg; +typedef struct { + U iinput; + RP ptable; + RP I1042; +} RmaSeqPrimEdgeInputCg; +typedef struct { + RmaEblk I726; + RP pcode; +} RmaSched0GateCg; +typedef struct { + RmaEblk I726; + RP pcode; + RP pfn; +} RmaUdpDeltaGateCg; +typedef struct { + RmaEblk I726; + RP pcode; + RP pfn; + scalar I1043; +} RmaSchedDeltaGateCg; +typedef struct { + UB I1044; + RP I1045; + RP I1046; +} RmaPropNodeSeqLhsSCg; +typedef struct { + RmaEblk I726; + RP pcode; + U I914; + U I715[1]; +} RmaBitEdgeEblk; +typedef struct { + U I5; + RP I807; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaGateDelay; +typedef struct { + U I5; + RP I807; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaGateBehavioralDelay; +typedef struct { + U I5; + union { + RP I1289; + RP I1577; + RP I1591; + } I781; + RmaIbfPcode I1027; +} RmaMPDelay; +typedef struct { + U I5; + RmaPulse I1047; + RmaIbfPcode I1027; +} RmaMPPulseHybridDelay; +typedef struct { + U I5; + RmaIbfPcode I1027; + RmaMps I1048; +} RmaMPHybridDelay; +typedef struct { + U I5; + U I1049; + RmaIbfPcode I1027; + RmaEblk I766; +} RmaMPHybridDelayPacked; +typedef struct { + U I5; + RmaIbfPcode I1027; + RmaMpspNewCsdf I1050; +} RmaMPPulseDelay; +typedef struct { + U I5; + RmaMpsp I1050; + RmaIbfPcode I1027; +} RmaMPPulseOptHybridDelay; +typedef struct _RmaBehavioralTransportDelay { + U I5; + RP I685; + RmaTransEventHdr I920; + RP I804; + RmaIbfPcode I1027; +} RmaBehavioralTransportDelayS; +typedef struct { + U I5; + U I685; + RmaTransEventHdr I920; + RP I804; + RmaIbfPcode I1027; +} RmaNtcTransDelay; +typedef struct { + U I5; + U I685; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaNtcTransMpwOptDelay; +typedef struct { + U I5; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaNtcTransZeroDelay; +typedef struct { + U I5; + U I1051; + U I1052; + RmaTransEventHdr I920; + RP I804; + RmaIbfPcode I1027; +} RmaNtcTransDelayRF; +typedef struct { + U I5; + U I1051; + U I1052; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaNtcTransMpwOptDelayRF; +typedef struct { + U I5; + RP I1053; + RmaTransEventHdr I920; + RP I804; + RmaIbfPcode I1027; +} RmaICTransDelay; +typedef struct { + U I5; + RP I1053; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaICTransMpwOptDelay; +typedef struct { + U I5; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaICTransZeroDelay; +typedef struct { + U I5; + RP I807; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaICSimpleDelay; +typedef struct { + U I5; + union { + RP psimple; + RP I1577; + RP I1591; + } I781; + RmaIbfPcode I1027; +} RmaICDelay; +typedef struct { + U I5; + RP I807; + RmaEblk I726; + RmaIbfPcode I1027; +} RmaPortDelay; +typedef struct { + U I890; + RP I1057; +} RmaRtlXEdgesLoad; +typedef struct { + U I5; + RmaRtlXEdgesLoad I1057[(5)]; +} RmaRtlXEdgesHdr; +typedef struct { + U I5; + US I1058; + US I1059 :1; + US I368 :15; + RP I1060; + RP I1061; + RP I1062; +} RmaRtlEdgeBlockHdr; +typedef struct { + RP I1063; + RP I1064; +} RemoteDbsedLoad; +typedef struct { + RmaEblk I726; + RP I1065; + RP I1066; + U I1067 :16; + U I1068 :2; + U I1069 :2; + U I1070 :1; + U I1071 :8; + U I368 :3; + U I471; + RP I1072; + RP I811[(5)]; + RP I813[(5)]; + US I1073; + US I1074; + RemoteDbsedLoad I1075[1]; +} RmaRtlEdgeBlock; +typedef struct TableAssign_ { + struct TableAssign_ * I880; + struct TableAssign_ * I798; + U I5; + U I1077 :1; + U I1078 :1; + U I1079 :2; + U I1080 :1; + U I706 :8; + U I1081 :1; + U I1082 :1; + U I1083 :1; + U I1084 :1; + U I1085 :1; + U I1086 :1; + U I368 :13; + RP ptable; + RP I1042; +} TableAssign; +typedef struct TableAssignLayoutOnClk_ { + struct TableAssignLayoutOnClk_ * I880; + struct TableAssignLayoutOnClk_ * I798; + U I5; + U I1077 :1; + U I1078 :1; + U I1079 :2; + U I1080 :1; + U I706 :8; + U I1081 :1; + U I1082 :1; + U I1083 :1; + U I1084 :1; + U I1085 :1; + U I1086 :1; + U I368 :13; + RP ptable; + RmaSeqPrimOutputOnClkS I1088; + RmaEblk I726; +} TableAssignLayoutOnClk; +typedef struct { + U state; + U I1089; +} RmaSeqPrimOutputOnClkOpt; +typedef struct TableAssignLayoutOnClkOpt_ { + struct TableAssignLayoutOnClkOpt_ * I880; + struct TableAssignLayoutOnClkOpt_ * I798; + U I1091; + U I1077 :1; + U I1078 :1; + U I1079 :2; + U I1080 :1; + U I706 :8; + U I1081 :1; + U I1082 :1; + U I1083 :1; + U I1084 :1; + U I1085 :1; + U I1086 :1; + U I368 :13; + RmaSeqPrimOutputOnClkOpt I1088; + RmaSeqPrimOutputEblkData I1092; +} TableAssignLayoutOnClkOpt; +typedef struct { + U I5; + RP I798; + RP I1093; +} RmaTableAssignList; +typedef struct { + U I5; + RP I798; + RP I1093; + RP I1094; + RP I1036; + US I706; + UB I977; + UB I1095; + UB I1096; + UB I772; + RP I1097[0]; +} RmaThreadTableAssignList; +typedef struct { + RP I1094; + RP I1036; + US I706; + UB I977; + UB I1095; + UB I1096; + UB I772; +} RmaThreadTableHeader; +typedef struct { + RP I1063; +} RmaWakeupListCg; +typedef struct { + RP I1063; +} RmaWakeupArrayCg; +typedef struct { + RP I1063; + RP I1098; +} RmaPreCheckWakeupListCg; +typedef struct { + RP I1063; + RP I1098; +} RmaPreCheckWakeupArrayCg; +typedef struct { + U I1099; + U I706; + RmaTimeStamp I1100[1]; +} RmaTsArray; +typedef struct { + U iinput; + RP I1101; +} RmaConditionsMdb; +typedef struct { + RP I1102; + RP I1103; + U I1104; +} RmaTcListHeader; +typedef struct { + RP I880; + RP I1105; + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; +} RmaTcCoreSimple; +typedef struct { + RP I880; + RP I1105; + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1116; +} RmaTcCoreConditional; +typedef struct { + RP I880; + RP I1105; + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1116; + RP I1117; +} RmaTcCoreConditionalOpt; +typedef struct { + RP I880; + RP I1105; + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1117; + RP I1118; + U I1119; + RmaConditionsMdb arr[1]; +} RmaTcCoreConditionalMtc; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; +} RmaTcCoreSimpleNoList; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1034; +} RmaTcCoreSimpleNoListMdb; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1116; +} RmaTcCoreConditionalNoList; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1116; + RP I1117; +} RmaTcCoreConditionalOptNoList; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1117; + RP I1118; + U I1119; + RmaConditionsMdb arr[1]; +} RmaTcCoreConditionalMtcNoList; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1117; + RP I1118; + RP I1034; + U I1119; + RmaConditionsMdb arr[1]; +} RmaTcCoreConditionalMtcNoListMdb; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + RP I1116; + RP I1034; +} RmaTcCoreConditionalNoListMdb; +typedef struct { + RP I1106; + RP I721; + U I1107; + scalar I890; + scalar I1108; + US I1109 :1; + US I1110 :1; + US I1111 :1; + US I1112 :1; + US I1113 :1; + US I1114 :1; + US I1115 :5; + U I1121; + RP I1122; + RP I1123; + RP I1116; + RP I1124; + RP I1125; + RmaTimeStamp I1126; +} RmaTcCoreNochange; +typedef struct { + RP I1127; + RP I880; +} RmaTcCoreNochangeList; +typedef struct { + RP I1101; + RmaTimeStamp I1128; + scalar I1129; +} RmaConditionalTSLoadNoList; +typedef struct { + RP I880; + RP I1101; + RmaTimeStamp I1128; + scalar I1129; +} RmaConditionalTSLoad; +typedef struct { + RmaTimeStamp I1128; + scalar I1129; + US I890; + RP I1117; +} RmaConditionalTSLoadOptNoList; +typedef struct { + RP I880; + RmaTimeStamp I1128; + scalar I1129; + US I890; + RP I1117; +} RmaConditionalTSLoadOpt; +typedef struct { + RP I1117; + RP I1130; + U I1119; + RmaConditionsMdb arr[1]; +} RmaConditionalTSLoadMtcNoList; +typedef struct { + RP I1034; + RP I1117; + RP I1130; + U I1119; + RmaConditionsMdb arr[1]; +} RmaConditionalTSLoadMtcNoListMdb; +typedef struct { + RP I880; + RP I1117; + RP I1130; + U I1119; + RmaConditionsMdb arr[1]; +} RmaConditionalTSLoadMtc; +typedef struct { + U I1131; + U I1132; + FlatNodeNum I1003; + U I914; + U I1133; + U I1134; + RmaIbfPcode I1027; + union { + scalar I1135; + vec32 I1136; + scalar * I1137; + vec32 * I1138; + } val; +} RmaScanSwitchData; +typedef struct { + RP I880; + RP I798; + RP I1139; +} RmaDoublyLinkedListElem; +typedef struct { + RP I1140; + U I1141 :1; + U I1142 :1; + U I1143 :1; + U I1144 :4; + U I368 :25; + U I1145; +} RmaSwitchGateInCbkListInfo; +typedef struct { + union { + RmaDoublyLinkedListElem I1639; + RmaSwitchGateInCbkListInfo I2; + } I699; + RmaIbfPcode I1027; +} RmaSwitchGate; +typedef struct RmaNonEdgeLoadData1_ { + US I1146; + scalar val; + scalar I1147 :1; + scalar I1148 :1; + scalar I1149 :1; + scalar I1150 :1; + scalar I1151 :1; + U I1152; + RP I811; + RP I1153; + RP I1003; + RP I1154; + RP I1155; +} RmaNonEdgeLoadData1; +typedef struct RmaNonEdgeLoadHdr1_ { + UB I1147; + UB I1156; + UB I977; + RmaNonEdgeLoadData1 * I1057; + RmaNonEdgeLoadData1 * I798; + void * I1157; +} RmaNonEdgeLoadHdr1; +typedef struct RmaNonEdgeLoadHdrPrl1_ { + U I1158; + RP I721; +} RmaNonEdgeLoadHdrPrl1; +typedef struct RmaChildClockProp_ { + RP I811; + RP I1159; + RP I1003; + RP pcode; + scalar val; +} RmaChildClockProp; +typedef struct RmaChildClockPropList1_ { + RmaChildClockProp * I1057; + RmaChildClockProp * I798; +} RmaChildClockPropList1; +typedef struct { + U I5; + U I1160; +} RmaHDLCosimDUTGate; +typedef struct { + UB I1161; + UB I1162 :1; + UB I1163 :1; + UB I1164 :1; + UB I1165 :1; + UB I368 :4; + US cedges; +} RmaMasterXpropLoadHdr; +typedef struct { + UB I1166; + UB I1167; + UB I1168; + UB I1169; + U cedges :30; + U I1163 :1; + U I1170 :1; + U I1171; + U I1172; + RP I1173; + RP I1174; + RmaRtlEdgeBlockHdr * I1175; +} RmaChildXpropLoadHdr; +struct clock_load { + U I181 :5; + U I182 :12; + U I183 :1; + U I184 :2; + U I185 :1; + U I186 :1; + U I187 :1; + U I188 :9; + U I189; + U I190; + void (* pfn)(void * I192, char val); +}; +typedef struct clock_data { + U I197 :1; + U I198 :1; + U I199 :1; + U I200 :1; + U I181 :5; + U I182 :12; + U I201 :6; + U I202 :1; + U I184 :2; + U I185 :1; + U I188 :1; + U I203; + U I204; + U I205; + U I189; + U I206; + U I207; + U I208; + U I209; + U I210; +} HdbsClockData; +struct clock_hiconn { + U I214; + U I215; + U I189; + U I184; +}; +typedef struct _RmaDaiCg { + RP I1176; + RP I1177; + U I1178; +} RmaDaiCg; +typedef union _RmaCbkMemOptUnion { + RP I1176; + RP I1179; + RP I1180; +} RmaCbkMemOptUnion; +typedef struct _RmaDaiOptCg { + RmaCbkMemOptUnion I1181; +} RmaDaiOptCg; +struct futq_slot2 { + U I758; + U I759[32]; +}; +struct futq_slot1 { + U I755; + struct futq_slot2 I756[32]; +}; +struct futq_info { + scalar * I750; + U I751; + U I752; + struct futq_slot1 I753[32]; +}; +struct futq { + struct futq * I740; + struct futq * I742; + RmaEblk * I743; + RmaEblk * I744; + U I731; + U I1; +}; +struct sched_table { + struct futq * I745; + struct futq I746; + struct hash_bucket * I747; + struct hash_bucket * I749; +}; +struct dummyq_struct { + clock_struct I1182; + EBLK * I1183; + EBLK * I1184; + EBLK * I1185; + struct futq * I1186; + struct futq * I1187; + struct futq * I1188; + struct sched_table * I1189; + struct futq_info * I1191; + struct futq_info * I1193; + U I1194; + U I1195; + U I1196; + U I1197; + U I1198; + U I1199; + U I1200; + struct millenium * I1201; + EBLK * I1203; + EBLK * I1204; + EBLK * I1205; + EBLK * I1206; + EBLK * I1207; + EBLK * I1208; + EBLK * I1209; + EBLK * I1210; + EBLK * I1211; + EBLK * I1212; + EBLK * I1213; + EBLK * I1214; + EBLK * I1215; + EBLK * I1216; + EBLK * I1217; + EBLK * I1218; + EBLK * I1219; + EBLK * I1220; + MPS * I1221; + struct retain_t * I1222; + EBLK * I1223; + EBLK * I1224; + EBLK * I1225; + EBLK * I1226; + EBLK * I1227; + EBLK * I1228; + EBLK * I1229; + EBLK * I1230; + EBLK * I1231; + EBLK * I1232; + EBLK * I1233; + EBLK * I1234; + EBLK * I1235; + EBLK * I1236; + EBLK * I1237; + EBLK * I1238; + EBLK * I1239; + EBLK * I1240; + EBLK * I1241; + EBLK * I1242; + EBLK * I1243; + EBLK * I1244; + EBLK * I1245; + EBLK * I1246; + EBLK * I1247; + EBLK * I1248; + EBLK I1249; + EBLK * I1250; + EBLK * I1251; + EBLK * I1252; + EBLK * I1253; + int I1254; + int I1255; + struct vcs_globals_t * I1256; + clock_struct I1257; + unsigned long long I1258; + EBLK * I1259; + EBLK * I1260; + void * I1261; +}; +typedef void (* FP)(void * , scalar ); +typedef void (* FP1)(void * ); +typedef void (* FPRAP)(void * , vec32 * , U ); +typedef U (* FPU1)(void * ); +typedef void (* FPV)(void * , UB * ); +typedef void (* FPVU)(void * , UB * , U ); +typedef void (* FPLSEL)(void * , scalar , U ); +typedef void (* FPLSELV)(void * , vec32 * , U , U ); +typedef void (* FPFPV)(UB * , UB * , U , U , U , U , U , UB * , U ); +typedef void (* FPFA)(UB * , UB * , U , U , U , U , U , U , UB * , U ); +typedef void (* FPRPV)(UB * , U , U , U ); +typedef void (* FPEVCDLSEL)(void * , scalar , U , UB * ); +typedef void (* FPEVCDLSELV)(void * , vec32 * , U , U , UB * ); +typedef void (* FPNTYPE_L)(void * , void * , U , U , UB * , UB * , UB * , UB * , UB * , UB * , UB * , U ); +typedef void (* FPNTYPE_H)(void * , void * , U , U , UB * , UB * , UB * , UB * , U ); +typedef void (* FPNTYPE_LPAP)(void * , void * , void * , U , U , UB * , UB * , U ); +typedef void (* FPNTYPE_HPAP)(void * , void * , void * , U , U , UB * , UB * , UB * , UB * , U ); +typedef struct _lqueue { + EBLK * I727; + EBLK * I1262; + int I1263; + struct _lqueue * I769; +} Queue; +typedef struct { + void * I1265; + void * I1266; + void * I1267[2]; + void * I1268; +} ClkLevel; +typedef struct { + unsigned long long I1269; + EBLK I1170; + U I1270; + U I1271; + union { + void * pHeap; + Queue * pList; + } I699; + unsigned long long I1272; + ClkLevel I1273; + Queue I1274[1]; +} Qhdr; +extern UB Xvalchg[]; +extern UB X4val[]; +extern UB X3val[]; +extern UB X2val[]; +extern UB XcvtstrTR[]; +extern UB Xcvtstr[]; +extern UB Xbuf[]; +extern UB Xbitnot[]; +extern UB Xwor[]; +extern UB Xwand[]; +extern U Xbitnot4val[]; +extern UB globalTable1Input[]; +extern __thread unsigned long long vcs_clocks; +extern UB Xunion[]; +extern U fRTFrcRelCbk; +extern FP txpFnPtr; +extern FP rmaFunctionArray[]; +extern UP rmaFunctionRtlArray[]; +extern FP rmaFunctionLRArray[]; +extern U rmaFunctionCount; +extern U rmaFunctionLRCount; +extern U rmaFunctionLRDummyCount; +extern UP rmaFunctionDummyEndPtr; +extern __thread UB dummyScalar; +extern __thread UB fScalarIsForced; +extern __thread UB fScalarIsReleased; +extern U fNotimingchecks; +extern U fFsdbDumpOn; +extern RP * iparr; +extern FP1 * rmaPostAnySchedFnPtr; +extern FP1 * rmaPostAnySchedFnSamplePtr; +extern FP1 * rmaPostAnySchedVFnPtr; +extern FP1 * rmaPostAnySchedWFnPtr; +extern FP1 * rmaPostAnySchedEFnPtr; +extern FP1 * rmaPostSchedUpdateClockStatusFnPtr; +extern FP1 * rmaPostSchedUpdateClockStatusNonCongruentFnPtr; +extern FP1 * rmaPostSchedUpdateEvTrigFnPtr; +extern FP1 * rmaSched0UpdateEvTrigFnPtr; +extern FP1 * rmaPostSchedRecoveryResetDbsFnPtr; +extern U fGblDataOrTime0Prop; +extern UB rmaEdgeStatusValArr[]; +extern FP1 * propForceCbkSPostSchedCgFnPtr; +extern FP1 * propForceCbkMemoptSPostSchedCgFnPtr; +extern UB * ptableGbl; +extern U * vcs_ptableOffsetsGbl; +extern UB * expandedClkValues; +extern __thread Qhdr * lvlQueue; +extern __thread unsigned threadIndex; +extern int cPeblkThreads; +extern US xedges[]; +extern U mhdl_delta_count; +extern U ignoreSchedForScanOpt; +extern U fignoreSchedForDeadComboCloud; +extern int fZeroUser; +extern U fEveBusPullVal; +extern U fEveBusPullFlag; +extern U fFutEventPRL; +extern U fParallelEBLK; +extern U fBufferingEvent; +extern __thread UB fNettypeIsForced; +extern __thread UB fNettypeIsReleased; +extern EBLK * peblkFutQ1Head; +extern EBLK * peblkFutQ1Tail; +extern US * edgeActionT; +extern unsigned long long * derivedClk; +extern U fHashTableSize; +extern U fSkipStrChangeOnDelay; +extern U fHsimTcheckOpt; +extern scalar edgeChangeLookUp[4][4]; +extern U fDoingTime0Prop; +extern U fLoopDetectMode; +extern int gFLoopDectCodeEna; +extern U fLoopReportRT; + + +extern void *mempcpy(void* s1, void* s2, unsigned n); +extern UB* rmaEvalDelays(UB* pcode, scalar val); +extern UB* rmaEvalDelaysV(UB* pcode, vec32* pval); +extern void rmaPopTransEvent(UB* pcode); +extern void rmaSetupFuncArray(UP* ra, U c, U w); +extern void rmaSetupRTLoopReportPtrs(UP* funcs, UP* rtlFuncs, U cnt, U cntDummy, UP end); +extern void SinitHsimPats(void); +extern void VVrpDaicb(void* ip, U nIndex); +extern int SDaicb(void *ip, U nIndex); +extern void SDaicbForHsimNoFlagScalar(void* pDaiCb, unsigned char value); +extern void SDaicbForHsimNoFlagStrengthScalar(void* pDaiCb, unsigned char value); +extern void SDaicbForHsimNoFlag(void* pRmaDaiCg, unsigned char value); +extern void SDaicbForHsimNoFlag2(void* pRmaDaiCg, unsigned char value); +extern void SDaicbForHsimWithFlag(void* pRmaDaiCg, unsigned char value); +extern void SDaicbForHsimNoFlagFrcRel(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx); +extern void SDaicbForHsimNoFlagFrcRel2(void* pRmaDaiCg, unsigned char reason, int msb, int lsb, int ndx); +extern void VcsHsimValueChangeCB(void* pRmaDaiCg, void* pValue, unsigned int valueFormat); +extern U isNonDesignNodeCallbackList(void* pRmaDaiCg); +extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength); +extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength); +extern void SDaicbForHsimCbkMemOptNoFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength); +extern void SDaicbForHsimCbkMemOptWithFlagScalar(void* pDaiCb, unsigned char value, unsigned char isStrength); +extern void VVrpNonEventNonRegdScalarForHsimOptCbkMemopt(void* ip, U nIndex); +extern void SDaicbForHsimCbkMemOptNoFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength); +extern void SDaicbForHsimCbkMemOptWithFlagDynElabScalar(U* mem, unsigned char value, unsigned char isStrength); +extern void SDaicbForHsimCbkMemOptNoFlagDynElabFrcRel(U* mem, unsigned char reason, int msb, int lsb, int ndx); +extern void SDaicbForHsimCbkMemOptNoFlagFrcRel(void* pDaiCb, unsigned char reason, int msb, int lsb, int ndx); +extern void hsimDispatchCbkMemOptForVcd(RP p, U val); +extern void* hsimGetCbkMemOptCallback(RP p); +extern void hsimDispatchCbkMemOptNoDynElabS(RP* p, U val, U isStrength); +extern void* hsimGetCbkPtrNoDynElab(RP p); +extern void hsimDispatchCbkMemOptDynElabS(U** pvcdarr, U** pcbkarr, U val, U isScalForced, U isScalReleased, U isStrength); +extern void hsimDispatchCbkMemOptNoDynElabVector(RP* /*RmaDaiOptCg* */p, void* pval, U /*RmaValueType*/ vt, U cbits); +extern void copyAndPropRootCbkCgS(RmaRootCbkCg* pRootCbk, scalar val); +extern void copyAndPropRootCbkCgV(RmaRootCbkCg* rootCbk, vec32* pval); +extern void copyAndPropRootCbkCgW(RmaRootCbkCg* rootCbk, vec32* pval); +extern void copyAndPropRootCbkCgE(RmaRootCbkCg* rootCbk, scalar* pval); +extern void Wsvvar_callback_non_dynamic1(RP* ptr, int); +extern void rmaExecEvSyncList(RP plist); +extern void Wsvvar_callback_virt_intf(RP* ptr); +extern void Wsvvar_callback_hsim_var(RP* ptr); +extern void checkAndConvertVec32To2State(vec32* value, vec32* svalue, U cbits, U* pforcedBits); +extern unsigned int fGblDataOrTime0Prop; +extern void SchedSemiLerMP1(UB* pmps, U partId); +extern void SchedSemiLerMPO(UB* pmpso, U partId); +extern void rmaDummyPropagate(void); +extern RP rmaTestCg(RP pcode, U vt, UB* value); +extern void hsUpdateModpathTimeStamp(UB* pmps); +extern void doMpd32One(UB* pmps); +extern void doMpdCommon(MPS* pmps); +extern TimeStamp GET_DIFF_DELAY_FUNC(TimeStamp ts); +extern void SchedSemiLerMP(UB* ppulse, U partId); +extern EBLK *peblkFutQ1Head; +extern EBLK *peblkFutQ1Tail; +extern void scheduleuna(UB *e, U t); +extern void scheduleuna_mp(EBLK *e, unsigned t); +extern void schedule(UB *e, U t); +extern void sched_hsopt(struct dummyq_struct * pQ, EBLK *e, U t); +extern void sched_millenium(struct dummyq_struct * pQ, void *e, U thigh, U t); +extern void schedule_1(EBLK *e); +extern void sched0(UB *e); +extern void sched0Raptor(UB *e); +extern void sched0lq(EBLK *e); +extern void sched0lqnc(EBLK *e); +extern void sched0una(UB *e); +extern void sched0una_th(struct dummyq_struct *pq, UB *e); +extern void hsopt_sched0u_th(struct dummyq_struct *pq, UB *e); +extern void scheduleuna_mp_th(struct dummyq_struct *pq, EBLK *e, unsigned t); +extern void schedal(UB *e); +extern void sched0_th(struct dummyq_struct * pQ, EBLK *e); +extern void sched0u(UB *e); +extern void sched0u_th(struct dummyq_struct *pq, UB *e); +extern void sched0_hsim_front_th(struct dummyq_struct * pQ, UB *e); +extern void sched0_hsim_frontlq_th(struct dummyq_struct * pQ, UB *e); +extern void sched0lq_th(struct dummyq_struct * pQ, UB *e); +extern void schedal_th(struct dummyq_struct * pQ, UB *e); +extern void scheduleuna_th(struct dummyq_struct * pQ, void *e, U t); +extern void schedule_th(struct dummyq_struct * pQ, UB *e, U t); +extern void schedule_1_th(struct dummyq_struct * pQ, EBLK *peblk); +extern void SetupLER_th(struct dummyq_struct * pQ, EBLK *e); +extern void FsdbReportClkGlitch(UB*,U); +extern void AddToClkGLitchArray(EBLK*); +extern void SchedSemiLer_th(struct dummyq_struct * pQ, EBLK *e); +extern void SchedSemiLerTXP_th(struct dummyq_struct * pQ, EBLK *e); +extern void SchedSemiLerTXPFreeVar_th(struct dummyq_struct * pQ, EBLK *e); +extern U getVcdFlags(UB *ip); +extern void VVrpNonEventNonRegdScalarForHsimOpt(void* ip, U nIndex); +extern void VVrpNonEventNonRegdScalarForHsimOpt2(void* ip, U nIndex); +extern void SchedSemiLerTBReactiveRegion(struct eblk* peblk); +extern void SchedSemiLerTBReactiveRegion_th(struct eblk* peblk, U partId); +extern void SchedSemiLerTr(UB* peblk, U partId); +extern void SchedSemiLerNBA(UB* peblk, U partId); +extern void NBA_Semiler(void *ip, void *pNBS); +extern void sched0sd_hsim(UB* peblk); +extern void vcs_sched0sd_hsim_udpclk(UB* peblk); +extern void vcs_sched0sd_hsim_udpclkopt(UB* peblk); +extern void sched0sd_hsim_PRL(UB* peblk); +extern void sched0lq_parallel_clk(EBLK* peblk); +extern U isRtlClockScheduled(EBLK* peblk); +extern void doFgpRaceCheck(UB* pcode, UB* p, U flag); +extern void doSanityLvlCheck(); +extern void sched0lq_parallel_ova(EBLK* peblk); +extern void sched0lq_parallel_ova_precheck(EBLK* peblk); +extern void rmaDlpEvalSeqPrim(UB* peblk, UB val, UB preval); +extern void appendNtcEvent(UB* phdr, scalar s, U schedDelta); +extern void appendTransEventS(RmaTransEventHdr* phdr, scalar s, U schedDelta); +extern void schedRetainHsim(MPS* pMPS, scalar sv, scalar pv); +extern void updateRetainHsim(MPS* pMPS,scalar sv, scalar pv); +extern void hsimCountXEdges(void* record, scalar s); +extern void hsimRegisterEdge(void* sm, scalar s); +extern U pvcsGetPartId(); +extern void HsimPVCSPartIdCheck(U instNo); +extern void debug_func(U partId, struct dummyq_struct* pQ, EBLK* EblkLastEventx); +extern struct dummyq_struct* pvcsGetQ(U thid); +extern EBLK* pvcsGetLastEventEblk(U thid); +extern void insertTransEvent(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, int re, UB* predd, U fpdd); +extern void insertNtcEventRF(RmaTransEventHdr* phdr, scalar s, scalar pv, scalar resval, U schedDelta, U* delays); +extern U doTimingViolation(RmaTimeStamp ts,RP* pdata, U fskew, U limit, U floaded, U fcondopt, RmaTimeStamp tsNochange); +extern void sched_gate_hsim(EBLK* peblk, unsigned t, RP* offset, U gd_info, U encodeInPcode, void* propValue); +extern int getCurSchedRegion(); +extern FP getRoutPtr(RP, U); +extern U rmaChangeCheckAndUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits); +extern void rmaUpdateE(scalar* pvalDst, scalar* pvalSrc, U cbits); +extern U rmaChangeCheckAndUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits); +extern void rmaLhsPartSelUpdateE(scalar* pvalDst, scalar* pvalSrc, U index, U width); +extern void rmaUpdateWithForceSelectorE(scalar* pvalDst, scalar* pvalSrc, U cbits, U* pforceSelector); +extern void rmaUpdateWFromE(vec32* pvalDst, scalar* pvalSrc, U cbits); +extern U rmaLhsPartSelWithChangeCheckE(scalar* pvalDst, scalar* pvalSrc, U index, U width); +extern void rmaLhsPartSelWFromE(vec32* pvalDst, scalar* pvalSrc, U index,U width); +extern U rmaChangeCheckAndUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits); +extern void rmaUpdateW(vec32* pvalDst, vec32* pvalSrc, U cbits); +extern void rmaUpdateEFromW(scalar* pvalDst, vec32* pvalSrc, U cbits); +extern void *VCSCalloc(size_t size, size_t count); +extern void *VCSMalloc(size_t size); +extern void VCSFree(void *ptr); +extern U rmaLhsPartSelWithChangeCheckW(vec32* pvalDst, vec32* pvalSrc, U index,U width); +extern void rmaLhsPartSelEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width); +extern U rmaLhsPartSelWithChangeCheckEFromW(scalar* pvalDst, vec32* pvalSrc, U index,U width); +extern void rmaLhsPartSelUpdateW(vec32* pvalDst, vec32* pvalSrc, U index, U width); +extern void rmaEvalWunionW(vec32* dst, vec32* src, U cbits, U count); +extern void rmaEvalWorW(vec32* dst, vec32* src, U cbits, U count); +extern void rmaEvalWandW(vec32* dst, vec32* src, U cbits, U count); +extern void rmaEvalUnionE(scalar* dst, scalar* src, U cbits, U count, RP ptable); +typedef U RmaCgFunctionType; +extern RmaIbfPcode* rmaEvalPartSelectsW(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus); +extern RmaIbfPcode* rmaEvalPartSelectsWLe32(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus); +extern RmaIbfPcode* rmaEvalPartSelectsWToE(vec32* pvec32, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce); +extern RmaIbfPcode* rmaEvalPartSelectsEToE(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce, UB* pevcdStatus); +extern RmaIbfPcode* rmaEvalPartSelectsEToW(scalar* pv, U startIndex, U onWidth, U offWidth, U count, RmaIbfPcode* pibfPcode, U fnonRootForce); +extern U rmaEvalBitPosEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitNegEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitChangeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U VcsForceVecVCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U/*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot); +extern U VcsReleaseVecVCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot); +extern U VcsForceVecWCg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U/*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType, UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot); +extern U VcsReleaseVecWCg(UB* pcode, UB* pvDst, U fullcbits, U ibeginDst, U width, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot); +extern U VcsForceVecECg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot); +extern U VcsForceVecACg(UB* pcode, UB* pval, UB* pvDst, UB* pvCur, U fullcbits, U ibeginSrc, U ibeginDst, U width, U /*RmaValueConvType*/ convtype, U /*RmaForceType*/ frcType,UB* prhs, UB* prhsDst, U frhs, U* pforcedbits, U fisRoot); +extern U VcsReleaseVecCg(UB* pcode, UB* pvDst, U ibeginDst, U width, U /*RmaValueType*/ type,U fisRoot, UB* prhsDst, U frhs, U* pforcedbits); +extern U VcsDriveBitsAndDoChangeCheckV(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot); +extern U VcsDriveBitsAndDoChangeCheckW(vec32* pvSel, vec32* pvCur, U fullcbits, U* pforcedbits, U isRoot); +extern U VcsDriveBitsAndDoChangeCheckE(scalar* pvSel, scalar* pvCur, U fullcbits, U* pforcedbits, U isRoot); +extern void cgvecDebug_Eblk(UB* pcode); +extern U rmaCmpW(vec32* pvalDst, vec32* pvalSrc, U index, U width); +extern void copyVec32ArrMask(vec32* pv1, vec32* pv2, U len, U* mask); +extern void* memcpy(void*, const void*, size_t); +extern int memcmp(const void*, const void*, size_t); +extern void propagateScanOptPathVal(EBLK *peblk); +extern UB* rmaProcessScanSwitches(UB* pcode, scalar val); +extern UB* rmaProcessScanSwitchesV(UB* pcode, vec32 *pval); +extern UB* rmaProcessScanoptDump(UB* pcode, scalar val); +extern UB* rmaProcessScanoptDumpV(UB* pcode, vec32 *pval); +extern UB* rmaProcessScanChainOptSeqPrims(UB* pcode, scalar val); +extern void rmaProcessPvcsCcn(UB* pcode, scalar val); +extern void rmaProcessPvcsCcnE(UB* pcode, scalar* val); +extern void rmaProcessPvcsCcnW(UB* pcode, vec32* val); +extern void rmaProcessPvcsCcnV(UB* pcode, vec32* val); +extern void rmaProcessPvcsCcnCompiledS(UB* pcode, U offset, scalar ibnval); +extern void rmaProcessPvcsCcnCompiledV(UB* pcode, U offset, vec32* pval); +extern void schedResetRecoveryDbs(U cedges, EBLK* peblkFirst); +extern UB* rmaEvalUnaryOpV(UB* pcode, vec32* pval); +extern UB* rmaEvalBinaryOpV(UB* pcode, vec32* pval); +extern UB* rmaEvalBinaryOpVOneFanoutCount(UB* pcode, vec32* pval); +extern UB* rmaEvalBinaryOpVLargeFanoutCount(UB* pcode, vec32* pval); +extern UB* rmaEvalAndOpVOneFanoutCount(UB* pcode, vec32* value); +extern UB* rmaEvalAndOpVLargeFanoutCount(UB* pcode, vec32* value); +extern UB* rmaEvalAndOpV(UB* pcode, vec32* value); +extern UB* rmaEvalOrOpVOneFanoutCount(UB* pcode, vec32* value); +extern UB* rmaEvalOrOpVLargeFanoutCount(UB* pcode, vec32* value); +extern UB* rmaEvalOrOpV(UB* pcode, vec32* value); +extern UB* rmaEvalTernaryOpV(UB* pcode, vec32* pval); +extern UB* rmaEvalUnaryOpW(UB* pcode, vec32* pval); +extern UB* rmaEvalBinaryOpW(UB* pcode, vec32* pval); +extern UB* rmaEvalTernaryOpW(UB* pcode, vec32* pval); +extern UB* rmaEvalUnaryOpE(UB* pcode, scalar* pv); +extern UB* rmaEvalBinaryOpE(UB* pcode, scalar* pv); +extern UB* rmaEvalTernaryOpE(UB* pcode, scalar* pv); +extern UB* rmaEvalTernaryOpS(UB* pcode, scalar val); +extern scalar rmaGetScalarFromWCg(vec32* pval, U index); +extern void rmaSetScalarInWCg(vec32* pval, U index, scalar s); +extern void rmaSetWInW(vec32* dst, vec32* src, U index, U indexSrc, U width); +extern void rmaCountRaptorBits(void* pval, void* pvalPrev, U cbits, U vt); +extern void setHsimFunc(void* ip); +extern void unsetHsimFunc(void* ip); +extern UB* getEvcdStatusByFlagsE(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits); +extern UB* getEvcdStatusByFlagsV(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits); +extern UB* getEvcdStatusByFlagsW(vec32* pvec32, UB* pevcdTBDriverFlags, U cdrivers, UB* table, U cbits); +extern UB* getEvcdStatusByFlagsS(scalar* pscalar, UB* pevcdTBDriverFlags, U cdrivers, UB* table); +extern UB* getSingleDrvEvcdStatusS(UB value, U fTBDriver); +extern UB* getSingleDrvEvcdStatusE(scalar* pscalars, U fTBDriver, U cbits); +extern UB* getSingleDrvEvcdStatusV(scalar* pscalars, U fTBDriver, U cbits); +extern UB* getSingleDrvEvcdStatusW(scalar* pscalars, U fTBDriver, U cbits); +extern UB* getEvcdStatusByDrvEvcdStatus(UB* pdrvevcdStatus, U cdrivers, UB* table, U cbits); +extern void evcdCallback(UP pcode, U cbits); +extern UB* getSavedEvcdStatus(void); +extern void saveEvcdStatus(UB*); +extern void mhdlMarkExport(void*, U); +extern void levelInsertQueue(int); +extern void VcsRciRtl(RP pcode); +extern U fLoopDetectMode; +extern int gFLoopDectCodeEna; +extern U fLoopReportRT; +extern void rtSched0LoopDectDumpProcess(void* e, void* rtn, void* PQ); +extern void pushHsimRtnCtxt(void* pcode); +extern void popHsimRtnCtxt(); +extern EBLK* loopReportInlinedSched0Wrapper(EBLK *peblk); +extern void loopReportSched0Wrapper(EBLK *peblk, unsigned int sfType, unsigned int fTH, struct dummyq_struct* pq); +extern void loopReportSchedSemiLerWrapper(EBLK *peblk, int sfType); +extern void CallGraphPushNodeAndAddToGraph(UP flatNode, UP instNum, U dummy); +extern void CallGraphPopNode(void); +extern RP elabGetIpTpl(U in); +extern U rmaEvalBitBothEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitEdgeQ1W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitEdgeQXW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitEdgeQ0W(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEval01EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEval0XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEval10EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEval1XEdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalX1EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalX0EdgeW(vec32* pvalCurr, vec32* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitPosEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitNegEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitBothEdgeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitEdgeQ1E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitEdgeQ0E(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges); +extern U rmaEvalBitChangeE(scalar* pvalCurr, scalar* pvalPrev, U cbits, U* pedges); +extern void rmaScheduleNbaGate(RP pcode, scalar val); +extern void rmaEvalRtlEdgeLoads(RmaRtlEdgeBlockHdr *phdr, US clkEdge, scalar clkVal, scalar prevClkVal, scalar val4, scalar prevval4, scalar master4val); +extern void rmaEvaluateDynamicGateLoadsCg(RP p, scalar s); +extern void rmaEvaluateFusedWithDynamicGateLoadsCg(RP p, scalar s); +extern void rmaScheduleGatedClockEdgeLoadNew(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v); +extern void rmaScheduleGatedClockEdgeLoad(UB* p, US* ea, U flags, UB* plist, UB* pprevlist, scalar v); +extern void rmaRemoveNonEdgeLoads(UB* pcode); +extern void rmaRecordEvents(HsimNodeRecord *pnr); +extern void handlePCBs(UB* p, U i); +extern void markMasterClkOvaLists(U fdbs, RP p); +extern void rmaChildClockPropAfterWrite(UB* p); +extern void rmaSchedChildClockPropAfterWrite(UB* p, UB* pmasterList, UB val); +extern void HDLCosimProcessDUTInputChange(U inputId, void* val); +extern void rmaChangeListForMovedGates(UB clkVal, UB f10Edge, UB* subMasterVal, UB* plist, RP* p, U count); +extern void rmaEvalSeqPrimLoadsByteArray(UB* pcode, UB val, UB prevval4); +extern void rmaEvalSeqPrimLoadsByteArrayX(UB* pcode, UB val, UB prevval4); +extern void vcsRmaEvalSeqPrimLoadsByteArraySCT(UB* pcode, UB val, UB prevval4, U c); +extern void vcsAbortForBadEBlk(void); +extern scalar edgeChangeLookUp[4][4]; +extern void Wsvvar_sched_virt_intf_eval(RP* ptr); +extern void vcs_hwcosim_drive_dut_scalar(uint id, char val); +extern void vcs_hwcosim_drive_dut_vector_4state(uint id, vec32* val); +extern U vcs_rmaGetClkValForSeqUdpLayoutOnClkOpt(UB* poutput); +extern U rmaIsS2State(scalar s); +extern U rmaIsV2State(vec32* pval, U cbits); +extern U rmaIsW2State(vec32* pval, U cbits); +extern U rmaIsE2State(scalar* pval, U cbits); +extern void rmaUpdateRecordFor2State(HsimNodeRecord* record, U f2state); +typedef void (*FuncPtr)(); +static inline U asm_bsf (U in) +{ +#if defined(linux) + U out; +#if !defined(__aarch64__) + asm ("movl %1, %%eax; bsf %%eax, %%eax; movl %%eax, %0;" + :"=r"(out) + :"r"(in) + :"%eax" + ); +#else + out = ffs(in) - 1; +#endif + return out; +#else + return 0; +#endif +} + + +#ifdef __cplusplus +extern "C" { +#endif +void hs_0_M_0_0__simv_daidir (UB * pcode, scalar val); +void hs_0_M_0_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1302, U did); +void hs_0_M_0_2__simv_daidir (UB * pcode); +void hs_0_M_0_11__simv_daidir (UB * pcode, scalar val); +void hs_0_M_1_0__simv_daidir (UB * pcode, scalar val); +void hs_0_M_1_1__simv_daidir (UB * pcode, scalar val, U I677, scalar * I1302, U did); +void hs_0_M_1_2__simv_daidir (UB * pcode); +void hs_0_M_1_11__simv_daidir (UB * pcode, scalar val); +void hsG_0__0 (struct dummyq_struct * I1288, EBLK * I1282, U I685); +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus + } +#endif +#endif /*__DO_RMAHDR_*/ + diff --git a/sim/csrc/rmapats.m b/sim/csrc/rmapats.m new file mode 100644 index 0000000..e69de29 diff --git a/sim/csrc/rmapats.o b/sim/csrc/rmapats.o new file mode 100644 index 0000000000000000000000000000000000000000..f7e34a81fa7efc664fdcbf784df5dc8b4eaa1723 GIT binary patch literal 2096 zcmbuA&rcIU6vt;N0xGWfi!|zCjlZhVO+hdXM$@UK45kX&)*tc5y0lx1w1C~kC>LX@ zCYy?S^iT2Vuf&@%Q4>#wn<#oP9*l{<-rLT|xU?7jCe!!kv+uo`ebZ^L^(PZeib8}G za)2z%1SKTAWWkSmZj`i><%FJ~$7zP9GbvX2*f!|?WbPO0zRt6m{TP+cvpKYb?$fyY zDG*{+uTH!gVb21;K<-$O?%TD+-s;b&4mVdGEAD&dzD>Gcy(04$c{-~^h_jJaekfC& z0#!Sho6?xOp1Hw!`T*Y{?tXhYTbWZf&9O(bErWqXgjET<`OsO%s>4Aq+_R8!GC04& z{UEKyDo@)^pQUH$S$d8dPsqT*gMC_P;7DeN)}u%CUadRa)f?X1y+;cjvvL|Uof_ZW z)3XC#crAW_l<8wcxzeF*Xm4%12b+om+vq(Z|W+HtojrUvf>VyZUN98*KLmryl) ztA(nON^4w=Ha%A(0H_**00@MHnA*lmEHe1s&E)g1MGpW3>Ygm}K)rCF%?)@<1K!$z zOJ5!yu^jAbX+K^sfMMS{c#Ldz!lY9M-0uZjFCP0`kEa^&Yy)0yz^^ypq+Bv5O~=-= zq+kyiVZ#U$V<0&cqe){Zkx2EYjWmrV`wenAYa7|(M0U(3hT#-#ZMQeO?szfHOk>Xfl$~oG_EHfuf)8=TAM;GjgNe8w_HsA+n z4UA3>ZAJ*f6UMU;yc;11``r#h@WTi}{yLc&UR0+b@fF~UI+r-d`l`flNPMNl zUvZB6#Pbw&G|rpA;`k%ozFKn35u)2pxn>K(D_ccVcdRQ8(Q~F_5`DzBiJqM(m8@}K z;}edh!wuhUJ7#u_=w7&0F!E)yWc{iCpN zeudv~xD+g|BYr4?oNwdYf8)1fa2@&aE{MUJ|C-+gxmYs{LzY-ymm&CKePR0~CWmH3 zfDG%z4srI^cLvx=o_`*ES)zY}9RjCb{~sU(i9Tch@z+q~3y#b9*9JtqKP<5K`9AQj kVy-_Q>-u{ShzxT$gA+;qwyc6@_3~fv{hyL@(e>y528AdV@&Et; literal 0 HcmV?d00001 diff --git a/sim/csrc/rmapats_mop.o b/sim/csrc/rmapats_mop.o new file mode 100644 index 0000000000000000000000000000000000000000..1a9f8c51a42f2b2df84f10b938314f40b160e2a3 GIT binary patch literal 3632 zcmcJRU1%It6oBt;nq*r|Hfq#hqm(+eK}t+(1?%swyWQM{sfKJt3&JuxJIOAY-HkJo zU{EMgBN>KDKzvdk3qJa^w8faT!L5NHMWOVe4<%69k|Lq?&7XMA%)OhtlN~F92WIBn z@1Aq+J?Grn+0)16R5%nOTteg(vOVIIkj?wH^_Z*1$ZoV8Gz+F>SV|5w{+ubf<4L13 zRxFQ^!MtKAWYExbg{hYIp2dKxl7g8X%AUv`&K^0O&6>s1bT+RP^F@P6&6{c``P7GG(YROynlEr&AR}g~-nozO~eOj-#=*K>+GK{83DsOG?mf<4$h+>(u^FICp<6ruChVg4Yt}=ez$KM710BLVt6h`obMZXRN#F~N6u{!?ZX=gaxwmZOFb^e9}>72|9OFn@fmJB zcx~RK_RY8GN4F`p-;sJ`J1_Ogwl3|HZA%)E?GL0OYX45{&9wb}eD>xR_(!XWuxYItrr`td1PHNNOt+MCfTnOn9Z@x{jhY{1et zJkk+gd;*BfEjrI(O*Xo@LG<(GXmuG}yS%9GaHIVkh6UP9okRo{6EVfbuR|Dm=KTo1 zEd+@54E=742|eG?E^sYvU!nFL+5VNB&xqzLc_QjvqXV<&;LwkO*PBqFu0IR`S`$cx(kjV}nHwO=%14ocL za2Qu_VdRa2)OkswXUx8P7zR(TEG#VWa~^@7&aUG*o_{o29S+ScPwl1l)%tILY;94; z%>{DX<>m%`UKM@&sNFBYyKn&AYr~-sb+E$(9Qr+nwh*;z^{*jTtqn@mFSYRB=@YGX zLNq8;tzHsc@3rUHKkS+ByMP;n_Z#~9va5PIQZ>T+OYI-Mo_Gf5v1jfp2fc?muM4Xy zYin!xokYQJEB=1K@~+@_5@k1B_><512tp9F-vt-vcM*ah!-{i$5SIo)-T@cqs{$A8 z{}i}r{}gTx1mobp10LsD#&JIpfhQQp{o}>$4I$1Rfqx}%{Kv}eYXZMt;8FG+^w%vW zaIrp?z%e9`zY@T2Gmd+INU*;v@Lqv;;9?;7z~5~izl(8?_-QlTnO~QccwRIEo0H(#ro6X5^l6!GWEl2Eih>O6FAtW9*3!^kwxSeJsLW z#@Vp(IL!?k#8dq1OMqL|fcqzzKhF^lvnWr)pw&_<3|?c#=#MWHx8?iCuQ;xcFO?`? lpfSiH=D^qI{`~nO*l^u-V7JS7vOoq{{m>s@P;SfD{~K{)9j^cY literal 0 HcmV?d00001 diff --git a/sim/csrc/rmar.c b/sim/csrc/rmar.c new file mode 100644 index 0000000..21b81fa --- /dev/null +++ b/sim/csrc/rmar.c @@ -0,0 +1,13 @@ +#include +#include +#include "rmar0.h" + +// stubs for Hil functions +#ifdef __cplusplus +extern "C" { +#endif +void __Hil__Static_Init_Func__(void) {} +#ifdef __cplusplus +} +#endif + diff --git a/sim/csrc/rmar.h b/sim/csrc/rmar.h new file mode 100644 index 0000000..77865aa --- /dev/null +++ b/sim/csrc/rmar.h @@ -0,0 +1,18 @@ +#ifndef _RMAR1_H_ +#define _RMAR1_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __DO_RMAHDR_ +#include "rmar0.h" +#endif /*__DO_RMAHDR_*/ + +extern UP rmaFunctionRtlArray[]; + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/sim/csrc/rmar.o b/sim/csrc/rmar.o new file mode 100644 index 0000000000000000000000000000000000000000..1989370b590c66b6e560361c3b68a8b3beb9b454 GIT binary patch literal 1232 zcmbu7OHKko5Qb|26(0*UE=+JSx)BoTAc8S2%tXRNV_f)HcbZ`gLzCg{d1cm$5& z-b;85;{mh^x}hD$jaC9x^>zJK{g~&U1b$htl0 zF?^|9UkdjQSm1R8^IH5i5Wc4-{m-RQPHz*wAxE|SaRybZmPT$%vG9wWm_X;Y;kuBn<&SRINIV0B#di_&dnCz2sAzzDh?swNSAR)?v;4hIF;{c)*4?MU;@UHUHT3PQ z3Agmb3g)#R!H2i+8aUwrIC_Q6eyyF1DDl0F(krHk-eb8g$Ll$ zBagsSaN)w4r+_1Oq%xm96D^B-=}7CD`M#N*omtx-`=h~96tzesqWcu7(WyBuI}@0_W@P2tY5Mr>RBtD+wYzPKpCC!#|Y)>`8L?0MS!i=2ydg>q8; zF!mNF0$U0;n2N9cE3N&jzrjY>6S%3&Pv?aB;f^$4aqJ)V&JcaZgXKxB7SHhfJ!ZnQ zBlwGKx-JRl8C&5M*1yYGQ~mGK)Enk~3G4fuZzFD*ejodo+O5VL!#SEx0=#L$z-7p~ zvFO%+UjxwwbC^bXZW3$7&8N8j3nadG3%nlNp)i%i5FUbr?yS?p^*&Ph_`uk>o jyEp0^(!TJ%;m-fyhsSb*Z3rg0%1iNewjp?ju(Y?oPCs-- literal 0 HcmV?d00001 diff --git a/sim/csrc/rmar_nd.o b/sim/csrc/rmar_nd.o new file mode 100644 index 0000000000000000000000000000000000000000..99927ba26dcd553b6f9b45ca3007a2fe35143f2a GIT binary patch literal 1248 zcmbu8%}T>S5XUEtA4NQ<2N5rN(~D6-uqO!wOAmq|-gTRVs??-xwuPR&`UpMd(LDMX z?j$qmc1TYSBs25d`R{CYH(&P;{f_7PK<2?6c$_%?r?X7LDh#0u+YQ{INNSU&q7HtW zPOAgwj(&G_Xl>@Vt`xurXR(gjw$*63FD7F(uaZF>zL>UEvPREMF+(DX>V*Y8= z5Q4(!+P_iMO!U71&krAYb3&SSK%O1%Gv|0C_-vV>|E7e`6K@*!VLkH$;_^n9mbV$} zdFi+=z&_r|q literal 0 HcmV?d00001 diff --git a/sim/novas.conf b/sim/novas.conf new file mode 100644 index 0000000..33aad78 --- /dev/null +++ b/sim/novas.conf @@ -0,0 +1,20 @@ +[qBaseWindow_saveRestoreSession_group] +10=/home/ICer/ic_prjs/IPA/sim/verdiLog/novas_autosave.ses + +[qDockerWindow_C] +Verdi_1\position.x=-1 +Verdi_1\position.y=27 +Verdi_1\width=1280 +Verdi_1\height=921 + +[QwMainWindow] +window\nWave_2\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\0\0\0\x5\0\0\0\x2\xfe\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x2\0\0\0\x2\0\0\0\f\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0O\0P\0\x45\0N\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0\x45\0\x44\0I\0T\x1\0\0\0?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0W\0\x41\0V\0\x45\0_\0\x43\0U\0R\0S\0O\0R\x1\0\0\0\xb4\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0V\0I\0\x45\0W\x1\0\0\x2%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\"\0W\0\x41\0V\0\x45\0_\0S\0\x45\0\x41\0R\0\x43\0H\0_\0\x45\0V\0\x45\0N\0T\x1\0\0\x2\x7f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0W\0\x41\0V\0\x45\0_\0R\0\x45\0P\0L\0\x41\0Y\0_\0S\0I\0M\0\0\0\x2\xcb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\x1\0\0\x3\x1b\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\0_\0N\0\x41\0M\0\x45\0\x44\0_\0M\0\x41\0R\0K\0\x45\0R\0\0\0\x3\x32\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0T\0R\0\x41\0N\0S\0\x41\0\x43\0T\0I\0O\0N\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0W\0\x41\0V\0\x45\0_\0\x45\0X\0P\0L\0O\0R\0\x45\0_\0P\0R\0O\0P\0\x45\0R\0T\0Y\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0\x46\0I\0N\0\x44\0_\0S\0I\0G\0N\0\x41\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x18\0W\0\x41\0V\0\x45\0_\0P\0R\0I\0M\0\x41\0R\0Y\0\0\0\x3\x99\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x32\0S\0\x45\0L\0\x45\0\x43\0T\0I\0O\0N\0_\0M\0\x45\0S\0S\0\x41\0G\0\x45\0_\0T\0O\0O\0L\0\x42\0\x41\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +window\nWave_2\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\x1b\0\0\x4\xff\0\0\x3J\0\0\0\0\0\0\0\x1b\0\0\x4\xff\0\0\x3J\0\0\0\0\0\0) +window\nWave_2\menubar=true +window\nWave_2\splitters\splitter_5\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\x1:\x1\0\0\0\x1\0\0\0\0\x2) +window\nWave_2\splitters\splitter_2\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\xe2\0\0\x4\x1e\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\splitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0[\0\0\0\0\0\0\x3\xbd\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\Pane_Upper\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\xe2\0\0\x4\x1b\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\splitter_3\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0[\0\0\x3\xbd\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\wholeSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0O\0\0\0\xa3\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x1) +window\nWave_2\splitters\middleSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2) diff --git a/sim/novas.rc b/sim/novas.rc new file mode 100644 index 0000000..a90cce1 --- /dev/null +++ b/sim/novas.rc @@ -0,0 +1,1369 @@ +@verdi rc file Version 1.0 +[Library] +work = ./work +[Annotation] +3D_Active_Annotation = FALSE +[CommandSyntax.finsim] +InvokeCommand = +FullFileName = TRUE +Separator = . +SimPromptSign = ">" +HierNameLevel = 1 +RunContinue = "continue" +Finish = "quit" +UseAbsTime = FALSE +NextTime = "run 1" +NextNTime = "run ${SimBPTime}" +NextEvent = "run 1" +Reset = +ObjPosBreak = "break posedge ${SimBPObj}" +ObjNegBreak = "break negedge ${SimBPObj}" +ObjAnyBreak = "break change ${SimBPObj}" +ObjLevelBreak = +LineBreak = "breakline ${SimBPFile} ${SimBPLine}" +AbsTimeBreak = "break abstimeaf ${SimBPTime}" +RelTimeBreak = "break reltimeaf ${SimBPTime}" +EnableBP = "breakon ${SimBPId}" +DisableBP = "breakoff ${SimBPId}" +DeleteBP = "breakclr ${SimBPId}" +DeleteAllBP = "breakclr" +SimSetScope = "cd ${SimDmpObj}" +[CommandSyntax.ikos] +InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; " +FullFileName = TRUE +NeedTimeUnit = TRUE +NormalizeTimeUnit = TRUE +Separator = / +HierNameLevel = 2 +RunContinue = "run" +Finish = "exit" +NextTime = "run ${SimBPTime} ${SimTimeUnit}" +NextNTime = "run for ${SimBPTime} ${SimTimeUnit}" +NextEvent = "step 1" +Reset = "reset" +ObjPosBreak = "stop if ${SimBPObj} = \"'1'\"" +ObjNegBreak = "stop if ${SimBPObj} = \"'0'\"" +ObjAnyBreak = +ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}" +LineBreak = "stop at ${SimBPFile}:${SimBPLine}" +AbsTimeBreak = +RelTimeBreak = +EnableBP = "enable ${SimBPId}" +DisableBP = "disable ${SimBPId}" +DeleteBP = "delete ${SimBPId}" +DeleteAllBP = "delete *" +[CommandSyntax.verisity] +InvokeCommand = +FullFileName = FALSE +Separator = . +SimPromptSign = "> " +HierNameLevel = 1 +RunContinue = "." +Finish = "$finish;" +NextTime = "$db_steptime(1);" +NextNTime = "$db_steptime(${SimBPTime});" +NextEvent = "$db_step;" +SimSetScope = "$scope(${SimDmpObj});" +Reset = "$reset;" +ObjPosBreak = "$db_breakonposedge(${SimBPObj});" +ObjNegBreak = "$db_breakonnegedge(${SimBPObj});" +ObjAnyBreak = "$db_breakwhen(${SimBPObj});" +ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});" +LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");" +AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});" +RelTimeBreak = "$db_breakbeforetime(${SimBPTime});" +EnableBP = "$db_enablebreak(${SimBPId});" +DisableBP = "$db_disablebreak(${SimBPId});" +DeleteBP = "$db_deletebreak(${SimBPId});" +DeleteAllBP = "$db_deletebreak;" +FSDBInit = "$novasInteractive;" +FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});" +FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});" +FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");" +FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});" +[CoverageDetail] +cross_filter_limit = 1000 +branch_limit_vector_display = 50 +showgrid = TRUE +reuseFirst = TRUE +justify = TRUE +scrollbar_mode = per pane +test_combo_left_truncate = TRUE +instance_combo_left_truncate = TRUE +loop_navigation = TRUE +condSubExpr = 20 +tglMda = 1000 +linecoverable = 100000 +lineuncovered = 50000 +tglcoverable = 30000 +tgluncovered = 30000 +pendingMax = 1000 +show_full_more = FALSE +[CoverageHier] +showgrid = FALSE +[CoverageWeight] +Assert = 1 +Covergroup = 1 +Line = 1 +Condition = 1 +Toggle = 1 +FSM = 1 +Branch = 1 +[DesignTree] +IfShowModule = {TRUE, FALSE} +[DisabledMessages] +version = Verdi_O-2018.09-SP2 +[Editor] +editorName = TurboEditor +[Emacs] +EmacsFont = "Clean 14" +EmacsBG = white +EmacsFG = black +[Exclusion] +enableAsDefault = TRUE +saveAsDefault = TRUE +saveManually = TRUE +illegalBehavior = FALSE +DisplayExcludedItem = FALSE +adaptiveExclusion = TRUE +warningExcludeInstance = TRUE +favorite_exclude_annotation = "" +[FSM] +viewport = 65 336 387 479 +WndBk-FillColor = Gray3 +Background-FillColor = gray5 +prefKey_Link-FillColor = yellow4 +prefKey_Link-TextColor = black +Trap = red3 +Hilight = blue4 +Window = Gray3 +Selected = white +Trans. = green2 +State = black +Init. = black +SmartTips = TRUE +VectorFont = FALSE +StopAskBkgndColor = FALSE +ShowStateAction = FALSE +ShowTransAction = FALSE +ShowTransCond = FALSE +StateLable = NAME +StateValueRadix = ORIG +State-LineColor = ID_BLACK +State-LineWidth = 1 +State-FillColor = ID_BLUE2 +State-TextColor = ID_WHITE +Init_State-LineColor = ID_BLACK +Init_State-LineWidth = 2 +Init_State-FillColor = ID_YELLOW2 +Init_State-TextColor = ID_BLACK +Reset_State-LineColor = ID_BLACK +Reset_State-LineWidth = 2 +Reset_State-FillColor = ID_YELLOW7 +Reset_State-TextColor = ID_BLACK +Trap_State-LineColor = ID_RED2 +Trap_State-LineWidth = 2 +Trap_State-FillColor = ID_CYAN5 +Trap_State-TextColor = ID_RED2 +State_Action-LineColor = ID_BLACK +State_Action-LineWidth = 1 +State_Action-FillColor = ID_WHITE +State_Action-TextColor = ID_BLACK +Junction-LineColor = ID_BLACK +Junction-LineWidth = 1 +Junction-FillColor = ID_GREEN2 +Junction-TextColor = ID_BLACK +Connection-LineColor = ID_BLACK +Connection-LineWidth = 1 +Connection-FillColor = ID_GRAY5 +Connection-TextColor = ID_BLACK +prefKey_Port-LineColor = ID_BLACK +prefKey_Port-LineWidth = 1 +prefKey_Port-FillColor = ID_ORANGE6 +prefKey_Port-TextColor = ID_YELLOW2 +Transition-LineColor = ID_BLACK +Transition-LineWidth = 1 +Transition-FillColor = ID_WHITE +Transition-TextColor = ID_BLACK +Trans_Condition-LineColor = ID_BLACK +Trans_Condition-LineWidth = 1 +Trans_Condition-FillColor = ID_WHITE +Trans_Condition-TextColor = ID_ORANGE2 +Trans_Action-LineColor = ID_BLACK +Trans_Action-LineWidth = 1 +Trans_Action-FillColor = ID_WHITE +Trans_Action-TextColor = ID_GREEN2 +SelectedSet-LineColor = ID_RED2 +SelectedSet-LineWidth = 1 +SelectedSet-FillColor = ID_RED2 +SelectedSet-TextColor = ID_WHITE +StickSet-LineColor = ID_ORANGE5 +StickSet-LineWidth = 1 +StickSet-FillColor = ID_PURPLE6 +StickSet-TextColor = ID_BLACK +HilightSet-LineColor = ID_RED5 +HilightSet-LineWidth = 1 +HilightSet-FillColor = ID_RED7 +HilightSet-TextColor = ID_BLUE5 +ControlPoint-LineColor = ID_BLACK +ControlPoint-LineWidth = 1 +ControlPoint-FillColor = ID_WHITE +Bundle-LineColor = ID_BLACK +Bundle-LineWidth = 1 +Bundle-FillColor = ID_WHITE +Bundle-TextColor = ID_BLUE4 +QtBackground-FillColor = ID_GRAY6 +prefKey_Link-LineColor = ID_ORANGE2 +prefKey_Link-LineWidth = 1 +Selection-LineColor = ID_BLUE2 +Selection-LineWidth = 1 +[FSM_Dlg-Print] +Orientation = Landscape +[FileBrowser] +nWaveOpenFsdbDirHistory = "\"/home/ICer/ic_prjs/IPA/sim/tb.fsdb\"" +[Form] +version = Verdi_O-2018.09-SP2 +[General] +autoSaveSession = FALSE +TclAutoSource = +cmd_enter_form = FALSE +SyncBrowserDir = TRUE +version = Verdi_O-2018.09-SP2 +SignalCaseInSensitive = FALSE +ShowWndCtntDuringResizing = FALSE +[GlobalProp] +ErrWindow_Font = Helvetica_M_R_12 +[Globals] +app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0 +app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0 +text_encoding = Unicode(utf8) +smart_resize = TRUE +smart_resize_child_limit = 2000 +tooltip_max_width = 200 +tooltip_max_height = 20 +tooltip_viewer_key = F3 +tooltip_display_time = 1000 +bookmark_name_length_limit = 12 +disable_tooltip = FALSE +auto_load_source = TRUE +max_array_size = 4096 +filter_when_typing = TRUE +filter_keep_children = TRUE +filter_syntax = Wildcards +filter_keystroke_interval = 800 +filter_case_sensitive = FALSE +filter_full_path = FALSE +load_detail_for_funcov = FALSE +sort_limit = 100000 +ignoreDBVersionChecking = FALSE +[HB] +ViewSchematic = FALSE +windowLayout = 0 0 804 500 182 214 804 148 +import_filter = *.v; *.vc; *.f +designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-* +import_filter_vhdl = *.vhd; *.vhdl; *.f +import_default_language = Verilog +import_filter_verilog = *.v; *.vc; *.f +simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump +PrefetchViewableAnnot = TRUE +[Hier] +filterTimeout = 1500 +[ImportLiberty] +SearchPriority = .lib++ +bSkipStateCell = False +bImportPowerInfo = False +bSkipFFCell = False +bScpecifyCellNameCase = False +bSpecifyPinNameCase = False +CellNameToCase = +PinNameToCase = +[InteractiveDebug] +tbvLocalWatchArrayLimit = 50 +Watch_0 = 150 80 1032 0 +Watch_1 = 150 80 80 948 +Watch_2 = 150 80 80 200 +Watch_3 = 150 80 80 200 +Watch_4 = 150 80 80 200 +Watch_5 = 150 80 80 200 +[Language] +EditWindow_Font = COURIER12 +Background = ID_WHITE +Comment = ID_GRAY4 +Keyword = ID_BLUE5 +UserKeyword = ID_GREEN2 +Text = ID_BLACK +SelText = ID_WHITE +SelBackground = ID_BLUE2 +[Library.Ikos] +pack = ./work.lib++ +vital = ./work.lib++ +work = ./work.lib++ +std = ${dls_std}.lib++ +ieee = ${dls_ieee}.lib++ +synopsys = ${dls_synopsys}.lib++ +silc = ${dls_silc}.lib++ +ikos = ${dls_ikos}.lib++ +novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++ +[MDT] +ART_RF_SP = spr[0-9]*bx[0-9]* +ART_RF_2P = dpr[0-9]*bx[0-9]* +ART_SRAM_SP = spm[0-9]*bx[0-9]* +ART_SRAM_DP = dpm[0-9]*bx[0-9]* +VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1 +VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1 +VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0 +VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1 +VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0 +[NPExpanding] +functiongroups = FALSE +modules = FALSE +[NPFilter] +showAssertion = TRUE +showCoverGroup = TRUE +showProperty = TRUE +showSequence = TRUE +showDollarUnit = TRUE +[OldFontRC] +Wave_legend_window_font = -f COURIER12 -c ID_CYAN5 +Wave_value_window_font = -f COURIER12 -c ID_CYAN5 +Wave_curve_window_font = -f COURIER12 -c ID_CYAN5 +Wave_group_name_font = -f COURIER12 -c ID_GREEN5 +Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5 +Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5 +Wave_comment_string_font = -f COURIER12 -c ID_RED5 +HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-* +Text_font = COURIER12 +nMemory_font = Fixed 14 +Wave_getsignal_form_font = -f COURIER12 +Text_annotFont = Helvetica_M_R_10 +[OtherEditor] +cmd1 = "xterm -font 9x15 -fg black -bg gray -e" +name = "vi" +options = "+${CurLine} ${CurFullFileName}" +[Power] +PowerDownInstance = ID_GRAY1 +RetentionSignal = ID_YELLOW2 +IsolationSignal = ID_RED6 +LevelShiftedSignal = ID_GREEN6 +PowerSwitchObject = ID_ORANGE5 +AlwaysOnObject = ID_GREEN5 +PowerNet = ID_RED2 +GroundNet = ID_RED2 +SimulationOnly = ID_CYAN3 +SRSN/SPA = ID_CYAN3 +CNSSignal = ID_CYAN3 +RPTRSignal = ID_CYAN3 +AcknowledgeSignal = ID_CYAN3 +BoundaryPort = ID_CYAN3 +DisplayInstrumentedCell = TRUE +ShowCmdByFile = FALSE +ShowPstAnnot = FALSE +ShowIsoSymbol = TRUE +ExtractIsoSameNets = FALSE +AnnotateSignal = TRUE +HighlightPowerObject = TRUE +HighlightPowerDomain = TRUE +TraceThroughInstruLowPower = FALSE +BrightenPowerColorInSchematicWindow = FALSE +ShowAlias = FALSE +ShowVoltage = TRUE +MatchTreeNodesCaseInsensitive = FALSE +SearchHBNodeDynamically = FALSE +ContinueTracingSupplyOrLogicNet = FALSE +[Print] +PrinterName = lp +FileName = test.ps +PaperSize = A4 - 210x297 (mm) +ColorPrint = FALSE +[PropertyTools] +saveWaveformStat = TRUE +savePropStat = FALSE +savePropDtl = TRUE +[QtDialog] +highlightColor = 301,361,675,327 +ActiveFileDialog = 410,388,458,272 +SignalTypeDialog = 365,239,507,391 +importDesignForm = 281,237,715,574 +QwWarnMsgDlg = 330,736,600,250 +openFileDlg = 338,283,602,483 +qWaveSignalDialog = 239,285,800,479 +QwUserAskDlg = 478,459,324,134 +[Relationship] +hideRecursiceNode = FALSE +[Session Cache] +2 = string (session file name) +3 = string (session file name) +4 = string (session file name) +5 = string (session file name) +1 = /home/ICer/ic_prjs/IPA/sim/verdiLog/novas_autosave.ses +[Simulation] +scsPath = scsim +scsOption = +xlPath = verilog +xlOption = +ncPath = ncsim +ncOption = -f ncsim.args +osciPath = gdb +osciOption = +vcsPath = simv +vcsOption = +mtiPath = vsim +mtiOption = +vhncPath = ncsim +vhncOption = -log debussy.nc.log +mixncPath = ncsim +mixncOption = -log debussy.mixnc.log +speedsimPath = +speedsimOption = +mti_vlogPath = vsim +mti_vlogOption = novas_vlog +vcs_mixPath = simv +vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd" +scs_mixPath = scsim +scs_mixOption = -vhpi debussy:FSDBDumpCmd +interactiveDebugging = {True, False} +KeepBreakPoints = False +ScsDebugAll = False +simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc} +thirdpartyIdx = -1 +iscCmdSep = FALSE +NoAppendOption = False +[SimulationPlus] +xlPath = verilog +xlOption = +ncPath = ncsim +ncOption = -f ncsim.args +vcsPath = simv +vcsOption = +mti_vlogPath = vsim +mti_vlogOption = novas_vlog +mtiPath = vsim +mtiOption = +vhncPath = ncsim +vhncOption = -log debussy.nc.log +speedsimPath = verilog +speedsimOption = +mixncPath = ncsim +mixncOption = -log debussy.mixnc.log +scsPath = scsim +scsOption = +vcs_mixPath = simv +vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd" +scs_mixPath = scsim +scs_mixOption = -vhpi debussy:FSDBDumpCmd +vcs_svPath = simv +simType = vcssv +thirdpartyIdx = -1 +interactiveDebugging = FALSE +KeepBreakPoints = FALSE +iscCmdSep = FALSE +ScsDebugAll = FALSE +NoAppendOption = FALSE +invokeSimPath = work +vcs_svOption = -sml=verdi +smartlog = TRUE +[SimulationPlus2] +dumpPowerRoot = FALSE +eventDumpUnfinish = FALSE +[Source] +wordWrapOn = TRUE +viewReuse = TRUE +lineNumberOn = TRUE +warnOutdatedDlg = TRUE +showEncrypt = FALSE +loadInclude = FALSE +showColorForActive = FALSE +tabWidth = 8 +editor = vi +reload = Never +sync_active_to_source = TRUE +navigateAsColored = FALSE +navigateCovered = FALSE +navigateUncovered = TRUE +navigateExcluded = FALSE +not_ask_for_source_path = FALSE +expandMacroOn = TRUE +expandMacroInstancesThreshold = 10000 +[SourceVHDL] +vhSimType = ModelSim +ohSimType = VCS +[TclShell] +nLineSize = 1024 +[Test] +verbose_progress = FALSE +[TestBenchBrowser] +DataViewTooltip = TRUE +-showUVMDynamicHierTreeWin = FALSE +[Text] +hdlTypeName = blue4 +hdlLibrary = blue4 +viewport = 396 392 445 487 +hdlOther = ID_BLACK +hdlComment = ID_GRAY1 +hdlKeyword = ID_BLUE5 +hdlEntity = ID_BLACK +hdlEntityInst = ID_BLACK +hdlSignal = ID_RED2 +hdlInSignal = ID_RED2 +hdlOutSignal = ID_RED2 +hdlInOutSignal = ID_RED2 +hdlOperator = ID_BLACK +hdlMinus = ID_BLACK +hdlSymbol = ID_BLACK +hdlString = ID_BLACK +hdlNumberBase = ID_BLACK +hdlNumber = ID_BLACK +hdlLiteral = ID_BLACK +hdlIdentifier = ID_BLACK +hdlSystemTask = ID_BLACK +hdlParameter = ID_BLACK +hdlIncFile = ID_BLACK +hdlDataFile = ID_BLACK +hdlCDSkipIf = ID_GRAY1 +hdlMacro = ID_BLACK +hdlMacroValue = ID_BLACK +hdlPlainText = ID_BLACK +hdlOvaId = ID_PURPLE2 +hdlPslId = ID_PURPLE2 +HvlEId = ID_BLACK +HvlVERAId = ID_BLACK +hdlEscSignal = ID_BLACK +hdlEscInSignal = ID_BLACK +hdlEscOutSignal = ID_BLACK +hdlEscInOutSignal = ID_BLACK +textBackgroundColor = ID_GRAY6 +textHiliteBK = ID_BLUE5 +textHiliteText = ID_WHITE +textTracedMark = ID_GREEN2 +textLineNo = ID_BLACK +textFoldedLineNo = ID_RED5 +textUserKeyword = ID_GREEN2 +textParaAnnotText = ID_BLACK +textFuncAnnotText = ID_BLUE2 +textAnnotText = ID_BLACK +textUserDefAnnotText = ID_BLACK +ComputedSignal = ID_PURPLE5 +textAnnotTextShadow = ID_WHITE +parenthesisBGColor = ID_YELLOW5 +codeInParenthesis = ID_CYAN5 +text3DLight = ID_WHITE +text3DShadow = ID_BLACK +textHvlDriver = ID_GREEN3 +textHvlLoad = ID_YELLOW3 +textHvlDriverLoad = ID_BLUE3 +irOutline = ID_RED2 +irDriver = ID_YELLOW5 +irLoad = ID_BLACK +irBookMark = ID_YELLOW2 +irIndicator = ID_WHITE +irBreakpoint = ID_GREEN5 +irCurLine = ID_BLUE5 +hdlVhEntity = ID_BLACK +hdlArchitecture = ID_BLACK +hdlPackage = ID_BLUE5 +hdlRefPackage = ID_BLUE5 +hdlAlias = ID_BLACK +hdlGeneric = ID_BLUE5 +specialAnnotShadow = ID_BLUE1 +hdlZeroInHead = ID_GREEN2 +hdlZeroInComment = ID_GREEN2 +hdlPslHead = ID_BLACK +hdlPslComment = ID_BLACK +hdlSynopsysHead = ID_GREEN2 +hdlSynopsysComment = ID_GREEN2 +pdmlIdentifier = ID_BLACK +pdmlCommand = ID_BLACK +pdmlMacro = ID_BLACK +font = COURIER12 +annotFont = Helvetica_M_R_10 +[Text.1] +viewport = -1 27 1280 921 45 +[TextPrinter] +Orientation = Landscape +Indicator = FALSE +LineNum = TRUE +FontSize = 7 +Column = 2 +Annotation = TRUE +[Texteditor] +TexteditorFont = "Clean 14" +TexteditorBG = white +TexteditorFG = black +[ThirdParty] +ThirdPartySimTool = verisity surefire ikos finsim +[TurboEditor] +autoBackup = TRUE +[UserButton.mixnc] +Button1 = "Dump All Signals" "call fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000 -relative\n" +Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n" +Button4 = "Run Next" "run -next\n" +Button5 = "Run Step" "run -step\n" +Button6 = "Run Return" "run -return\n" +Button7 = "Show Variables" "value {${NCSelVars}}\n" +Button8 = "FSDB Ver" "call fsdbVersion" +Button9 = "Dump On" "call fsdbDumpon" +Button10 = "Dump Off" "call fsdbDumpoff" +Button11 = "All Tasks" "call" +Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}" +[UserButton.mti] +Button1 = "Dump All Signals" "fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000\n" +Button3 = "Next ? Time" "run ${Arg:Next Time}\n" +Button4 = "Show Variables" "exa ${SelVars}\n" +Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n" +Button6 = "Release Variable" "noforce ${SelVar}\n" +Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n" +[UserButton.mti_vlog] +Button1 = "Dump All Signals" "fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000\n" +Button3 = "Next ? Time" "run ${Arg:Next Time}\n" +Button4 = "Show Variables" "exa ${SelVars}\n" +Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n" +Button6 = "Release Variable" "noforce ${SelVar}\n" +Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n" +[UserButton.nc] +Button1 = "Dump All Signals" "call fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000 -relative\n" +Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n" +Button4 = "Run Next" "run -next\n" +Button5 = "Run Step" "run -step\n" +Button6 = "Run Return" "run -return\n" +Button7 = "Show Variables" "value {${NCSelVars}}\n" +[UserButton.scs] +Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n" +Button2 = "Next 1000 Time" "run 1000 \n" +Button3 = "Next ? Time" "run ${Arg:Next Time} \n" +Button4 = "Run Step" "step\n" +Button5 = "Show Variables" "ls -v {${SelVars}}\n" +[UserButton.vhnc] +Button1 = "Dump All Signals" "call fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000 -relative\n" +Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n" +Button4 = "Run Next" "run -next\n" +Button5 = "Run Step" "run -step\n" +Button6 = "Run Return" "run -return\n" +Button7 = "Show Variables" "value {${NCSelVars}}\n" +[UserButton.xl] +Button13 = "Dump Off" "$fsdbDumpoff;\n" +Button12 = "Dump On" "$fsdbDumpon;\n" +Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n" +Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n" +Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n" +Button8 = "Release Variable" "release ${SelVar};\n" +Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n" +Button6 = "Show Variables" "$showvars(${SelVars});\n" +Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n" +Button4 = "Next Event" "$db_step(1);\n" +Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n" +Button2 = "Next 1000 Time" "#1000 $stop;.\n" +Button1 = "Dump All Signals" "$fsdbDumpvars;\n" +[VIA] +viaLogViewerDefaultRuleInterForm = "share/VIA/Apps/PredefinedRules/UVM_OVM_i_rule.rc" +viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc" +[VIA.interactiveDebug.preference] +DefaultDisplayTimeUnit = "1.000000ns" +DefaultLogTimeUnit = "1.000000ns" +[VIA.interactiveDebug.preference.vgifColumnSettingRC] +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0] +parRuleSets = "/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRules/par_rule_OVM.rc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRules/par_rule_UVM.rc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRule\ +s/par_rule_LP.rc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRules/par_rule_VCS.rc " +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column0] +name = Time +width = 60 +visualIndex = 0 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column1] +name = Message +width = 2000 +visualIndex = 4 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column2] +name = Code +width = 60 +visualIndex = 2 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column3] +name = Type +width = 60 +visualIndex = 3 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column4] +name = Severity +width = 60 +visualIndex = 1 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference] +DefaultDisplayTimeUnit = "1.000000ns" +DefaultLogTimeUnit = "1.000000ns" +[VIA.oneSearch.preference.vgifColumnSettingRC] +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0] +parRuleSets = "" +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0] +name = Time +width = 60 +visualIndex = 0 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1] +name = Severity +width = 60 +visualIndex = 1 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2] +name = Code +width = 60 +visualIndex = 2 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3] +name = Type +width = 60 +visualIndex = 3 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4] +name = Message +width = 2000 +visualIndex = 4 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.parRule] +parRulePathInterForm = "" +[Vi] +ViFont = "Clean 14" +ViBG = white +ViFG = black +[Wave] +ovaEventSuccessColor = -c ID_CYAN5 +ovaEventFailureColor = -c ID_RED5 +ovaBooleanSuccessColor = -c ID_CYAN5 +ovaBooleanFailureColor = -c ID_RED5 +ovaAssertSuccessColor = -c ID_GREEN5 +ovaAssertFailureColor = -c ID_RED5 +ovaForbidSuccessColor = -c ID_GREEN5 +SigGroupRuleFile = +DisplayFileName = FALSE +waveform_vertical_scroll_bar = TRUE +scope_to_save_with_macro +open_file_dir +open_rc_file_dir +getSignalForm = 239 248 800 479 245 381 505 183 +viewPort = 0 27 1280 816 226 91 +signalSpacing = 5 +digitalSignalHeight = 15 +analogSignalHeight = 98 +commentSignalHeight = 98 +transactionSignalHeight = 98 +messageSignalHeight = 98 +minCompErrWidth = 4 +DragZoomTolerance = 4 +maxTransExpandedLayer = 10 +WaveMaxPoint = 512 +legendBackground = -c ID_BLACK +valueBackground = -c ID_BLACK +curveBackground = -c ID_BLACK +getSignalSignalList_BackgroundColor = -c ID_GRAY6 +glitchColor = -c ID_RED5 +cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed +marker = -c ID_WHITE -lw 1 -ls dash_dot_l +usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed +trace = -c ID_GRAY5 -lw 1 -ls long_dashed +grid = -c ID_WHITE -lw 1 -ls short_dashed +rulerBackground = -c ID_GRAY3 +rulerForeground = -c ID_YELLOW5 +busTextColor = -c ID_ORANGE8 +legendForeground = -c ID_CYAN5 +valueForeground = -c ID_CYAN5 +curveForeground = -c ID_CYAN5 +groupNameColor = -c ID_GREEN5 +commentStringColor = -c ID_RED5 +region(Active)Background = -c ID_YELLOW1 +region(NBA)Background = -c ID_RED1 +region(Re-Active)Background = -c ID_YELLOW3 +region(Re-NBA)Background = -c ID_RED3 +region(VHDL-Delta)Background = -c ID_ORANGE3 +region(Dump-Off)Background = -c ID_GRAY4 +High_Light = -c ID_GRAY2 +Input_Signal = -c ID_RED5 +Output_Signal = -c ID_GREEN5 +InOut_Signal = -c ID_BLUE5 +Net_Signal = -c ID_YELLOW5 +Register_Signal = -c ID_PURPLE5 +Verilog_Signal = -c ID_CYAN5 +VHDL_Signal = -c ID_ORANGE5 +SystemC_Signal = -c ID_BLUE7 +Dump_Off_Color = -c ID_BLUE2 +Compress_Bar_Color = -c ID_YELLOW4 +Vector_Dense_Block_Color = -c ID_ORANGE8 +Scalar_Dense_Block_Color = -c ID_GREEN6 +Analog_Dense_Block_Color = -c ID_PURPLE2 +Composite_Dense_Block_Color = -c ID_ORANGE5 +RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots +DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots +SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots +SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots +SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots +Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots +PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots +Isolation_Layer = -c ID_RED4 -stipple vLine +Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid +Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid +Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x +Toggle_Layer = -c ID_YELLOW4 -stipple slash +analogRealStyle = pwl +analogVoltageStyle = pwl +analogCurrentStyle = pwl +analogOthersStyle = pwl +busSignalLayer = -c ID_ORANGE8 +busXLayer = -c ID_RED5 +busZLayer = -c ID_ORANGE6 +busMixedLayer = -c ID_GREEN5 +busNotComputedLayer = -c ID_GRAY1 +busNoValueLayer = -c ID_BLUE2 +signalGridLayer = -c ID_WHITE +analogGridLayer = -c ID_GRAY6 +analogRulerLayer = -c ID_GRAY6 +keywordLayer = -c ID_RED5 +loadedLayer = -c ID_BLUE5 +loadingLayer = -c ID_BLACK +qdsCurMarkerLayer = -c ID_BLUE5 +qdsBrkMarkerLayer = -c ID_GREEN5 +qdsTrgMarkerLayer = -c ID_RED5 +arrowDefaultColor = -c ID_ORANGE6 +startNodeArrowColor = -c ID_WHITE +endNodeArrowColor = -c ID_YELLOW5 +propertyEventMatchColor = -c ID_GREEN5 +propertyEventNoMatchColor = -c ID_RED5 +propertyVacuousSuccessMatchColor = -c ID_YELLOW2 +propertyStatusBoundaryColor = -c ID_WHITE +propertyBooleanSuccessColor = -c ID_CYAN5 +propertyBooleanFailureColor = -c ID_RED5 +propertyAssertSuccessColor = -c ID_GREEN5 +propertyAssertFailureColor = -c ID_RED5 +propertyForbidSuccessColor = -c ID_GREEN5 +transactionForegroundColor = -c ID_YELLOW8 +transactionBackgroundColor = -c ID_BLACK +transactionHighLightColor = -c ID_CYAN6 +transactionRelationshipColor = -c ID_PURPLE6 +transactionErrorTypeColor = -c ID_RED5 +coverageFullyCoveredColor = -c ID_GREEN5 +coverageNoCoverageColor = -c ID_RED5 +coveragePartialCoverageColor = -c ID_YELLOW5 +coverageReferenceLineColor = -c ID_GRAY4 +messageForegroundColor = -c ID_YELLOW4 +messageBackgroundColor = -c ID_PURPLE1 +messageHighLightColor = -c ID_CYAN6 +messageInformationColor = -c ID_RED5 +ComputedAnnotColor = -c ID_PURPLE5 +fsvSecurityDataColor = -c ID_PURPLE3 +qdsAutoBusGroup = TRUE +qdsTimeStampMode = FALSE +qdsVbfBusOrderAscending = FALSE +openDumpFilter = *.fsdb;*.vf;*.jf +DumpFileFilter = *.vcd +RestoreSignalFilter = *.rc +SaveSignalFilter = *.rc +AddAliasFilter = *.alias;*.adb +CompareSignalFilter = *.err +ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm +Scroll_Ratio = 100 +Zoom_Ratio = 10 +EventSequence_SyncCursorTime = TRUE +EventSequence_Sorting = FALSE +EventSequence_RemoveGrid = FALSE +EventSequence_IsGridMode = FALSE +SetDefaultRadix_global = FALSE +DefaultRadix = Hex +SigSearchSignalMatchCase = FALSE +SigSearchSignalScopeOption = FALSE +SigSearchSignalSamenetInterface = FALSE +SigSearchSignalFullScope = FALSE +SigSearchSignalWithRegExp = FALSE +SigSearchDynamically = FALSE +SigDisplayBySelectionOrder = FALSE +SigDisplayRowMajor = FALSE +SigDragSelFollowColumn = FALSE +SigDisplayHierarchyBox = TRUE +SigDisplaySubscopeBox = TRUE +SigDisplayEmptyScope = TRUE +SigDisplaySignalNavigationBox = FALSE +SigDisplayFormBus = TRUE +SigShowSubProgram = TRUE +SigSearchScopeDynamically = TRUE +SigCollapseSubtreeNodes = FALSE +activeFileApplyToAnnotation = FALSE +GrpSelMode = TRUE +dispGridCount = FALSE +hierarchyName = FALSE +partial_level_name = FALSE +partial_level_head = 1 +partial_level_tail = 1 +displayMessageLabelOnly = TRUE +autoInsertDumpoffs = TRUE +displayMessageCallStack = FALSE +displayCallStackWithFullSections = TRUE +displayCallStackWithLastSection = FALSE +limitMessageMaxWidth = FALSE +messageMaxWidth = 50 +displayTransBySpecificColor = FALSE +fittedTransHeight = FALSE +snap = TRUE +gravitySnap = FALSE +displayLeadingZero = FALSE +displayGlitchs = FALSE +allfileTimeRange = FALSE +fixDelta = FALSE +displayCursorMarker = FALSE +autoUpdate = FALSE +restoreFromActiveFile = TRUE +restoreToEnd = FALSE +dispCompErr = TRUE +showMsgDes = TRUE +anaAutoFit = FALSE +anaAutoPattn = FALSE +anaAuto100VertFit = FALSE +displayDeltaY = FALSE +centerCursor = FALSE +denseBlockDrawing = TRUE +relativeFreqPrecision = 3 +showMarkerAbsolute = FALSE +showMarkerAdjacent = FALSE +showMarkerRelative = FALSE +showMarkerFrequency = FALSE +stickCursorMarkerOnWaveform = TRUE +keepMarkerAtEndTimeOfTransaction = FALSE +doubleClickToExpandTransaction = TRUE +expandTransactionAssociatedSignals = TRUE +expandTransactionAttributeSignals = FALSE +WaveExtendLastTick = TRUE +InOutSignal = FALSE +NetRegisterSignal = FALSE +VerilogVHDLSignal = FALSE +LabelMarker = TRUE +ResolveSymbolicLink = TRUE +signal_rc_abspath = TRUE +signal_rc_no_natural_bus_range = FALSE +save_scope_with_macro = FALSE +TipInSignalWin = FALSE +DisplayPackedSiganlInBitwiseManner = FALSE +DisplaySignalTypeAheadOfSignalName = TRUE ICON +TipInCurveWin = FALSE +MouseGesturesInCurveWin = TRUE +DisplayLSBsFirst = FALSE +PaintSpecificColorPattern = TRUE +ModuleName = TRUE +form_all_memory_signal = FALSE +formBusSignalFromPartSelects = FALSE +read_value_change_on_demand_for_drawing = FALSE +load_scopes_on_demand = on 5 +TransitionMode = TRUE +DisplayRadix = FALSE +SchemaX = FALSE +Hilight = TRUE +UseBeforeValue = FALSE +DisplayFileNameAheadOfSignalName = FALSE +DisplayFileNumberAheadOfSignalName = FALSE +DisplayValueSpace = TRUE +FitAnaByBusSize = FALSE +displayTransactionAttributeName = FALSE +expandOverlappedTrans = FALSE +dispSamplePointForAttrSig = TRUE +dispClassName = TRUE +ReloadActiveFileOnly = FALSE +NormalizeEVCD = FALSE +OverwriteAliasWithRC = TRUE +overlay_added_analog_signals = FALSE +case_insensitive = FALSE +vhdlVariableCalculate = TRUE +showError = TRUE +signal_vertical_scroll_bar = TRUE +showPortNameForDroppedInstance = FALSE +truncateFilePathInTitleBar = TRUE +filterPropVacuousSuccess = FALSE +includeLocalSignals = FALSE +encloseSignalsByGroup = TRUE +resaveSignals = TRUE +adjustBusPrefix = adjustBus_ +adjustBusBits = 1 +adjustBusSettings = 69889 +maskPowerOff = TRUE +maskIsolation = TRUE +maskRetention = TRUE +maskDrivingPowerOff = TRUE +maskToggle = TRUE +autoBackupSignals = off 5 "\"/home/ICer/ic_prjs/IPA/sim/verdiLog\"" "\"novas_autosave_sig\"" +signal_rc_attribute = 65535 +signal_rc_alias_attribute = 0 +ConvertAttr1 = -inc FALSE +ConvertAttr2 = -hier FALSE +ConvertAttr3 = -ucase FALSE +ConvertAttr4 = -lcase FALSE +ConvertAttr5 = -org FALSE +ConvertAttr6 = -mem 24 +ConvertAttr7 = -deli . +ConvertAttr8 = -hier_scope FALSE +ConvertAttr9 = -inst_array FALSE +ConvertAttr10 = -vhdlnaming FALSE +ConvertAttr11 = -orgScope FALSE +analogFmtPrecision = Automatic 2 +confirmOverwrite = TRUE +confirmExit = TRUE +confirmGetAll = TRUE +printTimeRange = TRUE 0.000000 0.000000 0.000000 +printPageRange = TRUE 1 1 +printOption = 0 +printBasic = 1 0 0 FALSE FALSE +printDest = -printer {} +printSignature = {%f %h %t} {} +curveWindow_Drag&Drop_Mode = TRUE +hspiceIncOpenMode = TRUE +pcSelectMode = TRUE +hierarchyDelimiter = / +RecentFile1 = "\"/home/ICer/ic_prjs/IPA/sim/tb.fsdb\"" +open_file_time_range = FALSE +value_window_aligment = Right +signal_window_alignment = Auto +ShowDeltaTime = TRUE +legend_window_font = -f COURIER12 -c ID_CYAN5 +value_window_font = -f COURIER12 -c ID_CYAN5 +curve_window_font = -f COURIER12 -c ID_CYAN5 +group_name_font = -f COURIER12 -c ID_GREEN5 +ruler_value_font = -f COURIER12 -c ID_CYAN5 +analog_ruler_value_font = -f COURIER12 -c ID_CYAN5 +comment_string_font = -f COURIER12 -c ID_RED5 +getsignal_form_font = -f COURIER12 +SigsCheckNum = on 1000 +filter_synthesized_net = off n +filterOutNet = on +filter_synthesized_instance = off +filterOutInstance = on +showGroupTree = TRUE +hierGroupDelim = / +MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \ +ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5} +AutoApplySeverityColor = TRUE +AutoAdjustMsgWidthByLabel = off +verilogStrengthDispType = type1 +waveDblClkActiveTrace = on +autoConnectTBrowser = FALSE +connectTBrowserInContainer = TRUE +SEQShowComparisonIcon = TRUE +SEQAddDriverLoadInSameGroup = TRUE +autoSyncCursorMarker = FALSE +autoSyncHorizontalRange = FALSE +autoSyncVerticalScroll = FALSE +[cov_hier_name_column] +justify = TRUE +[coverageColors] +sou_uncov = TRUE +sou_pc = TRUE +sou_cov = TRUE +sou_exuncov = TRUE +sou_excov = TRUE +sou_unreach = TRUE +sou_unreachcon = TRUE +sou_fillColor_uncov = red +sou_fillColor_pc = yellow +sou_fillColor_cov = green3 +sou_fillColor_exuncov = grey +sou_fillColor_excov = #3C9371 +sou_fillColor_unreach = grey +sou_fillColor_unreachcon = orange +numberOfBins = 6 +rangeMin_0 = 0 +rangeMax_0 = 20 +fillColor_0 = #FF6464 +rangeMin_1 = 20 +rangeMax_1 = 40 +fillColor_1 = #FF9999 +rangeMin_2 = 40 +rangeMax_2 = 60 +fillColor_2 = #FF8040 +rangeMin_3 = 60 +rangeMax_3 = 80 +fillColor_3 = #FFFF99 +rangeMin_4 = 80 +rangeMax_4 = 100 +fillColor_4 = #99FF99 +rangeMin_5 = 100 +rangeMax_5 = 100 +fillColor_5 = #64FF64 +[coveragesetting] +assertTopoMode = FALSE +urgAppendOptions = +group_instance_new_format_name = TRUE +showvalue = FALSE +computeGroupsScoreByRatio = FALSE +computeGroupsScoreByInst = FALSE +showConditionId = FALSE +showfullhier = FALSE +nameLeftAlignment = TRUE +showAllInfoInTooltips = FALSE +copyItemHvpName = TRUE +ignoreGroupWeight = FALSE +absTestName = FALSE +HvpMergeTool = +ShowMergeMenuItem = FALSE +fsmScoreMode = transition +[eco] +NameRule = +IsFreezeSilicon = FALSE +cellQuantityManagement = FALSE +ManageMode = INSTANCE_NAME +SpareCellsPinsManagement = TRUE +LogCommitReport = FALSE +InputPinStatus = 1 +OutputPinStatus = 2 +RevisedComponentColor = ID_BLUE5 +SpareCellColor = ID_RED5 +UserName = ICer +CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time} +PrefixN = eco_n +PrefixP = eco_p +PrefixI = eco_i +DefaultTieUpNet = 1'b1 +DefaultTieDownNet = 1'b0 +MultipleInstantiations = TRUE +KeepClockPinConnection = FALSE +KeepAsyncResetPinConnection = FALSE +ScriptFileModeType = 1 +MagmaScriptPower = VDD +MagmaScriptGround = GND +ShowModeMsg = TRUE +AstroScriptPower = VDD +AstroScriptGround = VSS +ClearFloatingPorts = FALSE +[eco_connection] +Port/NetIsUnique = TRUE +SerialNet = 0 +SerialPort = 0 +SerialInst = 0 +[finsim] +TPLanguage = Verilog +TPName = Super-FinSim +TPPath = TOP.sim +TPOption = +AddImportArgument = FALSE +LineBreakWithScope = FALSE +StopAfterCompileOption = -i +[hvpsetting] +importExcelXMLOptions = +use_test_loca_as_source = FALSE +autoTurnOffHideMeetGoalInit = FALSE +autoTurnOffHideMeetGoal = TRUE +autoTurnOffModifierInit = FALSE +autoTurnOffModifier = TRUE +enableNumbering = TRUE +autoSaveCheck = TRUE +autoSaveTime = 5 +ShowMissingScore = TRUE +enableFeatureId = FALSE +enable_HVP_FEAT_ID = FALSE +enableMeasureConcealment = FALSE +HvpCloneHierShowMsgAgain = 1 +HvpCloneHierType = tree +HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert +autoRecalPlanAfterLoadingCovDBUserDataPlan = false +warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true +autoRecalExclWithPlan = false +warnMeAutoRecalExclWithPlan = true +autoRecalPlanWithExcl = false +warnMeAutoRecalPlanWithExcl = true +warnPopupWarnWhenMultiFilters = true +warnPopupWarnIfHvpReadOnly = true +unmappedObjsReportLevel = def_var_inst +unmappedObjsReportInst = true +unmappedObjsNumOfObjs = High +[ikos] +TPLanguage = VHDL +TPName = Voyager +TPPath = vsh +TPOption = -X +AddImportArgument = FALSE +LineBreakWithScope = FALSE +StopAfterCompileOption = -i +[imp] +options = NULL +libPath = NULL +libDir = NULL +[nCompare] +ErrorViewport = 80 180 800 550 +EditorViewport = 409 287 676 475 +EditorHeightWidth = 802 380 +WaveCommand = "novas" +WaveArgs = "-nWave" +[nCompare.Wnd0] +ViewByHier = FALSE +[nMemory] +dispMode = ADDR_HINT +addrColWidth = 120 +valueColWidth = 100 +showCellBitRangeWithAddr = TRUE +wordsShownInOneRow = 8 +syncCursorTime = FALSE +fixCellColumnWidth = FALSE +font = Courier 12 +[planColors] +plan_fillColor_inactive = lightGray +plan_fillColor_warning = orange +plan_fillColor_error = red +plan_fillColor_invalid = #F0DCDB +plan_fillColor_subplan = lightGray +[schematics] +viewport = 178 262 638 516 +schBackgroundColor = black lineSolid +schBackgroundColor_qt = #000000 qt_solidLine 1 +schBodyColor = orange6 lineSolid +schBodyColor_qt = #ffb973 qt_solidLine 1 +schAsmBodyColor = blue7 lineSolid +schAsmBodyColor_qt = #a5a5ff qt_solidLine 1 +schPortColor = orange6 lineSolid +schPortColor_qt = #ffb973 qt_solidLine 1 +schCellNameColor = Gray6 lineSolid +schCellNameColor_qt = #e0e0e0 qt_solidLine 1 +schCLKNetColor = red6 lineSolid +schCLKNetColor_qt = #ff7373 qt_solidLine 1 +schPWRNetColor = red4 lineSolid +schPWRNetColor_qt = #ff0101 qt_solidLine 1 +schGNDNetColor = cyan4 lineSolid +schGNDNetColor_qt = #01ffff qt_solidLine 1 +schSIGNetColor = green8 lineSolid +schSIGNetColor_qt = #cdffcd qt_solidLine 1 +schTraceColor = yellow4 lineSolid +schTraceColor_qt = #ffff01 qt_solidLine 2 +schBackAnnotateColor = white lineSolid +schBackAnnotateColor_qt = #ffffff qt_solidLine 1 +schValue0 = yellow4 lineSolid +schValue0_qt = #ffff01 qt_solidLine 1 +schValue1 = green3 lineSolid +schValue1_qt = #008000 qt_solidLine 1 +schValueX = red4 lineSolid +schValueX_qt = #ff0101 qt_solidLine 1 +schValueZ = purple7 lineSolid +schValueZ_qt = #ffcdff qt_solidLine 1 +dimColor = cyan2 lineSolid +dimColor_qt = #008080 qt_solidLine 1 +schPreSelColor = green4 lineDash +schPreSelColor_qt = #01ff01 qt_dashLine 2 +schSIGBusNetColor = green8 lineSolid +schSIGBusNetColor_qt = #cdffcd qt_solidLine +schGNDBusNetColor = cyan4 lineSolid +schGNDBusNetColor_qt = #01ffff qt_solidLine +schPWRBusNetColor = red4 lineSolid +schPWRBusNetColor_qt = #ff0101 qt_solidLine +schCLKBusNetColor = red6 lineSolid +schCLKBusNetColor_qt = #ff7373 qt_solidLine +schEdgeSensitiveColor = orange6 lineSolid +schEdgeSensitiveColor_qt = #ffb973 qt_solidLine +schAnnotColor = cyan4 lineSolid +schAnnotColor_qt = #01ffff qt_solidLine +schInstNameColor = orange6 lineSolid +schInstNameColor_qt = #ffb973 qt_solidLine +schPortNameColor = cyan4 lineSolid +schPortNameColor_qt = #01ffff qt_solidLine +schAsmLatchColor = cyan4 lineSolid +schAsmLatchColor_qt = #01ffff qt_solidLine +schAsmRegColor = cyan4 lineSolid +schAsmRegColor_qt = #01ffff qt_solidLine +schAsmTriColor = cyan4 lineSolid +schAsmTriColor_qt = #01ffff qt_solidLine +pre_select = True +ShowPassThroughNet = False +ComputedAnnotColor = ID_PURPLE5 +[schematics_print] +Signature = FALSE +DesignName = PCU +DesignerName = bai +SignatureLocation = LowerRight +MultiPage = TRUE +AutoSliver = FALSE +[sourceColors] +BackgroundActive = gray88 +BackgroundInactive = lightgray +InactiveCode = dimgray +Selection = darkblue +Standard = black +Keyword = blue +Comment = gray25 +Number = black +String = black +Identifier = darkred +Inline = green +colorIdentifier = green +Value = darkgreen +MacroBackground = white +Missing = #400040 +[specColors] +top_plan_linked = #ADFFA6 +top_plan_ignore = #D3D3D3 +top_plan_todo = #EECBAD +sub_plan_ignore = #919191 +sub_plan_todo = #EFAFAF +sub_plan_linked = darkorange +[spec_link_setting] +use_spline = true +goto_section = false +exclude_ignore = true +truncate_abstract = false +abstract_length = 999 +compare_strategy = 2 +auto_apply_margin = FALSE +margin_top = 0.80 +margin_bottom = 0.80 +margin_left = 0.50 +margin_right = 0.50 +margin_unit = inches +[spiceDebug] +ThroughNet = ID_YELLOW5 +InstrumentSig = ID_GREEN5 +InterfaceElement = ID_GREEN5 +Run-timeInterfaceElement = ID_BLUE5 +HighlightThroughNet = TRUE +HighlightInterfaceElement = TRUE +HighlightRuntimeInterfaceElement = TRUE +HighlightSameNet = TRUE +[surefire] +TPLanguage = Verilog +TPName = SureFire +TPPath = verilog +TPOption = +AddImportArgument = TRUE +LineBreakWithScope = TRUE +StopAfterCompileOption = -tcl +[turboSchema_Printer_Options] +Orientation = Landscape +[turbo_library] +bdb_load_scope = +[vdCovFilteringSearchesStrings] +keepLastUsedFiltersMaxNum = 10 +[verisity] +TPLanguage = Verilog +TPName = "Verisity SpeXsim" +TPPath = vlg +TPOption = +AddImportArgument = FALSE +LineBreakWithScope = TRUE +StopAfterCompileOption = -s +[wave.0] +viewPort = 0 27 1280 816 226 91 +[wave.1] +viewPort = 127 219 960 332 100 65 +[wave.2] +viewPort = 38 314 686 205 100 65 +[wave.3] +viewPort = 63 63 700 400 65 41 +[wave.4] +viewPort = 84 84 700 400 65 41 +[wave.5] +viewPort = 92 105 700 400 65 41 +[wave.6] +viewPort = 0 0 700 400 65 41 +[wave.7] +viewPort = 21 21 700 400 65 41 diff --git a/sim/novas_dump.log b/sim/novas_dump.log new file mode 100644 index 0000000..faa8081 --- /dev/null +++ b/sim/novas_dump.log @@ -0,0 +1,359 @@ +####################################################################################### +# log primitive debug message of FSDB dumping # +# This is for R&D to analyze when there are issues happening when FSDB dump # +####################################################################################### +ANF: vcsd_get_serial_mode_status('simv: undefined symbol: vcsd_get_serial_mode_status') +ANF: vcsd_enable_sva_success_callback('simv: undefined symbol: vcsd_enable_sva_success_callback') +ANF: vcsd_disable_sva_success_callback('simv: undefined symbol: vcsd_disable_sva_success_callback') +ANF: vcsd_get_thread_id('simv: undefined symbol: vcsd_get_thread_id') +ANF: vcsd_get_power_scope_name('simv: undefined symbol: vcsd_get_power_scope_name') +ANF: vcsd_begin_no_value_var_info('simv: undefined symbol: vcsd_begin_no_value_var_info') +ANF: vcsd_end_no_value_var_info('simv: undefined symbol: vcsd_end_no_value_var_info') +ANF: vcsd_remove_xprop_merge_mode_callback('simv: undefined symbol: vcsd_remove_xprop_merge_mode_callback') +ANF: vcsd_node_check_native_callback('simv: undefined symbol: vcsd_node_check_native_callback') +ANF: vcsd_node_add_native_callback('simv: undefined symbol: vcsd_node_add_native_callback') +ANF: vcsdIsNativeVc('simv: undefined symbol: vcsdIsNativeVc') +ANF: vhpi_get_cb_info('simv: undefined symbol: vhpi_get_cb_info') +ANF: vhpi_free_handle('simv: undefined symbol: vhpi_free_handle') +ANF: vhpi_fetch_vcsd_handle('simv: undefined symbol: vhpi_fetch_vcsd_handle') +ANF: vhpi_fetch_vpi_handle('simv: undefined symbol: vhpi_fetch_vpi_handle') +ANF: vhpi_has_verilog_parent('simv: undefined symbol: vhpi_has_verilog_parent') +ANF: vhpi_is_verilog_scope('simv: undefined symbol: vhpi_is_verilog_scope') +ANF: scsd_xprop_is_enabled('simv: undefined symbol: scsd_xprop_is_enabled') +ANF: scsd_xprop_sig_is_promoted('simv: undefined symbol: scsd_xprop_sig_is_promoted') +ANF: scsd_xprop_int_xvalue('simv: undefined symbol: scsd_xprop_int_xvalue') +ANF: scsd_xprop_bool_xvalue('simv: undefined symbol: scsd_xprop_bool_xvalue') +ANF: scsd_xprop_enum_xvalue('simv: undefined symbol: scsd_xprop_enum_xvalue') +ANF: scsd_xprop_register_merge_mode_cb('simv: undefined symbol: scsd_xprop_register_merge_mode_cb') +ANF: scsd_xprop_delete_merge_mode_cb('simv: undefined symbol: scsd_xprop_delete_merge_mode_cb') +ANF: scsd_xprop_get_merge_mode('simv: undefined symbol: scsd_xprop_get_merge_mode') +ANF: scsd_thread_get_info('simv: undefined symbol: scsd_thread_get_info') +ANF: scsd_thread_vc_init('simv: undefined symbol: scsd_thread_vc_init') +ANF: scsd_master_set_delta_sync_cbk('simv: undefined symbol: scsd_master_set_delta_sync_cbk') +ANF: scsd_fgp_get_fsdb_cores('simv: undefined symbol: scsd_fgp_get_fsdb_cores') +ANF: msvEnableDumpingMode('simv: undefined symbol: msvEnableDumpingMode') +ANF: msvGetVersion('simv: undefined symbol: msvGetVersion') +ANF: msvGetInstProp('simv: undefined symbol: msvGetInstProp') +ANF: msvIsSpiceEngineReady('simv: undefined symbol: msvIsSpiceEngineReady') +ANF: msvSetAddProbeCallback('simv: undefined symbol: msvSetAddProbeCallback') +ANF: msvGetInstHandle('simv: undefined symbol: msvGetInstHandle') +ANF: msvGetProbeByInst('simv: undefined symbol: msvGetProbeByInst') +ANF: msvGetSigHandle('simv: undefined symbol: msvGetSigHandle') +ANF: msvGetProbeBySig('simv: undefined symbol: msvGetProbeBySig') +ANF: msvGetProbeInfo('simv: undefined symbol: msvGetProbeInfo') +ANF: msvRelease('simv: undefined symbol: msvRelease') +ANF: msvSetVcCallbackFunc('simv: undefined symbol: msvSetVcCallbackFunc') +ANF: msvCheckVcCallback('simv: undefined symbol: msvCheckVcCallback') +ANF: msvAddVcCallback('simv: undefined symbol: msvAddVcCallback') +ANF: msvRemoveVcCallback('simv: undefined symbol: msvRemoveVcCallback') +ANF: msvGetLatestValue('simv: undefined symbol: msvGetLatestValue') +ANF: msvSetEndofSimCallback('simv: undefined symbol: msvSetEndofSimCallback') +ANF: msvIgnoredProbe('simv: undefined symbol: msvIgnoredProbe') +ANF: msvGetThruNetInfo('simv: undefined symbol: msvGetThruNetInfo') +ANF: msvFreeThruNetInfo('simv: undefined symbol: msvFreeThruNetInfo') +ANF: PI_ace_get_output_time_unit('simv: undefined symbol: PI_ace_get_output_time_unit') +ANF: PI_ace_sim_sync('simv: undefined symbol: PI_ace_sim_sync') +ANF: msvGetRereadInitFile('simv: undefined symbol: msvGetRereadInitFile') +ANF: msvSetBeforeRereadCallback('simv: undefined symbol: msvSetBeforeRereadCallback') +ANF: msvSetAfterRereadCallback('simv: undefined symbol: msvSetAfterRereadCallback') +ANF: msvSetForceCallback('simv: undefined symbol: msvSetForceCallback') +ANF: msvSetReleaseCallback('simv: undefined symbol: msvSetReleaseCallback') +ANF: msvGetForceStatus('simv: undefined symbol: msvGetForceStatus') +ANF: vdi_fn_trigger_native_init_force('simv: undefined symbol: vdi_fn_trigger_native_init_force') +ANF: vdi_set_native_callback('simv: undefined symbol: vdi_set_native_callback') +ANF: vdi_fn_check_native_callback('simv: undefined symbol: vdi_fn_check_native_callback') +ANF: vdi_fn_add_native_callback('simv: undefined symbol: vdi_fn_add_native_callback') +ANF: vhdi_dt_get_type('simv: undefined symbol: vhdi_dt_get_type') +ANF: vhdi_dt_get_key('simv: undefined symbol: vhdi_dt_get_key') +ANF: vhdi_dt_get_vhdl_enum_info('simv: undefined symbol: vhdi_dt_get_vhdl_enum_info') +ANF: vhdi_dt_get_vhdl_physical_info('simv: undefined symbol: vhdi_dt_get_vhdl_physical_info') +ANF: vhdi_dt_get_vhdl_array_info('simv: undefined symbol: vhdi_dt_get_vhdl_array_info') +ANF: vhdi_dt_get_vhdl_record_info('simv: undefined symbol: vhdi_dt_get_vhdl_record_info') +ANF: vhdi_def_traverse_module('simv: undefined symbol: vhdi_def_traverse_module') +ANF: vhdi_def_traverse_scope('simv: undefined symbol: vhdi_def_traverse_scope') +ANF: vhdi_def_traverse_variable('simv: undefined symbol: vhdi_def_traverse_variable') +ANF: vhdi_def_get_module_id_by_vhpi('simv: undefined symbol: vhdi_def_get_module_id_by_vhpi') +ANF: vhdi_def_get_handle_by_module_id('simv: undefined symbol: vhdi_def_get_handle_by_module_id') +ANF: vhdi_def_get_variable_info_by_vhpi('simv: undefined symbol: vhdi_def_get_variable_info_by_vhpi') +ANF: vhdi_def_free('simv: undefined symbol: vhdi_def_free') +ANF: vhdi_ist_traverse_scope('simv: undefined symbol: vhdi_ist_traverse_scope') +ANF: vhdi_ist_traverse_variable('simv: undefined symbol: vhdi_ist_traverse_variable') +ANF: vhdi_ist_convert_by_vhpi('simv: undefined symbol: vhdi_ist_convert_by_vhpi') +ANF: vhdi_ist_clone('simv: undefined symbol: vhdi_ist_clone') +ANF: vhdi_ist_free('simv: undefined symbol: vhdi_ist_free') +ANF: vhdi_ist_hash_key('simv: undefined symbol: vhdi_ist_hash_key') +ANF: vhdi_ist_compare('simv: undefined symbol: vhdi_ist_compare') +ANF: vhdi_ist_get_value_addr('simv: undefined symbol: vhdi_ist_get_value_addr') +ANF: vhdi_set_scsd_callback('simv: undefined symbol: vhdi_set_scsd_callback') +ANF: vhdi_cbk_set_force_callback('simv: undefined symbol: vhdi_cbk_set_force_callback') +ANF: vhdi_trigger_init_force('simv: undefined symbol: vhdi_trigger_init_force') +ANF: vhdi_ist_check_scsd_callback('simv: undefined symbol: vhdi_ist_check_scsd_callback') +ANF: vhdi_ist_add_scsd_callback('simv: undefined symbol: vhdi_ist_add_scsd_callback') +ANF: vhdi_ist_remove_scsd_callback('simv: undefined symbol: vhdi_ist_remove_scsd_callback') +ANF: vhdi_ist_get_scsd_user_data('simv: undefined symbol: vhdi_ist_get_scsd_user_data') +ANF: vhdi_add_time_change_callback('simv: undefined symbol: vhdi_add_time_change_callback') +ANF: vhdi_get_real_value_by_value_addr('simv: undefined symbol: vhdi_get_real_value_by_value_addr') +ANF: vhdi_get_64_value_by_value_addr('simv: undefined symbol: vhdi_get_64_value_by_value_addr') +ANF: vhdi_xprop_inst_is_promoted('simv: undefined symbol: vhdi_xprop_inst_is_promoted') +ANF: vdi_ist_convert_by_vhdi('simv: undefined symbol: vdi_ist_convert_by_vhdi') +ANF: vhdi_ist_get_module_id('simv: undefined symbol: vhdi_ist_get_module_id') +ANF: vhdi_refine_foreign_scope_type('simv: undefined symbol: vhdi_refine_foreign_scope_type') +ANF: vhdi_flush_callback('simv: undefined symbol: vhdi_flush_callback') +ANF: vhdi_set_orig_name('simv: undefined symbol: vhdi_set_orig_name') +ANF: vhdi_set_dump_pt('simv: undefined symbol: vhdi_set_dump_pt') +ANF: vhdi_get_fsdb_option('simv: undefined symbol: vhdi_get_fsdb_option') +ANF: vhdi_fgp_get_mode('simv: undefined symbol: vhdi_fgp_get_mode') +ANF: vhdi_node_register_composite_var('simv: undefined symbol: vhdi_node_register_composite_var') +ANF: vhdi_node_analysis('simv: undefined symbol: vhdi_node_analysis') +ANF: vhdi_node_id('simv: undefined symbol: vhdi_node_id') +ANF: vhdi_node_ist_check_scsd_callback('simv: undefined symbol: vhdi_node_ist_check_scsd_callback') +ANF: vhdi_node_ist_add_scsd_callback('simv: undefined symbol: vhdi_node_ist_add_scsd_callback') +ANF: vhdi_node_ist_get_value_addr('simv: undefined symbol: vhdi_node_ist_get_value_addr') +VCS compile option: + option[0]: simv + option[1]: +vc + option[2]: +v2k + option[3]: /home/synopsys/vcs-mx/O-2018.09-1/linux64/bin/vcs1 + option[4]: -Mcc=gcc + option[5]: -Mcplusplus=g++ + option[6]: -Masflags= + option[7]: -Mcfl= -pipe -fPIC -O -I/home/synopsys/vcs-mx/O-2018.09-1/include + option[8]: -Mxcflags= -pipe -fPIC -I/home/synopsys/vcs-mx/O-2018.09-1/include + option[9]: -Mldflags= -rdynamic + option[10]: -Mout=simv + option[11]: -Mamsrun= + option[12]: -Mvcsaceobjs= + option[13]: -Mobjects= /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvirsim.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/liberrorinf.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libsnpsmalloc.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvfs.so + option[14]: -Mexternalobj= + option[15]: -Msaverestoreobj=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcs_save_restore_new.o + option[16]: -Mcrt0= + option[17]: -Mcrtn= + option[18]: -Mcsrc= + option[19]: -Msyslibs=/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl + option[20]: -Xvcs_run_simv=1 + option[21]: -timescale=1ns/1ps + option[22]: -full64 + option[23]: +vc + option[24]: +v2k + option[25]: -debug_access+all + option[26]: +vpi + option[27]: +vcsd1 + option[28]: +itf+/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcsdp_lite.tab + option[29]: -picarchive + option[30]: -P + option[31]: /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab + option[32]: -fsdb + option[33]: -sverilog + option[34]: -gen_obj + option[35]: -f + option[36]: rtl.f + option[37]: -f + option[38]: tb.f + option[39]: -load + option[40]: /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/libnovas.so:FSDBDumpCmd + option[41]: timescale=1ns/1ps +Chronologic Simulation VCS Release O-2018.09-1_Full64 +Linux 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64 +CPU cores: 8 +Limit information: +====================================== +cputime unlimited +filesize unlimited +datasize unlimited +stacksize 8192 kbytes +coredumpsize 0 kbytes +memoryuse unlimited +vmemoryuse unlimited +descriptors 4096 +memorylocked 64 kbytes +maxproc 4096 +====================================== +(Special)Runtime environment variables: + +Runtime environment variables: +XDG_SESSION_ID=2 +HOSTNAME=IC_EDA +TERM_PROGRAM=vscode +UNAME=/bin/uname +SELINUX_ROLE_REQUESTED= +SCRNAME=vcs +VCS_DEPTH=0 +SHELL=/bin/bash +TERM=xterm-256color +MAKEFLAGS= +HISTSIZE=1000 +SSH_CLIENT=192.168.223.1 58217 22 +QUESTASIM_HOME=/home/mentor/questasim +SELINUX_USE_CURRENT_RANGE= +TERM_PROGRAM_VERSION=1.85.2 +QTDIR=/usr/lib/qt-3.3 +QTINC=/usr/lib/qt-3.3/include +LC_ALL=C +QT_GRAPHICSSYSTEM_CHECKED=1 +USER=ICer +LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45: +LD_LIBRARY_PATH=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib::/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUX64:/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/IUS/LINUX64/boot:/home/cadence/INCISIVE152/tools.lnx86/lib:/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUX64:/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/IUS/LINUX64/boot:/home/cadence/INCISIVE152/tools.lnx86/lib +SCRIPT_NAME=vcs +MAKE_TERMOUT=/dev/pts/1 +VCS_MX_HOME_INTERNAL=1 +DVE_HOME=/home/synopsys/vcs-mx/O-2018.09-1 +SNPSLMD_LICENSE_FILE=27000@IC_EDA +MAKELEVEL=1 +OVA_UUM=0 +MFLAGS= +MMSIMHOME=/home/cadence/MMSIM151 +VCS_MODE_FLAG=64 +PATH=.:/home/Xilinx/SDK/2019.1/bin:/home/Xilinx/SDK/2019.1/gnu/microblaze/lin/bin:/home/Xilinx/SDK/2019.1/gnu/arm/lin/bin:/home/Xilinx/SDK/2019.1/gnu/microblaze/linux_toolchain/lin64_le/bin:/home/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin:/home/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-none-eabi/bin:/home/Xilinx/SDK/2019.1/gnu/aarch64/lin/aarch64-linux/bin:/home/Xilinx/SDK/2019.1/gnu/aarch64/lin/aarch64-none/bin:/home/Xilinx/SDK/2019.1/gnu/armr5/lin/gcc-arm-none-eabi/bin:/home/Xilinx/SDK/2019.1/tps/lnx64/cmake-3.3.2/bin:/home/Xilinx/Vivado/2019.1/bin:/home/Xilinx/DocNav:/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/bin/remote-cli:/home/Xilinx/SDK/2019.1/bin:/home/Xilinx/SDK/2019.1/gnu/microblaze/lin/bin:/home/Xilinx/SDK/2019.1/gnu/arm/lin/bin:/home/Xilinx/SDK/2019.1/gnu/microblaze/linux_toolchain/lin64_le/bin:/home/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin:/home/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-none-eabi/bin:/home/Xilinx/SDK/2019.1/gnu/aarch64/lin/aarch64-linux/bin:/home/Xilinx/SDK/2019.1/gnu/aarch64/lin/aarch64-none/bin:/home/Xilinx/SDK/2019.1/gnu/armr5/lin/gcc-arm-none-eabi/bin:/home/Xilinx/SDK/2019.1/tps/lnx64/cmake-3.3.2/bin:/home/Xilinx/Vivado/2019.1/bin:/home/Xilinx/DocNav:/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/home/synopsys/fpga/N-2018.03-SP1/bin:/home/synopsys/pts/O-2018.06-SP1/bin:/home/synopsys/icc2/O-2018.06-SP1/bin:/home/synopsys/syn/O-2018.06-SP1/bin:/home/synopsys/lc/O-2018.06-SP1/bin:/home/synopsys/SpyGlass-L2016.06/SPYGLASS_HOME//bin:/home/synopsys/vcs-mx/O-2018.09-1/gui/dve/bin:/home/synopsys/vcs-mx/O-2018.09-1/bin:/home/synopsys/verdi/Verdi_O-2018.09-SP2/bin:/home/synopsys/scl/2018.06/linux64/bin::/home/cadence/IC617/tools/dfII/bin:/home/cadence/IC617/tools/plot/bin:/home/cadence/INCISIVE152/tools/bin:/home/cadence/MMSIM151/bin:/home/cadence/MMSIM151/tools/relxpert/bin:/home/cadence/INCISIVE152/bin:/home/cadence/INCISIVE152/tools.lnx86/bin:/home/cadence/INCISIVE152/tools.lnx86/dfII/bin:/home/mentor/questasim/linux_x86_64:/home/Riscv_Tools/bin:/home/Riscv_Tools/riscv-gnu-toolchain/qemu-6.0.0/build/riscv32-linux-user:/usr/local/sbin:/usr/sbin:/home/synopsys/fpga/N-2018.03-SP1/bin:/home/synopsys/pts/O-2018.06-SP1/bin:/home/synopsys/icc2/O-2018.06-SP1/bin:/home/synopsys/syn/O-2018.06-SP1/bin:/home/synopsys/lc/O-2018.06-SP1/bin:/home/synopsys/SpyGlass-L2016.06/SPYGLASS_HOME//bin:/home/synopsys/vcs-mx/O-2018.09-1/gui/dve/bin:/home/synopsys/vcs-mx/O-2018.09-1/bin:/home/synopsys/verdi/Verdi_O-2018.09-SP2/bin:/home/synopsys/scl/2018.06/linux64/bin::/home/cadence/IC617/tools/dfII/bin:/home/cadence/IC617/tools/plot/bin:/home/cadence/INCISIVE152/tools/bin:/home/cadence/MMSIM151/bin:/home/cadence/MMSIM151/tools/relxpert/bin:/home/cadence/INCISIVE152/bin:/home/cadence/INCISIVE152/tools.lnx86/bin:/home/cadence/INCISIVE152/tools.lnx86/dfII/bin:/home/mentor/questasim/linux_x86_64:/home/Riscv_Tools/bin:/home/Riscv_Tools/riscv-gnu-toolchain/qemu-6.0.0/build/riscv32-linux-user +MAIL=/var/spool/mail/ICer +PT_HOME=/home/synopsys/pts/O-2018.06-SP1 +CALIBRE_HOME=/home/mentor//Calibre2015/aoi_cal_2015.2_36.27 +VERDI_HOME=/home/synopsys/verdi/Verdi_O-2018.09-SP2 +MGC_CALIBRE_LAYOUT_SERVER=IC_EDA:9189 +PWD=/home/ICer/ic_prjs/IPA/sim +VCS_HOME=/home/synopsys/vcs-mx/O-2018.09-1 +MGC_CALIBRE_SCHEMATIC_SERVER=IC_EDA:9199 +LANG=zh_CN.UTF-8 +KDEDIRS=/usr +VCS_ARCH_OVERRIDE=linux +VSCODE_GIT_ASKPASS_EXTRA_ARGS= +VMR_MODE_FLAG=64 +SELINUX_LEVEL_REQUESTED= +CDSHOME=/home/cadence/IC617 +XILINX_VIVADO=/home/Xilinx/Vivado/2019.1 +QEMU_HOME=/home/Riscv_Tools/riscv-gnu-toolchain/qemu-6.0.0 +HISTCONTROL=ignoredups +SPECMAN_HOME=/home/cadence/INCISIVE152/components/sn +VCS_ARG_ADDED_FOR_TMP=1 +SNPS_VCS_TMPDIR=/tmp/vcs_20250826084555_15976 +HOME=/home/ICer +RISCV=/home/Riscv_Tools +SHLVL=7 +VSCODE_GIT_ASKPASS_MAIN=/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/git/dist/askpass-main.js +MGC_HOME=/home/mentor/ +ICC2_HOME=/home/synopsys/icc2/O-2018.06-SP1 +MGC_LICENSE_FILE=/home/mentor//license/license.dat +CADHOME=/home/cadence +VCS_COM=/home/synopsys/vcs-mx/O-2018.09-1/linux64/bin/vcs1 +LOGNAME=ICer +DC_HOME=/home/synopsys/syn/O-2018.06-SP1 +MGLS_LICENSE_FILE=/home/mentor/questasim/mentor.dat +QTLIB=/usr/lib/qt-3.3/lib +SPYGLASS_HOME=/home/synopsys/SpyGlass-L2016.06/SPYGLASS_HOME/ +MAKE_TERMERR=/dev/pts/1 +XDG_DATA_DIRS=/home/ICer/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share +SSH_CONNECTION=192.168.223.1 58217 192.168.223.129 22 +VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-07cba0c96a.sock +VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-1591ffa4-a3ad-479f-90eb-871a7ef0f2ac.sock +CDS_LIC_FILE=/home/cadence/license/cadence.dat +SPECMAN_DIR=/home/cadence/INCISIVE152/components/sn/ +LESSOPEN=||/usr/bin/lesspipe.sh %s +BROWSER=/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/bin/helpers/browser.sh +SCL_HOME=/home/synopsys/scl/2018.06 +sysc_uni_pwd=/home/ICer/ic_prjs/IPA/sim +VSCODE_GIT_ASKPASS_NODE=/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/node +GIT_ASKPASS=/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/git/dist/askpass.sh +XDG_RUNTIME_DIR=/run/user/1000 +SYNPLIFY_HOME=/home/synopsys/fpga/N-2018.03-SP1 +VCS_ARCH=linux64 +QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins +LC_HOME=/home/synopsys/lc/O-2018.06-SP1 +TOOL_HOME=/home/synopsys/vcs-mx/O-2018.09-1/linux64 +INCISIVE_HOME=/home/cadence/INCISIVE152 +COLORTERM=truecolor +_=./simv +OLDPWD=/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch +VCS_HEAP_EXEC=true +VCS_PATHMAP_PRELOAD_DONE=1 +VCS_EXEC_DONE=1 +DVE=/home/synopsys/vcs-mx/O-2018.09-1/gui/dve +SPECMAN_OUTPUT_TO_TTY=1 +Runtime command line arguments: +argv[0]=simv +argv[1]=+vc +argv[2]=+v2k +273 profile - 100 + CPU/Mem usage: 0.080 sys, 0.480 user, 245.62M mem +274 Tue Aug 26 16:45:57 2025 +275 pliAppInit +276 FSDB_GATE is set. +277 FSDB_RTL is set. +278 Enable Parallel Dumping. +279 pliAppMiscSet: New Sim Round +280 pliEntryInit +281 LIBSSCORE=found /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/lib/LINUXAMD64/libsscore_vcs201809.so through $NOVAS_HOME setting. +282 FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019 +283 (C) 1996 - 2019 by Synopsys, Inc. +284 sps_call_fsdbDumpfile_main at 0 : ../tb/data_cache/tb_data_cache.v(166) +285 argv[0]: (tb.fsdb) +286 *Verdi* : Create FSDB file 'tb.fsdb' +287 compile option from '/home/ICer/ic_prjs/IPA/sim/simv.daidir/vcs_rebuild'. +288 "vcs '-f' 'rtl.f' '-f' 'tb.f' '-timescale=1ns/1ps' '-full64' '-R' '+vc' '+v2k' '-sverilog' '-debug_access+all' 2>&1" +289 FSDB_VCS_ENABLE_FAST_VC is enable +290 sps_call_fsdbDumpvars_vd_main at 0 : ../tb/data_cache/tb_data_cache.v(167) +291 argv[0]: (0) +292 argv[1]: (handle) tb_data_cache +293 [spi_vcs_vd_ppi_create_root]: no upf option +294 FSDB dumper cannot dump UPF related power signal ($power_tree): no ppiPowerNetwork. +295 *Verdi* : Begin traversing the scope (tb_data_cache), layer (0). +296 *Verdi* : End of traversing. +297 pliAppHDL_DumpVarComplete traverse var: profile - + CPU/Mem usage: 0.130 sys, 0.490 user, 340.83M mem + incr: 0.010 sys, 0.010 user, 7.38M mem + accu: 0.010 sys, 0.010 user, 7.38M mem + accu incr: 0.010 sys, 0.010 user, 7.38M mem + + Count usage: 258 var, 214 idcode, 106 callback + incr: 258 var, 214 idcode, 106 callback + accu: 258 var, 214 idcode, 106 callback + accu incr: 258 var, 214 idcode, 106 callback +298 Tue Aug 26 16:45:57 2025 +299 pliAppHDL_DumpVarComplete: profile - + CPU/Mem usage: 0.130 sys, 0.490 user, 341.88M mem + incr: 0.000 sys, 0.000 user, 1.05M mem + accu: 0.010 sys, 0.010 user, 8.43M mem + accu incr: 0.000 sys, 0.000 user, 1.05M mem + + Count usage: 258 var, 214 idcode, 106 callback + incr: 0 var, 0 idcode, 0 callback + accu: 258 var, 214 idcode, 106 callback + accu incr: 0 var, 0 idcode, 0 callback +300 Tue Aug 26 16:45:57 2025 +301 sps_call_fsdbDumpMDA_vd_main at 0 : ../tb/data_cache/tb_data_cache.v(168) +302 argv[0]: (0) +303 argv[1]: (handle) tb_data_cache +304 *Verdi* : Begin traversing the MDAs under scope (tb_data_cache), layer (0). +305 *Verdi* : Enable +mda and +packedmda dumping. +306 *Verdi* : End of traversing the MDAs. +307 pliAppHDL_DumpVarComplete traverse var: profile - + CPU/Mem usage: 0.140 sys, 0.490 user, 341.88M mem + incr: 0.010 sys, 0.000 user, 0.00M mem + accu: 0.010 sys, 0.000 user, 0.00M mem + accu incr: 0.010 sys, 0.000 user, 0.00M mem + + Count usage: 4098 var, 4054 idcode, 111 callback + incr: 3840 var, 3840 idcode, 5 callback + accu: 3840 var, 3840 idcode, 5 callback + accu incr: 3840 var, 3840 idcode, 5 callback +308 Tue Aug 26 16:45:57 2025 +309 pliAppHDL_DumpVarComplete: profile - + CPU/Mem usage: 0.140 sys, 0.490 user, 342.16M mem + incr: 0.000 sys, 0.000 user, 0.28M mem + accu: 0.010 sys, 0.000 user, 0.28M mem + accu incr: 0.000 sys, 0.000 user, 0.28M mem + + Count usage: 4098 var, 4054 idcode, 111 callback + incr: 0 var, 0 idcode, 0 callback + accu: 3840 var, 3840 idcode, 5 callback + accu incr: 0 var, 0 idcode, 0 callback +310 Tue Aug 26 16:45:57 2025 +311 End of simulation at 36076000 +312 Tue Aug 26 16:45:57 2025 +313 Begin FSDB profile info: +314 FSDB Writer : bc1(35379) bcn(99202) mtf/stf(0/0) +FSDB Writer elapsed time : flush(0.033912) io wait(0.000000) theadpool wait(0.000000) target functin(0.000000) +FSDB Writer cpu time : MT Compression : 0 +315 End FSDB profile info +316 Parallel profile - Flush:4 Expand:0 ProduceWait:0 ConsumerWait:1 BlockUsed:2 +317 ProduceTime:0.730205081 ConsumerTime:0.021449033 Buffer:64MB +318 SimExit +319 Sim process exit diff --git a/sim/rtl.f b/sim/rtl.f new file mode 100644 index 0000000..3610372 --- /dev/null +++ b/sim/rtl.f @@ -0,0 +1,7 @@ +../rtl/data_cache/sync_fifo.v +../rtl/data_cache/async_fifo.v +../rtl/data_cache/histogram_ctrl.v +../rtl/data_cache/data_assemble.v +../rtl/data_cache/axi_write_ctrl.v +../rtl/data_cache/rst_sync.v +../rtl/data_cache/data_cache.v diff --git a/sim/simv b/sim/simv new file mode 100755 index 0000000000000000000000000000000000000000..968a74f2994f98a9bc532415cb44eaca392ac849 GIT binary patch literal 926312 zcmeFad3;mF_cwmK1j^d5$s$UD0%dR65vvKbkU|TQvdLn)r3-Y4O$r4?3vGoEs})gk zuL_EaST{smsGuxvRB!=NsECqMkOB&b2+#Y>%uOe^$>-to{XM@wp4a2m>C8DZbLKr~ z&YW59ZMio#etcj+fTBKu$}I{}?O!o47XPUz?vAY)O+O6ED5WKS_EY*QO+W`T9_3J; z!7Hu^WTc|TA)Hi#5L3MxkzW&N07bL`KNY1b``Hky2q~s|4Ua)2d3m|+Q_0+gQU%bAmPr^vyvJiJU&;W{P14T*<``Hk)K7mKQrnEnt z5u)D8i98`-D&}7uX;g3S_03tv-0OJ(HU1)!msex8z1vWaYntc(?|!Q7O%?6=!)X%@ zsIh7vrcAv~2@DINnxE-c07glVz)Yellr*JnU~mbf zRWvWD=n=L|uN0xx9z|j0A)O{fWQBF#Zcu_Fx+@XE!BulV4oq6vs-!3=QYi_k2piVj zh$*lE7(UYl!<1Tv=&AN{Wg7Yrxm;=1q(?wVkFj$@+TLPY+13R3ZY3Z%Do_at2#K3I zy}vRxpm}NV1A+R$;?}m7_s4`qDv<+jZ=)!tB4vB~0KH=9)G0Dd(JdchS{)wms%R5j z9b;2MN)51s!0-_0OCMB18jA@G7=?xdlwjr~ZYzqtX+_|ErCGpzCBJr7LX-f5vNNE2 z$gov0pBP){^_eYEH6SpkZBd}1;(et})38vbc>Qj}*oc<8B3OA~2c=7((xm;$3MDv1 zr<5#Tey6fhc_YMVc&MoR?4B(*C@&gTM7Atte5#js*gB$q=O| zut>oZ@^MLsA>^1La_nvT5aosDN|-L7Vok6z%@&aKc5qDKokdDBy%HQ4Muo{9o<*oY zpyzpn7g$PB)**fgVFSV|2pbVzM|cC_ZG?9a-bL7guodBbgbxwu*@mzkVF$t|2)ht= zBkV!=4B-m|_4x{ky@J?}_*;bU5e_08LiiDZo+CU`jw1dAp;pi*5&w>G8lfKH48l2t zKM^h>{Dp7{;WEM%gsTYj&{7hJphE~jpr;w)<_IkiS|YSUXpInx&<3F$LVJYk5a{WQ z_(p_o2t5#bBGA(dafC?sMcfY|5+O?Ph9Vw@FdShd!Waa442X>)Jq~dU0vUcBLIT2V z2vZRf5!7co(lZfeBg{pZhmeGjfW#9LMsG%+9Ga; z&;g+%LMMdl5xOGK(+zPCgq{fD2)z*cBJ@M(k1!Ykj!qehFdSht!c7Qc5DW-L1bSi+ z$0CeJn1B$6FbN?ZVKRalVH(18gqaAl5N0FLGf%`8#Hk2YL1!RtxoPajAxrXR#=Wv- z%5$@GhW=<@+diZEr!~VLc`2h;>WJloy3Blc`KcjoAG;^q^7MeNo$sHK>>B#hr~`k5 zxvvb}+kR!2DFJ&fx2m;2?ASZ#W_`i5*Q!G1uG;5(S$|L2rqaAwWqAiDg$A29CB|L3 zF8a@yHh;YN$|J>hy%Te@^UI(GvlIVrGA4bg)qH)2grNQx%1zaKgH4ALKK?oXlbiR{ z|GDWk{gmnR-!2^=cHiC+mE%Ik~K74xo!&hD!9l5SP^x&-7m!^K( z^>D`ZFOFWiv-vvW(${?K=5$c+R=@f808%)lHAJ z7@BhEls#sKLD*blv!LUP5_U&QFdZK&#n?GJY zW@LQyiTwR>znpD)^W&MbbBdh1e%$@l-@RTt*(UA4J-=;ly6J?zd9R=LWb_}galr4T z>Glt!PEY&0WB2b4hxLr#oIIsl%(~4lKYZ?B{I1}$<`cPVYj5Ww;cQHN|T#sthu2m`rh8o%dg(tHF@}= z=1)zU(cd(qS>z0}>+SORdz!9|c(eHPt2^3!{%hBZ_Z&`6dfPH$z$e?jKD+S!sX@Jq zU)WH4Ds}EH+h5xCUD*Eg;dRR^ySH`k{{F(jfVZ>XJG8o>^F3$HjW&?kH+*{2$3NedI^Xrzf;BliKHE6ym#V-y z-`+jH*|_iOK7II`$r;y=I$GZSlX-?g@3v}x^qHUC>zvI~`?ei@-*aQv>>QVL`tV!* z=ETlfx25b%>!o$mXMS`fuXgtn_jP}LY~8kp_pf^A%BX$^MlC&f_ttTbv{z<~THgO~ z$etg*{N$KG2v_tY8lGkw|&w=a7Bjg79Y%5@Wd|I}^zZOHQntCX`(e!6aKvxm|i z|0R0fpqIbw_1N`2pRRmyV%p)bx)~?+lg@W;^_T9SjmtjD4zRtp^vIc%V=LEYWp5t( z^Wxy~dDp#W{pzj(Z#G%)32>NqW>z3cYx$(jo^GsvgGZ!jmf4lguA16L#iO#d^ z95sFI*&j>IgKv54-rbv`jL+-VTSA+)n(%@p>w`bDYzOX~)%ARb_N$#AH67c$*~k|A zpXk|j_|!{f!~S}C^oILi{URe_ZPxapJ@0%nVAA=Vh;M%|&3o|SFE%U;Jzn+DJG%Z` zKl;7v;gchm#teJV{(6fhZB~yu+)qpO$v)A8oIL!WkBRc)xrux^R_ z=lAQT?qBrD%I6ow-w>O8-}LSKhaSm%Zu0cszF2U_>T@xB=f~#0cl&km@kiG`yyAHL z#p6ozmws9QN#DfFV@~#dy}0l8T}O7bxbDSC=UYGf=s&Y2mX!Q{--P?Rhjf`b>2$Y! z`+i-~eQ(b#JMw$KdEcG)bT#aFt=ZhO{ac<`)%AgwTRk`OM9yOmk6GTf#CTLR5z~UCKK@ zJRoHLpoN*$wF4fxXEDaqdG_@06+15fG_P4+OgjHuYKPy3y%oE8Z=d?ZJ)KjVTsP_d zwFk}l9hblLYR^|kJQ$RJ!@Bo2&Wu@c&nu4)J=FKibuT9^Ib_qJEn;zoFDWS3c%s)tAd2 z`TS(F{Zl7*+!fvRwt`O6_dmJd-Y4$nt7_w)hj1OywlP~-f@6p;egw+;;)jFji@yr% zwJ-h$*rWL3(;nFuzk?rsF^)*S%3p4$D7}63%Y+k{uky3}$X|uRsM6@E^waKDKm6H{ zyXt3N9PrcbB51~!evbOF^C5ov`=y|ChyL#A9e{=nmKNRM>UvEK~A3f0h6GSz7=q|w* zf196q_b}uDYNO|*pYrYe=<`cIc=G({;Q{b{wM%zdzVOfTvrZ-Y(Pv9P{4Rd*Z1cl! ziw&HweG%O!`NDa~kDR@J-p z=BIo*`s+(?-Tk!N+Yf($AAY(Y{@s4;p~?@=etzt~Dfm4a%@*7t`;p%~$ajCQ`0*R# z{K&Z4tQ;q)=JXR39J{Y zO`hw?`L+NP;{!H(h6Te$mFwAi3u1s|&s4#mh4$$YkrD$rZ4~@)@b|!QJM0<6^wU}~ z&o(l;Q1C}L7OF`wZ2;k{6lha)*Z@*?Ncdsup!4dndtN&}Mj3tf6g}?rJ1<{(&RhOq2xR@$$RCM*k(}LPT-5%q6a6w@ z=5kbfdjU++V5ptp2&M0khaMtS1b7jnL8Cl`gC*K6b~8N}u5f8y=#6MD0W zajDVBnFN7^C+s6`C*K9|3L|ge{G?#6&zpsuKG=X#dF42lpCS0Y8P0G;ALgykLTnPK zeEHwJysC#;VVtkm*ux5;=PDg~(v-`ocX0fehU}RW!TFJ5zN_}o z8WVx$`;Q!sXTDErCUD-)nEve9g?{OkUP?$0ZdZb>1d4Gyz{PmRFmWi2r+;mqWnJ9zg_UglPc^` zdCka5eg?hM6O4+4$DpzEX9d4T*r$sZS31HlsJ!hjZ}}~Ta6KmpKU^frr?dSP=8?v~ z-6ibACj8HQQGRIzmtP_L6{@r6l)z(~#_=Z#{`RK4U9%W3sD(XS#C)$5a$q*>NyL2= z>#tbH?-l&^t@*y!_L4zxcy#XoUjFTk-uxQ{KTO!qXi=+F_#bm;j`MfHe?Z_-e&u>g z6Z{V`4uq#@CNCct$TKYvqW?uX)_A}-h zj~uYP;|Qynd8|i^85Co{d`ZQB267xo-q)78W;7uQc+y#DCEx-_(i0=4?RPz9KTV z3B8qzeGXu-=NBQzCg=(gUmD2e)NA}+dx78Fk;_-ti|vAcf2Bc4;88LB9^t7!%loUg z`&ut<53@Au;7VpE;YyLl-r`Z7*{5bbI)eGAhu$JKdF!nQ_UBaIrm=@$G47p&UP1)g z-u?MFmTUY>w2+hZKJRaaC_fASpX8To@I*A_a%O4f^@A;Wd9!9+3m5Z9e~RnJA>=pf z&db*;+@e&yJ<^BEH)-@UQLHbDSYK3oULMBf)QE98F618;dZ^~jdhGK$;RnoJcz^j% zd}Al(QMqPc{kb?_M4sn@RGf2!T@4fMsdx?uy+sPYksiJ9K4-fX_c=Q@PorV7_*R0pCv3+1q zrQGg4FPeAcc*-^VmLA=?{7Ch@ECy@{`~X|0H1pyS$RYc$*4SrT(XLrDUNhm6XfIv8 z&LDcqqcE|a+CJptxL)L@s{03x-^jsuv3aLCCoU1|=|xSy9u$7B`WLR}R3U#242`1L{Ul#5*^3J#BU0T1cHt&x8p^hR(_(AZ&Yf|txqz0?x|F2+FdB-qgk}4&c{s5FT!81Sr@(+ z{7TKdev6&Qdn#^?{5VnGrtyd8MZ0=2vDA58&isG4GC*Tj9htrLR1Rp?!Dq#KR3Y}& zaiSk5#J($1jBmK$9}x4pP%~Zy!Vl{;ez;2Y=bH7dGZaPpgfI>MIMFYtgFUJ~e-?hM zLin*!B7X>gF}rPUVx0A2A2_=O=bJVD#EpX$+0Owne^vPwG4G0g=k|~$A*r(TjC(ifDJNz^~WfzY2RM`C-Dp zWr*^RHRt?ljh>^$xRh(w>wyAi#U$RZgJPm4iG6aU#vi5$J=BZ+$wQ*uYz!3Bzvdoe zj_})6FB(Ki9;J(OoL<dEJCCyhO??#uZ$&Ak2-{a|=H@qTR( zat;W6mTTtS&0=32`5Pa|Iima+>_16Pg}9fq2!1Qo&Nce%CdM&LoEOw}@Z|_Dr(Sda zbG#|%M{4%rI-%!Caef30_LziUGHdQ(V$l%UbGYWdv5#oCN^_1|BkosMiutSRd9zrL zA~g4boy5GTbaVZr3Op;=dK9iyYy3bS!`ViO=wlKkdDJk5c`fMx&ocg&kIF=CxIfuhN0*O}H^-s#q5eXx4>$ zgx!{F?BS*muAd6A&m1C9&Faqi`e%)dvjYBt9-Y8n|AK+h>W|LAL;75)+2{o($qRXNmf%ecmG4t=6=Aj;&weia}#n)5W+)PB$`1i9+5!;pfAI zpHcPjRS&KQn?|3Buz%Vw88rTOjL=Wy5w2%-zZ4FfWG5z#eU^xJ4c{6V60Rjh`A+y% zy=I*~4SN72`~r!AetMqUnZ02jsIi|n#CoUK=x0lRj(?2?{|3w#!fDXpyh+`kX!P)u zuq&I!o_`R2pjvaE79s4jQnLMiuFS(hUqhwM|hRYe__{p!9;vrm`>|4epko5{x) zGmt%ZiuIyK%=h8K?lz%a>Ti{%zY8$FB&S}pPkWz@W4L10`2Ve9pR5${b~}Nlr!~_j z?q@W1xJIn+^&0$z!akG4x&|2Rd6W6)o=PXpeq#svOZYEp@V}_eN6k9&w9vmz;|~*r zo!ErmPEp$xdaD=nWxwF>>c#a_t~n?Eh`?4;aO`5wVs)Or%I)M1!H>nbuyNGvw-wQ@S<~(_O}Ko6uxBh!?3sc2sE4E| z&A#HKy8jgSJWE9RZ`t}4u0#rZ)(ieJ;h*P;c_JcZli1glYv#r4*oP4QEt>KA3FA(B ztJL_7Gi)Cct|V#Z#r2`wzZGpT2qZiz5$EnojlH?Vx?J^wclmErJ!|f1&%+_Gan$&$ zonn1S60M^9?0HA%xmt5hIRht5{{MjXUPa6oLuWp|>bL~4eNIosteL;X!v3qp{&TTt zw>#{X=UqzvgZfb53LuKFBv#P{JdM}pY_QUEvf$Wh1lgxFWq zYu4-Qgg-QE{F_mn2dg#rVCTfRglYOU1nW5U*QObl_Bap`9&@EZ^ngc^m=|o^HTPhj z_vdm7t&_aUKc${S#d|%c$ZZ8ZlbmV|{vcsjdJX?EVV@OZJw^A~Qz-bAVq8G7XCBr; znqMKB`}}-?M|ssCO7f^9_S>X~P8xr5i?EYX!a&q<@28$G#JZ`D@0Y?qM{4}T80HVd z6`RICeAHdw6!TG)bBNgwHr?V;`A@(P5YADWaU3W7Ly|b(IYhl~!tYgU&Zh^&I2wdM z$rt5w#QUZy@t!wD@LvQ@8m|MId1@HQ@gzOK$Gr$R==lJOqVoEUMn)fJKk*(18zI79 zrMX}IS=eEr#txS<`Qi8|eln8)H^QEiV&4*@(f{c%E??2;=d3utB#C?4Y$2z&*w2_X z=gltI2a`Lil{qtasbh`7X{oBSrZV z*gxqfNrV5FHpItwXd3&ODezZo@P8rNHEZ_6;bMKM)~qk>`f&M?nss44Izr=EBfg_h z?cu!IFU|hpg7A}Ojr`77??{eW9OUMR{{ATTMPZtGmkoQM@-~g1yaW4o(oea@PHqt6 ztJnBRT_Bh9hi1Ol3ccwy;R|7JNx~nhelHdFLwbwU=xwm@&zTy%ofCdouQ?~$ z;NM7&VWUAH7m+1u#L%HpmgM}@%&di0OBDVjkCK>`o8>T%8*AjLSqW1WTYg@8OhJxq zY*ub^{$gWVT0YO4sw~XT%dprT$@z`~n$?}wJUb3!;C6%xpqffni6L=W@qQ6 z@+xuWX-MS6Bxl8B`3^CL_!dh>PF^m@WU)}Og<1LbtQ^YAOb2$O z!;znrQsA)0XW1RfLc48zRTs3Petyylm$wDPI96ZnjK$|n`+F@PhPCpQ!}k;krqd$ zXG{_oK$0UbSDBg%t>@VtPpr{z-f>it|t7Os&G1B9c z?T*A5D8FD@W|R`E z?=YT32c+eU&(2%KXFzgxYGPgiQ1J|=1DYDvLThS*)sdNpKBZ&&vC>&-g)GJda1`wA-!u4kaVi?8rCgTR|+eDh?QCqIrCNUQV1@NiE3FPc)Cq zb%>ObZcj_G+-b9<(WFfupJ7uqFxl#GEVfxCTTl0}gl5wUa&i{)DWN1TvRZ94^U<_2 zC1t)f)xq&Hn=gR6Gq~iq+%#*U;$V8_>FkBsw-s0mtcr#Dmce|8U9s2-vh7w&z9l&| zwEzZ{sdB6h97m2#Ev7W2tx9IH9rGy7$n0Lpw?YNE7KbA_gU#?%I}JY#d|I}BaSpRy zmWt2ITToylohH~brdn-z`IroRz@ku=ITxCO3};?;nk6-5fhA3tgW^cHOu$xE{~w5I~dvF4=O7B}$KTGYQ}dv?CXn#;`GuUHJJ z6}rvIBiF*vkSm^M&9O~R&ao=Ix`lNmIgNo*RRIh450ctfv5>V=5A3P=S#UFH*~zqc zQ9pf&5T#@RH02drb`~T8gW4mwE71ZWW+SS$2<_w*WMt9;Wao2D&B5TLX0g#>?aM<) zEs{wMfd@1^|By0>&^nJ z1&W6(%ArBQyfWsdvC(d@ORjk)#iMprD_GSq5$!bHX3_v9vi@7i#8RMQP!{eE#PlaS z_aRRem!1X5+G*u z)RsK)8Vn2i8D|zy8V1$AAj{_ErBtx0+;Sr+J@#TeoAtPC2d+`NU! z*zI9Kve4o}JI{sKa>XY4%1MYZ`eG;ISD-X<5@FVWV%PFXK3t}zG~=eHYuSld$Wt>Z zlX(Uom3;Ay1&+M`ea-RMdD}C!EwZ+<3mRv{=VkaRn>fxFmlQZHkJ+ylGj?0q*jj4Y z=wfzO4)%~fGO*9{!=8+tith?>xrwPTJfFESMt}8Uj8k&Q!OAoIRs2t4tvPYIKD&&* znG@rEK>^#hEl@^dbD+V2srjx#8Gfo@TbG-G9f=QBVKK%AppiW$;(X)Ca==H;f! zh2WGuh0?HAq_g9VkW0-(N_F!W(c#QOXUE3eGpb{8z&!u&~D96Z(JuI zYXvr|9>}RUFXiHpX~Rsgq*>FU162SNmQQXZ4coNTOmcqI4S3hwJPU+iy}m0BQ#{$Q5tswXd#!H zu;CP!2L^^l!7Q<(P0}@$OirPljop!!1(RTHLMyb%LftfM-4QwR80E;rY22EZuB4+x zD*I_yXi>rr4W)31#Y&maItUW~H^5EjaMKw+g-(tRoMse$O+X6BX2%g~o-jc^ZFc|) zHp}#b*|vZy2svoRh@9A6)bhbK`R`tU+CtA+y}b@Vn^L+`N_HV7;_x8X`ut5eaTcuwptF# z#g4^OhC2hGz?kP)QgFDV4yNOp0I+k(k|En-%fn^}{!Ad1D})xTVWVU1-JTUA_ELXhhZ1QT#YdLTqB9aRRnjjdqKq-?S96 zQ(ySTWhdM1{IouHFwF|2lADiJXf5p2VR37Hw9KgYC@g=G~i@w>aLaz1iu1e;HaB9$%U3Q$3h%s3i(Z- zxQWyDkg%xR4(b@KH|e-F^{Y?XtzkIC>O+GouAO{I7TX}NiGc+ihku`TiT2s_26`Nz z$+0kRZ7HDJ(rZ==n}TePipket`C5#$kEUK{=i!8p*`k@lYJE&2B;i1%NhFK1+w82p zhK9U)Ow&+X-$J*7xVytv%wbKl;947ZSh7r#z|9XU#kF_d%O)^AY)UGhqHxsLYFCm1 znVI|PmZTkPZb1%A2j1A@WH8Oi2Qcpm2Y1bl^FDKb>3|2|?w1{!h0R%TVFhJu9^&1(QOrjJyPr zsK&Fv=PYkj&)asc$$(W@|E*DxFJaxItxF=`dtVb` zG6puQEm~`!%O318JeMmi$P(r%2u3!`D6RgPA;jAR?ldR!vgEMm(kwvb+m_MTkV z>{FQy)1+Xxq--A1{9$*JSKP0~`c7dWs7lWUODAUV-sR0Ph(SPQF4|8GmqYw;D~}dWG|gGOiu5a5nJd;%)*8aw-H)+Vss_b z620@5%yx2Yt-_&6cA8=sw5znwLUf3e7CP1Da6yi1R~%mWNkiIeitUTMs?g?B?gN2Q zm+nRxs&f;UcwWGnA!9sns7b~qmZl5eky;!%DFwJ(@gA#jQ{v-|(_*iEvTIf@vC+S# z8BaL>gRy1WCs-mamPnu7^}37mIE0y**t>h~Wj$=o{g|f9)8Z2Ti~crjxg@89`NaK> zW+M*=N-v)iGqcihvA`Cx#v2u%{qw%>_4LG}ZLyorv_nM+mMHvZ!F%Y1>boDD+((VD zj2H$NL8n2i>2!0Fm%kYE6gFJIm)b@K=JNvE(|E&JdDcvF2<*DW%jU>;cuxYK>zuav zMh^0tt%%g}-yDn@deX2TU6`4cO-lqHCiYrW3s9Ya@_9;IhKuIgQ(FeVR}lL}c6q06 z9^r}cB7-ffrmSp>C6OOH>7;6*8v}fwa!uVQ-^=w)FTb#j@eK%f8De{OO;Q`Crsiy` zl}?%$*Wa-HID0}?p*3v=?%1?YY{|*6JwL~AaS7;Wf^g%(yTyjpH4Cca_dMS2D=r2r zNZk0iamHzJQzk2PJ|JaA@k4?Z{576q8k@6rXUy&wu1T?MyFj-B(n{25$VjPpRYQ}D zF6MBLLl@`lvP`^Sv|DjMV}%Y&PNY#1J*m|+3+euu&b;Gr2ZbA()J)n4O~$E-F4nGDLEL|NZ-&L? zr1w-a8_lu&eva*TF(cV_lwFm;!v5P9y?hv4Nj#HE-iPg?uL-}$$B^>L*;qVB2kn|4 z8y{;nO_?0)bF{tQ+Ih@bwF7mFgErJ7hCMqEUpL~w%I^Buc+&YvyP#Q87UNTfEU3n@ zgs#r%l9evv8egoEyH;;AsQ+~L=o$RHv;thf)7s&+>Z-eS-)B}_$vcYg2!iNFzM zy;TCUZhW69Hnu}FJKIJb;Omcii{DUBvmu6!;ENltZj#IKvRa?JRQ5e9eMSnOYFBO> zml!jiIaCPD%FWD5ftShWE{e?1j>{iu??WSsZ|`#O@f6l92kz7wy+cu7cgUaU(V8-r zy@n#6&lZ>ebaf$Z?tsCToWWnuU6aowjWkSi?F}6>5w78DH*v4qK+k~SDCd1b`Oo*3 z>=PeSAMN41$F0GneB6q7mJU*i_lo4pbQ-^WnSe_#9Fl#!)#J+`J}8Yz#;r5nWHz!U zA9&5^zHZzM+y!u@=gc2Ea!iIoM|ve?=6VuUQ%4{ONQzB2mb{N+7an%AkXqk)z}+KUsq<6jkvauC3#-)(s1I{3VT^W zdqcSpHK)2-w%)NtJl^^K5vdFc=PJU{2xSDFcT@MvWR2IeK6e{_$!2o742qPiN8ZI|Z_TX&S$f zCmu@i5QI30{cafksbZ-V=hIL8`Z(%y2~>+x^t(Wmr#?Z7`rA9aE&Q9#B3~_oU-n@f z9ptI9RSZ0b%j5FZTI?TXWvw@~*HD|+r=Lw2BDIX%Gb-JjVdlt!6#V)aL%^{IDa}}I z-a7Hr{sk%lKK}E~^;Pn}-13c3*8L>cEPAFND92IZL%Ix>09lqsV8nui{RD{QLVE@<9fFl(Dfxotcmh534Ho|U$Zb)#z4}YKNSh=+epS`;m<6Bw zHGU=1^URXU5AtvoB}wArSCKtWrX)xGTQ-zwlgf|ql*Yd=F7a=b_(hT&gT!Ac@yAL0 za!Jm^Qh(P<{B;t)LgLSsTO>IPBz~2|&z1PQB{_K#zgpt|E#W*M z@$Zw$*GT-865lQH*GT+&!6$ooRN`+CzlTmuHmt(UYK{Cxu|kKao7Je`ub zy^#zFz7i(!)!zZ8N)ZyjVZFv&llb^mbI&tM;^SA-J&!@+lkKXHN#d)2vw-r<5}$Sz z>N88?KPq(~N#fJmuRfU)AHPcNd2A9N)7SG9N__l@AJ0=H@yQRU&q|4pUw!vH1s@uwd=&jyLF{w)d0td#ip6?f0GMdIU6X?UJ0iH~3D_dL5Le#2jJ zz~3L1_~K6`usR1MKK?|A=c$qS_*Hq&BO8hVn7m4HsyM0d@ z_YjHST`I4a`1n2kodhlT-d+F?<4U?NqqHhKv1?p;`f!x znMzhkCe*QY7(* zN&J-(f4Iaim-y=6jG*kb5`UCbzCz-UmiQYa{!J3UQsR%1_**3Y%@V&#;zvvT-4g#6 ziC-=8jS~NW#2+j1Yb5?@$v)i@KSnBFFY#j~{zZxZj3h@%X|VtCQuz>xKSAQ_CB8}G zcar#V5rNFUnudHNc=?_~jCRsl;C^@$ZrN6%zkmiN8VO7fJj|iN8$ZZ;|-tC4QB}UoP=?OZ;MqUoG)V zB>n-3FYo_rBz~z>-YxN0Nc?(<@09o#CH^XjuZVqqQ}A38KSbi+FY)yfzf9tHlK2lu z{4k0Cpu~@m_~jBmQsO@(@kdGg)e_$z@lQ$iX_EL4OXbZH{}G8lOX5E!@slL}T8W=2 z@gJA?Hi>_egr`vAKOvPblK4+b{FM^_MT!4!@?Q=7tAT$t@UI5`)xf_R_*Vn}YT#cD z{HuX~HSqtM228~#LrgB+PurR+rqU{h&fTIJUTzkD60(D9;_C3D$hz9=7=DI!GayAY zyZNcDxr(RP4@A=mt+txc`-l!Cx{A@C5gkNyC8M_!O|PVCD;T|%XdThzjDC~oCPWu8 z`W2$-SY2yl^z%fA5S_&6Cx`}UrPj>o)kHTZ+Q8^lM7JP1lF`eFZb@_)qn8kkH`Ge4 zp3(V4(<`T1h0*hgrdLh1^;f{?l|r^~} z(<`Lf3P#^VG`%{iEobx)qUn`UZ4smU5#5n!8>4#=-HGTVMt32)Gtp*7wA+Akp+{s5Xqzmp%f01JQa$pCy`J1=T8yK0!3S0;;Y5hx&h%=rE#d82tm$ z-HEPd^gg0{5M9OS&xr0xbS0y=6CF-;1*5kT-HYgQM!!jPZ=#DB{R+{2h_*5Md7>kT zPGa;EME51y%;?ob_aoZC=v74bCpwbR%ZVO9bQq(T5KXUSYW0lHCwdUk3Zv%}J(%eF z%WV9KjwHH<(X)w;BD$K{M)x3k6wyhH?n3lvqRotMOEkTTsWmXVIniT?j%0Ko(e&!2HjL4iJ_H?2 zw4TvtiKbUAwF;w85Pd7r^?$SRC)z-C4WoY`+DLRYqxTU#mgp)*e@65;qAMA_ooIU1 zQd`03twhHXUC!t?i5^dM5u;xrdIHflMn6xqiRdIoKS6XH(Pl=kCVC>#21c(Unl7hn zBN@G%=y;;T7`=q(1funf&L^5)jnpcPo=-Hr5~;1f#Kxa!Gto7So=x;^L{~FD5JT1*2~wdOFeNj2=St45Et|-H+&*MB5nMgXmdACo#GU(YF(A zW^`MkXA^B;baSHT5FN?rK%(hYMQs?PFMR-d9?^P6pCy`JP1GukK0&mF==#6d_!FH( zbPc0_AUc`oYDVuPI)&&eMt??hD$$jU-cEEH(G`r|O0<>eaz?*NbUM*RjDCga45Dp} zex7JrfNGN%{RGijM4K7Cn&|mN8yLNc=mkVaGI}}D*+hpidI`}vMC%!yPjoKP3Zv%} zokw*2MK=CK+la1V^lYNQ;E(ex{A>giMA76$>^~}(<_GB3P#^VbOF)jj2=St zLZXWp-H+%+MB5nMgXlt{lNjBF=*2{v8QqrXB}5w--JIyVh>m1*Akp+Hpf-%rm)-}x zlxRJp&k{{n|FsIEPY_L4{62mdL_|GjDCV>C(&j`uO@mG(FR7ZBHBfC zB%_xTeLvA*j9x-?8PR%1=M((^(F&utZ*H!nmxE@HaoY5)0Z1iAop=82{%S&?;yki7 z5R9nvan4WNA94njh&u0n9aOyYH3> zWLGdPiHd1gOn3+-+~Z(UCfBfVQ|Wm}Uy~~y#mYJiKNNy(+Ma^urm|MQ{)M#jGgDdg z@e3hJRF&I^e~ZrK8h-ZM77Ca>+cs02KY-nj*k!sMhq1$RjdEWdn*Qc2&{8l4;uYG5zCY_y@hN z&h4g;Puyw>s5X6lu>h5~QbAMcK2$b2ck=p2Mg5{^XHW}#HrQr5YP#=%LC)K$TL@Ob zxgE4WH5EsP(7#paxX}Zl{q$`$bAZnI>(%OcwRfRPXg8(S&SMfY6C)8}a&`@mccz7h z#5=RY^>NOBOwMy#k_d=%mwPi-0t_$IcyeoVCC(Wf9;XfzCG-TC5}njU7$p)QDZ=<6 zCAZLm74JO3tYMdX#-CTOnw*E@oyXlS7@2!U6GeHS^p7HfzXOvm&KVOPxrMBY@pn@B zS5cMtqulgQY!PQM+?1$v&mUK>66;08?l$L%sEK!>Kk+W~%;f4CzGp{yx!UJW)Mpb6 z(RswZ2F+2t5yIRnn8YLQJcuFYE=Y2xKnLzJq`+a4*m_U0$QeWNCz(8^!#L+8qB)ZYJt#4szNtcp=v8Gm63HiW}@J>Ho3-ypfQ<^$rD=gBgB}>?h0{#N_t1h z!KRO3x9l;!=SgitXHRL8eDs?u28RDg(l=)kswkZ$7Fmgl=vMY0%+LcaB_DotyqJ)0qUAJNUw^ z;#U0$R=ntw+c8jOx?VdFrG}{EYjS?&K6)0C%Ayw_hkbC!rW~y$&ad{=eu~UJJHGhh z3*$`V4C8dH+KF`25$A*roijSWO*6T;zDz;7hc=N*|0KqFDkuWb=7WrJjWX>DqFLo! z(8)MvK)Ah^T*HDQE^~14_5f!sb5a-F;V|X8`KUe=d8Xn~ileKs_@97+>%elq29`^2 zawdkEoLx-LPIX2GHpcna{+eQUKzFz4riL-<0QE(`W3300N=i62N_KRAm{WyT)GcXlVjS1 zl)$u1!t^j(LUm73YcAa*6bVdoNbolh49H7)_ClWRXpf@vk#?a8^gQ9RbMMt^ZTl|W z6cpi&8<7%?hf0lK#~U9^VqLljibUhJccbx{ym39xZpO2jLjJkrLm}^=4ixe@RlS)R zuD3#5y01`;1FAww0D6w9i4iL0L$C?C0Q3??0?=I~btlagr|vzkC4t z?k=XGMTp#8d;6DsuOdnu?G}7`V7@LpbwA|fc`{zRYOJ&=oRDw&BSnlB=LEHRaOvphy6^g8-d@Q~+wuvx9gx z19SoZdR!ww{WzeZ1n9fpeQ9Vns&PPDkrIIP5}4m9*U{^?0~tWQ7_P>ll`jg$cNBvlhe{Qw`6KGc*;7e)CcdG-)vYC=O3IiQ}@luOr@A_1tJ z^zMRGXegLx|MLgSW`NEh-3ZWJ4(Q7QRJGOl($IEP5rNBdT#gLy;1IexzzbLlGQMcWTO| z>q3zLw3+mt#Q_EK?7z>kYzF8w(v1Ku=YU>ypz36wfT~c919}rF0VrDn^cWwL3Tn!w zdz>NxXgmQr0IAT>GM>GJXEQ*#NH+r1mILZSfIh7CrJ-9nzJ=fKDOZ2v7w{E{k^BQFVY%Kp&wR2ULla0Q9&7sDO{j zGt`tz_ZUS2kevW+hE!@q%kE&0)eQ78f)i|KRNC`lrBtXZw z3T~jLT)OKh5`fwgpk5r%l`|~+0!28_(iXZ7=|+GKW2~T|3-Iq31~E` zaX|f%5`gZN099}mbf%_Uy0#PvK(`a1pCJ{1E}drC=O_{yI*xQBK)pDio&;#;uf8<2 z1=Tp9SCA5bT1bFGIiR)FluP#zMFP;TWSM3TXfe;u=h;j{=}0#M^akocL#y*pb+}JJ zBTWh>B^aNECMtu(-laADsOQ)wu0CEtZZIB8LUHqM8pP@)-=vSm00Wxqv0R(8> zF<%>`eVQVnpfcF0EOG8np#sT$2N&spp0qVp7wV|e5y5N>t;3o<~XmdXlOMqh7(sq@0>^>6{b^Km`P7H>5&Cck=A{ zJez6g4x}3aGIBu83D9dbzBDu#)i|K;NC`lLB|zu73PPzVmo9`N0jL=P8p#3GpJ3Uw z6bTLegmfc7-(tQ)LyPC5YFD3tHlZ2^RDqNL^d?mk8nSXg4^UGs-3p2Xp!><0ya=h# zP#(|D3ohF%qC}xC&ZPQ!ZT-iUgnz1gHZC z^m{GKK2DL)&>^H70s0y99U7WRfG!>O1!yCxaX`-?B>;Uw)r5w|aX|M|Q!ZU8MFP+> z4j zCAE9j$tKkJE?r$b-fQAImcJNs>JEWs-{z$c3hhR((CMbO)u#98Rc?o5s$MqS!J_E) zN9dh!?ZA!!_-s${DnFN%=n%!r$MEvU4zu$AT&F3|ZX%bRtVUBMRVL>WSIl@Bw#ukP4O(+lTJG~;b@4U*;zSgSHzB$#QeG6(r`!20FmBs2! zkl2*KmyKeAE`7vE=W&y>)IglFQZu4mrIbzY!*`Y5j8r6b*jZ{q(*4$G_8xo9Tj;g( zx2UR}CEzboyXkXSj^ap*Kjy}yppRDLp4*FDpJ}s^B?oR}hb=KrOF1l12Nt`m)tzD&* zO>c{Ll@35k^oKg>{$&*F&;379e~#jwC)BDz%`&psf)dwS#5 z{EO5%df8!|nn)T(Lq*Y-cHwn-XzAOey0YjMZ-yv4b-hP|XDWMIkINDFiCSiDp(XQR zYADhinOo`a@8I2zS|)l|l5IA~g z3(9$uMZNl?KLQr&$FllIqN?JZKYz3vpxuY?S9(mY=xOhuSm{-K(Aw_=FyMvrQI4f6 ztDzf4`S>cMD#7XY)P0uM)qCpxPIXZCMHcHWyxl_KubGy8LfV~UoK0_F=EaqzTqF~V zAq5WKGn^1cxBZcQmGM5k9n-xH9x=n;2vOXHZl-a^T~X(^GF{-c<|n}cO7X=2M+OSr zfkIHTI}FH4zq{Gk4WB^lvgr8`#m2{7eIfvZIV%>Ti=wAe3!$ZsD`aia|KLLrcU9*A zWtVO;K+^+n5DP;Seh6hYRiezv<4s7puOba~Ze&q(Q|f{9jJO#6 z-(n!qy&O8BchrHb#SZ%^w`_PJm+$~0)O>(-{#|4#wLQ^zdO6xHrXuK`kqZzLet0&o z=|W-Ny)(7cy~Wg6ZC8dI`gQ4k*w|d58C-nvs-q2DG``$8Fb8f_^@q_$2y(Yazi7#5 zw@bGk6_~?!9+^{nGmT_f^e`$@{~Ie)@Z&DsGL)gG?oBp|vi;EqI+$Nf8JbB(pE;C8 zAM8mzf4b%f{6^VpHFV*)?4%L~6+K7;UDn~J*Qvu?oy_LkBib^JK8u=6uG`8>R!Jq} zou{F}mQ<2|Jn=R3fiAHZ)Q*m(WuH(Rp_{jRSs~th(+42ydD+lMw%2{<<^MhY!sNWd z)U4?eb!0Dnneh*GB9gqo5qE~0KpYXB+*x`AUB!JPVaC@_WF=^pK7YD}7eonYL2>WJ zAS9F?GdXvJmOKpY3iSXWy`X=N4^cvB?60QMLj?&?Wo}yxegKpAoBPah8vofnF#bi+ ziO7L2Z-_^1WUqnaLSqh)5*Wqb^z^rLIh4AN;+td;MREf(4}X&^;DY>JC#``zi!8 zmZ1+8lW`2Fu4^mWTXt$KG*Mg^;20it-sC(1^=>$i&kU*-A9EkUmolzV#aFK@m=RTF za-M##9g3PfHO`q{E%+RBY!qZhU3K4i5ppmIn(}wSJKPnly4!gaqlMSQ=+##T$ntj1 znTN?gFLQb6yIMDxPpO8?mfkk^XznICv^zbEyd(N>YigSBZRq4KazBHB<1d#QQ zgtw^M#zxA6KdNdQeOKn`2Ky?27Rut2CinO*f%FLg#_NkCc>6ylEVN`F3gaxXp*aB$ zE!hatlzPKr(C(0ZSFdgh0yb0Dp@?8aK{x2qXqewph;jzGM}!5EZ(R8j)p8XxcG+Eq z80QQ1K~$pHO_3|eq^ri~MWFSl=+YfZZJ{`e|3IGG(JX*TcpVaU>8`wl-@%|x>D&vx zzIxTAyEB7rBF|u)O+rJ)J2dOio!>M2U;HX_#XKU_J5lT`-g(y!28j5woN}Y9HD*{}$oR+rgz#1FlvY^4 zo$k8N+?|*tcL0egi~j2sf-$@`%Hrz`2wIHxwoz}~7R(yo^JzM!1fNg2-t#GYq2Kuw z6SdFe{2lXY);Tes9y~4PljDHfeuSY}_Z@@5EI$lAg5@8?Ji_EGK|e4S@aF}XUgzCy z|I|z`Ba`OtM}qkDdW;F<(`!H8z{74m_69)-FNZYPo7j}Ch1s|l)v$#pwB#$+;?rc) zScH3{Jhb{ZMV{4{{BP5ig#8^h)j)n*vA@0&AS7J=cO z(u*w?+fR}mgZt#kXwC-g5D6~VA*gLzw^a~HOnpBa>0 zrs9J^roIPF%l^88PA}{Yc^_fcL4WPpWL-lZhZ;iH@v$E7d-+z<5X^Ve1{#zjroNxK z|AGM!h`J9k-bK-i$6;M42;Hf(Q9?b>0sIX~VASck-**R{;(oCe_2Yay?hk8s>TaT1 z(*C6s&Za50D;`7gcr3B8FFt87rFPpENGkF8pHd5^g^T$g_j}iK=Y!p!!h9Y^%-R8; z9=jeUx8oXqHwrt8FH+h?{>b^(W&DhBEoaWCY%4{^(Yp(J#<(T~$6|q;?{bk-iW&WJ z!6GLs0Wj2a7@B9GDKB*d3bzQ?P-AY%a)=THUw|*cE(EW3_?3~j}i{|3w1Qt-S;0N(;VI( zg@9=cMa=00qonhOtYS{+ot4KYqVC(N3VMkT_J*I@&+6@bQLXm{UisH<#uiuD zcYK+(!stqX@DBY^NO-^F?lc^N@R?=Z`&xe{j%110E5>2Xl#ZS3pzAE7(`>wxop*8U zq(i8qH;$cj3=QpDMn`L$JaPJ*htsDOr_UUmJ_~UAT#8RUe{tzPznNBo(2}>HW|!_g zK|KP>`(WCMHFH8bXorD=gDIU)ca>5$ED8rx+GZg7vL|_xWrw$ z3uCzCmL?@$|$@w$(C%jNIDl`Fwm_5_{yMTgpj)p-v_Jt_Z6R{h?#Y~KAu*qei zeN}%Z;$V#Pg!_8fMr`S+(2^A-y?95o^jEh5f7FQ^q;J#nzYo5<`gVR#%7nH@8qme;;~3{f%6gZaJu8ckt+4 zp=GavQS^RGvaQgP8$p;b3tVq?Lbvd%4WTPzz$*SLFtlVU67gj(P)V0PIBFlQN}GP5 zGp5nGGjt`E48_%MbaiOS1|!-MorXogW}4$|Kb4qDC1RCW=iQ|W zzAxSoQqaTI>f3dgZF?Lc8;U|pSD{OyC$2I0^$sH{kmlJ9f%I)A^9cCxv@Ci;HQS19 zz}s@ND0Pt77o0-BtlUgqu87{MqZC|Z!#X~Ef=sh+rmup0zA)sWrD-s4SBH*- zexDr}%#R^}V|<#JJkkuERv2`8<3O zuYD6Da=o$8<$3%jS?%j6z`i|IZ3t%wn9zPqtxhgo&?u~6&ZWEKoX5$X9fNXRx)ZpI zBI+Yj^|F)YI1gd2#W|1d#IMWTv(#7?d)4^S3UK4gvUh~kwLtsDJ3`_{|Kvy}^Ravn z_Y-{|@)sR9xrWBmr}4*4eYd+u9N^m@stO$*cMoqU`5}s-7nV(=T`El?-NC2pvE;s0=N22=Ii z`5p&ddy#a@?1*$1=lq_$Q=Ib;Ou@3@y+5Um-#-MFZjUd0&m@JGyi68fHoT@sGXOk| zL%910&oVhb#d<-xxOkcqNG=+`kAWEXQCRvJxuyqa-;8^ysC_sU&|&q6dnwonqc6}0 z_X(l#S4?BZ=|hXlSwm)gN1hmhujvy?uiles{D?YH7hx*9Ga#;bC-Mp+R^sFHNg<{& zll1mc#3w;cJE{cSjW3@QB1~fvBJ;lr-CU2OFV%5x8wn7iO8%F89|{nrTN#L@pOb$D zJqq1|hnt3K?zyB##NnKmiL~(pg5us6zwbrKTr(w{$He>33OD&()bg|g|NgM zmnbf1R8$Z*#C#HABqIsTNTMjBxZs8&xUo$T6)`b0!u4_iMcjGff*bn8rznDfge3#0 zY%YMPEGqOE6cA-mB>!J^-jf5iD+hV#5*>b2uK<>aq{cP%!zKj2 zllp9xhMxABj8U9ppnD5+sX$*1w3?&gB<>{x`c@KD2D}o1I|n%7OYX%CZ1+m9tJjDB zG%NiL^2TSp0Zzs0N^>Cia}mqWzwm{r9Xu@dDrFXmOvOl>EpEwTr%r{x)+Cn`SM2P^ zZCw;+|KNUDZbK`gQ+rf>`N4{dGwc{91ya>vm-ub#)Z!-E8pa~r$OOMmWIeUMQPklV z-R|1!1v{wL{Y|kX#qrS%tIbT*gXMp7@FC3}KZXCxDg{OJ($5&4L;Y9PM012{X@lGs zeG*j;}{zqtR;i5v-u zA2}Fr0*182twc~#KT6WfRoDLwT8AIv~vLh&$DfyVZ}&(eyMNuh3~yL^B^S-vE|k*yT0y<4*JA z77O-SY&D{PenR@r7fgYcpZ*4Q`F4`eC=Q zO=h?==kDx^HzeNcl^%BR)7l?qBQG7+)#jx5(=e?#|CiC{R{U8PIn!C=d=bWST3OX$ zK|Qu%+UEHAqIAZs+Eu3AWpH?gGUa#1DroG#An_XwnB>1|zh3v-qn7JV@XKP|Z*d~h z8LMQSJYGc$)+OeWM{tbO*b{w{?fhT+qh6*G`;b+T#?v^Z;y#4DK@I*=V+YY+R%quz z)|byCAuN0G!`$QyJ@IKc=U#w+ulDeX>cQ`Y-ikVUVXFqcaErR6ak3Y#n=97ZJkgq> zXFgtmiLIx~7~BkwJ-x_jX*l27ZBoCIN4lc#ACvBQ4%x!#3&R!r8jn~NgkTn7ZksDs ztQrEMBDWNk5Dz;=nI(gENpuMZT)RBY$#zlQK4-v(eB^O^TpG37 zjPgD4S%vikFpy1S&+Z5^J=Uq0&?&lwX2ELYFfjsTs)b)p>;^)KLW$b*E%PiP!c04q zstXesXu<|fnUGY4Psa%CX@haktM9fq%rF=b?IuEN(0{UFbxqOoG!6{o{{Ew+>S zV30bDLhSJa36xa|A+bf94s@BN=>016{#bnNw=eynUJoN9W5{+U0*wTzJy%ElL4R0AQD)Q zWvP~as@ZDCu90FYD*eoli2zkpn#{2qB+bkFutrPFw3x9NhBRe4GeJa>sFj~VNU~!7f_6?5gSQ`)LhuQM5S%e= zX-`}M<^dBKZ-t3wyzMqN<6JxHfm6oXFuxQ1akkchxO2%Zj2*blXY9iVFjjb&c$rKw zDr60LDl@J07Rp@4hw+fF_+B*0#VT`&9t+ABN&@E*Wi0rBw8Y$f!i&II64daehON<` zMWVdCbpq`Lt^*t3iNiUlwEUX~D=l)zte|vH<=$;EAWTOeF2^ythe`W?A`}ZkEW|^|CG%P1pue zbA#wugD5J9ZZIk3K7xq`0ogS#?V@Ctkzism+-~TP_VR|253W3I%^eY)=6Vw?EXa(4+52Al#g6ijJ+a$G-+4 zLGSW9?T9G$W{w3`+eM)-HbB8h$?C<*G=|s^ez50gNRGl@9BzRhc&a#si()_8(O-49 z&iQB|Tb#}h=Ksz(FWugSP;kV?w#q=C#YO_vp^DS2tS8MAadui?;jvD(eLoGR>EnZ3 zl~R_Py%T}%khGtQ@eaH}43en{aw~;ebvsc5>~pN|tY&F;#Tc?{b42w6lWXl9r&r}l znI9!WjkCsvTBNzGTMHmXx)|2%uRC>wyy zq#!C+@^h*CWZN`oL7MB>LGJr&Di)-N%NNONVSej@*SAQsCp;!B^sLTuve|FwdnuAd zEIKJ^w6ov3Lxqy^g(6@77<4K7+WETdV=24H*#m9*+K&p^z3y6f_t5mUHT3=G30d?5 z;F5T>tuPFfLg>{1C$2@lWPF(g5OrC?kH)m*8=UMPr2I~KgG_k?NY|`zzEQ6MLSc1m z-f4(A(FBynu2YS_6uVPxT_CzK@0V&_#wp+kJHpQnRiIfeQ)kzjbugNFu%o{GpecXz za=NpYgjgtxRgahFB%5;KtNZ=h@w&LU4wHB!Fr2!1DJFJ4+Dt9$!Ar>vlA-dW7ZlzX6axgXodG<;0N!W-LmIHU(D{?%#sC|)?zt8}Fn{_U zHr0Qv*c)*qAip{#0kIrCLTI0Sva2(I#6%ucIk!?Ivb2_}m)DeiSnOr3oS>%wEBHYP zw~?8EvsddaEFX4;=_PM}#vppj`6Ia|hxW?El2rfN#w6h=y*|>L1#o|!umPewRLy=B zKF*64Ay=6_CmK!Pf&O%6x!~CGI^9 z=L78yMA0;fBB)WwWj%Thu=&2#=+8G7GLkabQh`+WNX@sEyVA@Lo~j+E>-C@?uBn}; z2J`K9((_x@yIKUZ^$SnSNSN18PeF~zA96dZKCIr!?{~tWC)EFt(YN3`BjW1x`tV)S ziw@B~2ag}d-;!Mbb#>|Xc*_!TV2NlqX5Zp@#_Tg!!gy!Dq8m1E8b7sXnEuq$EwnS^ z*54DF!whgNz{6&}{x96_3(|x6-;N&4L{-oKas3s0Ef)z;*v-JwufZKq{jqo#_(uKi ze694;xd9!Ft9zKrz~jir=s_^XBQw;}b#xP=ULy!{_1t_}arqXh6fz%v+Ml<%r*)w8 zV)yKer^}*vrXp(+s-J#1`+7H*c1Bd4J8-9eB`q z(OSirH_o5xCMM{`4#rKLdUd&Y^JJsaaS*2&?`FL+UhaoEt?v|Fv0M0wEwQ5sxK55G?*@hm0B&OZ-D+;NHcIt|t+*cP1HDOBui^R71Gy!UG}SZ#EMF+% zo9c7*Uamq~%sp)=Ibl!aq=TAT+#oY6wPeKphR6=<+^mfShPP+e$?leQ5<+fHB9y<_ zjvm7=d&gGH(;~2NoIgvH_Mf(5xv*=S`T@hk&3cKPw8Tq*bf`*dHx-w(oUgDNFpr{J zP^Ka{>oqoYa)U;r48%#~W4C&OOrTn<)01r{Tk`JL33+cZe}$Q?bWt=rDoY*46j|@U z+pT&tg`y6z`zZ~uSAoX&OT(&X6X@|mqILVVzF5e@og;RORML=jMT25ZJ++)~Q-6^g z15EcFFXv3alGTK??ik&^XMeljEoU*2(y|_VT^q=OrkXgGaK(lE zr-HmYHF>n7o7KImZkpKbL?z60jrdU9%6rZq&uSak>u%s)m-^rlIt}>xep{aVzx3Po z_4P?~WpG1q)U&$3?T{a%NFJp_ia@LsdfnE?P_ihJ*w@S`+}8UZGaT%Nm~>d@m+7m9 z#BDO7x_RS3Ml;+qM_8hcrjCrf?>;UgZzt7MS~PCm28{eAPBCoRK3m$1HKYCNr!7SH zG0|&N(O~*a5>`QmZ=a;b#20?GLT=WjXKPWfg&HjZT53z2Kh#=C3c7vLaB%)(f6SHx z_Q!<1K8^5e*@Zu+Rfj9SYb*nCyFVfw^?aZKQDe3ziJFEc(nNj9c%{eSpYHooo;GCGHU<_m!8k2RSMfn~sp(Z(r9}=?FY#5@iTO%f z0rs-0N65y|Wnt&@{{y$;!Yy_a`Rod}`#f@i)c=4+ye380G|`tLxku5O4f(|$fxj^k z8!T&_lFEd&V=`?sgtm&x1x5e=g#M#l-(`Mh_%|h4ekH^grB&{h%Xwnua_52qRBcKO&u>23B8f~ zHBYlsC|ZtKo$7z59Yg*Gd|jH%beqmpON&sc*V)h20BBkg=v)o-wKUryO-j`{?%R`z zDC%aSYVU_v)Xoq&P{;e>=My7!dJ7Y_W2X>IWbvP|H+QmN#Xea(wm|gi3rT&e)+OT` zOZ>N5wW4p;f@Hj?=EMyt`02^`O(>znYORR`eo`|2Ruo|3D*iL&KA4Q(B=KLS;`=A# zZ>7k@RmpN`)=4qHSz8_49)q_g<%hkJrdf&cmDMpLzCe$t_LWT#-i53SvxspEsG?P+ zxwV%i=l`1BTgV-*SePEPKg?(ot%{u2<>bi72CdW7FQ;^+`UFcBwna8JfG=GEm6=H@ zX}SZ2Z%M5$HFxR4E=p0DK4Nv^cg--`t-nEBI@T{&Hj++A=G-VbV|UVcsxxpjDSwIU zB;4NQvtvg{`(~ut_sC@Y6O>T%+%M_^$f!)V+kSuMfAy6{ULChi6E*bA5Q0gxlAL zvk}UFj(_$3vI0yPGwqqdTrK2Owk3i=xqlg^XaAY#=~?Fv88*28xx;U-G0t}8LcM?y zZZqGI{GnNQ4>zV>!BIa`B)s zqL5sM-lBpkIi+2XUD=f!MIFR%ru$6;Y1|8()Fq1T)LlUi@qDWyLmYu!xgrAG*aUTN-NVpwT*W5TIIr_(G57R4m|JG9-6 zzgtSLUtg9I?5J!s5TAEmQa+RG%fmzlulWx(@&eocBOU{@=|DAJEDWuELf5{be)iA9 zr0kni`&Jf6!TRV~?%}$9tK@1Kwmys&yfZftQls9dnVr}gN%==>AEJpHG=HjzQ_cS0 zT03!swERTnR%67P_0Bbn7s=+vzq464cjP-~0Sp%6X!TB1As+jkfN;9lshp+bXPhSj zi_er~sNW;hd$BYVQYMsbLMu!t(}Wfi(j0U(QltqdFEI_ro;M-HjKb?FRLj(8lvqlp z!UW1Hg|g3gKyXRPVuYD}^$1z7D6eK=7xY`8NgVwLhUT(ilxoMrney z$nm&kC6k);gVfM^;Zb7}|IRWoRTLbo>**@Gp01laSt{jcW3sV{qg1^BJrB?lXQO$3AF;WKHkIO86p=bW=gg`2 z8ojw`Ed2#*9=(b@=A0Rslt!n?X7f_mF4|4xb`vSpBD9AebrX2G)iE!b5au)QUlxIYi#PRHQO~mm?{8s$dzQ!?ZX{`>bM$oAR4g%M9tN_O3k~{ z#puf;lQ?Q;YrAXGJ6eaGCHX{$u@Omim2A(8d*`$nP15xH7@*#0Q2#bceBt5;0`eyy z6N~@b_{Cy*?lP_4(BG{Li!kc&)udbI*lc;_vwC zJ>3PF)xp4UJ{wwOcYblZ4Km|j4mX|6Uf*>57@_{_SgBTj%#hm5oB>uMYoe`}1C*u? zGvytP?~D}x2$e2vDFykZZBut7OM6+0=R)J?v+~hS`ECy;`nt5;eraP&X$6{)-BQ|m zDQ)Vz+JzC718Y9+-KvGb9qCle&e@K|?Y7H&8;QcRp>fvvI6Hz9&I>Y9*`E({#dIGq z_iw2=UFAK_2T9CTe#|!Yq91dKAG1Yy#K?FDvkyJqxv{=b-GCFZE0NaPw`cKxUG2g{ zoR5}+I6>!kIZp$KY+)|nDm7H^{aZKY?VL{|p&n(Vv+6!a29e+=f>gC*OEaSR=i6G+ z%<}Fc{Bh7Jcw`@;oC`KC=t8qMVbMl$V3c-ddQ{6)r2rXSulH-i0CpXeZc#sQI!*Tf zy`_Ekw01scH@36Y;8n`>r8e0YvCcCx`Msvp49Y`=n3h*bfNdd$rS`!Rmm2 zyu_UUgeS?vpO1lcZWAg7$;qRiubIZQqgm3H9Ligd0C?7%`*i{DJR$|8e6(z%04YMC zx(b)vtXcPIM?sHL>DwjF22F{pkkc$kY8H99STudu8v|r9%z8iBh^05pT3yp@;{toWUUav~t*4~2B z*+DLFW`jv&i!Ao%Rg7S{!0&A&aV%+*3w}Sk!Z+pn<5O#^hV&e4Px<~Lv<#bjN4E?)JCnWEn=YH<#cPy{xDFFi*$=>B2Ux!j zX7(y{ThP8kp-LR1@X~h;iW_{vSN?dX{gYeNBt~E~lipu*p{ezC*G3N4`@HbejN2eNdCX_7wLm?qb<4rT^5 znPL0lM4KYhwVEzOHvz*0+b7^T54O#U{by zVr&Qewe);29|I|{a03f{`rQDczLmn>eM1*!N5?{P-0DJ3`UAY$roMcOB$~Urp1wCF z%cx|Q7j>3q4YItXvv6W#&pmp1JJL!VM_O~EEh`Md#3s5P<=-I4&Nav)9phFNd8F*x zFG##v5|8jpiuI?`aqC3@{zkJ z)F%Zd?UlF!$a?<$m-*j-mS|poqdJcRlyA+=MU1CQgL!!qhW%r|YD}UI+^?D-N`})K z(S8USo7M7$`*HvA<4)7|Mu#P0SvZRiF=~_v8^{>;Gv049mVQRuC4SuPe%vhBwD$+@ z&o;X-^(vH_C7ktgnhX&EHOKlH=@5{cR%yvyoXnucYsksc6_b#nFII<~$&1%Z8{{k- z41>=g9~O($Z0no4W_GNzw2?bgz$E_5Wc;ZT@8!Kk!$|xm$@mt;SFpQbd?P-Jz4x`M z;I6O;Ow6RhG}X@6I9FlX_11%;KPOsKuv@)FYs;CN`F2cX)a{+QYksC3V=E@=W{&6r z=DDMhHSEtcws7H49YSc={B%2d7&9zRJe~LmD$tHTqKjoEaJMsg7WF7}CNJbi&BAbw zRTa8A@bXP%Aoy6M+K!zgbjv*m+td==4o-FA1d+Rm zlFg1C#0gA%y<{(qo8dYC+LGfChvBJi@+%B}R9 zsr7K9UeUBeX?B)-{N*Ke*9uW(MV4%w(G}`@oh%Z5kU_L{CehM~4`X)1{k(VTer-oT zCm5@ewGC5%9aF?0YDaUHP8+02O72-M2QxKZqqmA!!HS(kwUB|h7S`Q(Db&o@wb;aC z!eAH%_rIboG*8kaBWaVz%4n0wrFucdZx40u%hC{j3ltT)S-S=c?;-zj7;5-$M`Ob1 zr2k4chkm)N(9NkBDtuj4`c{4aZ^+jX?-aUL`wT$|4^BjYxEqw9gkF*mr>df*H%iMy zKM~1sD@44QV2iXcsS)uaG=q?9ZQ@ZstR*|z0oDrl7%GbRWHHQuPZl_s_|i13tC2NOd)7S^dgD!ckaD3=2C3iZ7n)ez zHz{w2DR2JgWblOl!HV7Kg(vS#Jb*vX%{vnmA=j0fRqTiS0t8w%)PYC(4eeO=sy1v^ zBUrMb#&nVei$o-)^Qf^?rJ0;+Ul8n=?8Hd*#aIGqXvlVZ%xaMjcZ$faf9i0TqbU;; z=Q(nVu_YU8FMbt?YlifiW~B9GLYfcES#zeVyL-Wzndq z*2~AT5^3!4u~a!vA%fI=t^DYnMN62ACJ&1W2NU$tnu-?4PgvM_m zbXPH^no$B!#P+q7LHmVxsB=Xwx$W352qbZ~_dlSi*Ad z%=#rg;Koq0y3Q2IRGD5Ix3=7tY_~1yVQFBeCL!7h@V)}xJ_-IbHI7@eQsBE)FAY9F zafL9=3$zpPegD!GGMlF3meTI;?{Kyz<--+h&iE7gMSKm zl50!xT1B}*~=!j8!`R@5JK z@`v_HbTe%Fc>smKW-{5aw`iHT)iDLOE78w%>;(e$a1!h)4c0OR_FLi|1NH)7$;w`F z0410JFgk9nzBNh0=ETxHy8d?v?o*Svm(cOz){F*VvI0hf76{nB7fk!d&ebG1DX?9M z-bS$;+kk{+20Gc0u?xxMkJ)jnB$aoweriwKon?VU76UEQl}-H0jWhbHGmcC}*M4NlMfETdU@%0NlW|%nJxK3i7c3hp8X|q7Drq|-q~417JIiXz$7^m z7=`i^L-JRBHuV`m!};Hq{vhWUDXE~r`H{GF$;qbYl2AzbO!GN4ig8oOdsw$L$Dg^c zF48^J|JM+u-HUnN0SDC2VK35}hT!m8AcL+J}b`QP35jc<>1_>oZ1 zp1d%)``ZJKQJV5pi?@u=?(5nm+E4e_o5-bRMePDkYR%JB)!PpT(6{?$pS}nF8-0V8 z|Nqc;7xc(|MM?UuKZrisW-5acOrOaQ4RhvPyfHJA?MXv7Ynnxk=%{Jj$47W?lPoSM z^YYemAd+kz*-VAW{7a>%%6S9C2rBLG23k`?)pjMDnp+>iCqB+~Zy0*yJkz<$d_Soi z={di#cufNBo3@}|Z@kG|2o$%z@W0ro3p1dDh>J zv&^ZekTJX?6I8j3lYAcwpVU$EU9qs0k(zpW=s*{^k8p=PkbcFQsx|2xcbb=jiPD_n0D6cz>h=+%i*U7rP?a97` z^158UBcsaePL{aXRN~109<+v>CVagpE$TF)2w;yFnDOIuzSffO27AJ5CPxpJ8cdE- z{ne=c{>cgeGdN+}BNP{(8mpL$a{AgBqaP?m%Z)B?j8@OOJmM3&bfKdu=U9C@2#wHC zO$_JC>yCq#hjPp7TJc-Df%L;QwB)<6K|WJFSCv_NQ}sK^uU`ZIp=T@w(O03 zP%Ei@ef#h(ON3iYQ}YAvls+hYNx$X|(z&oAa4s=c#Nv{j1)R^ZCWE(PL%IZ!C)awj zmA)3$=Lec9dFRJex`U{g1r6v+`5WrbEFQcvDNB-^I$KZsmv1d-gU?~h(=v3&s@7rT zJ`bCihhL4>Z+Jyt$eA)rlE=-bjp&NENfsHAU!lF&AL&|Ga>a*4aCI2-ngSDwyMdpNu~Wrl-pNke_4X6Jf%q}t=2~~xa21-+<%`wS;?}ZI#SnZJ?q=WUf?E*R~rT1i>;s< zRCcla5Yn!Q*bG9oEupI@f2%$I47!96IKh-)N4Y{Zt)&0w#a=H%XUU)?ZF7Y<4A-wq z(su;o>9DO1!spR}JKc_t!4Us7QE!VeEu}HJ)rID~aJMW9t(cpZA#PD_xp{{8VrTLj z{HQalDcqeY6!|&yolEKwh+))mVy}`C8CL9SaR188VrR8_{5=j+SgWt&Vfv`7Yv)_b z^>;hIS)GzHLj66-ZSFiVWrV%^TLvALT0AMeCYmK2;eKDtM>0uVu%^5PepW`tMd`wx z2^-N{DSZ!{MoxyYEV%(&=#%Yb~KLl;d^b9{PS`?>)&8=-xgIj4_0}3Z@fVF_W~c2h)RC$BjM#1wd!Lue>qt6 zh{{d~p^t)+q$aL`FNatUX>k5u9;EGWEgB-ejI2xf;iip{ml2bt^iaiy?V)xHi@ivj z#^LH;8{sC1v}At&AT|W^`_dDO1@;ifLXDk(8ynj~m53=Oy+)?K?s>Am`%Wb1GOvrA z@P*WonR-c%2Von9c7Ic`sd4^qc8{+s_Gj2*s->eHQ?WPw66Yult@mU^y17q_Y;uQ; z#3Ny8`Vxysd-v&H1rnbj@!|rTEizhqr2F*9o72)HvZX{yj{F^VbRoY%=eI&{1S>L2 zg6)dR55;+RbE9IPe-r8AtSlZ>Ew$?IW;88wGA4MJrswY%-o}runBOS>w`9`r!$O0W3as1G4mvHL zmRoPRWUOehI&YH5X%T1e_vohBb(7BZ zH$UWB^uDygg_6X+}n(dl!{;Cg+lZ zI_XL^vN`CidQQ-a(~b@k7im0p9_dmr3Rpf5sd5CLo!|K4vIt>#qJQ)>=zMyqMT03knj{C5+7liW>U@?)ObTD{(3cp>D^qh;-pVZ z+9-6}(H~GU(7xhE&C<%3WitBdb*2H?lLJbjUJv1moATk^-3Eu@-;L}?KPD(6^m5q) zvaQ&e*$Lo6=ba3Gpg&uFNJgO$%Jf6qbZF0bhVvuD@(osOLsQjZ=Pm_ZAu~$u2+Rd> z<0*o!?7^04k#%n4iam`+e_8DHZwaX-RLox@*v#-*ZDAdOm|Gy4zW+XD-rg2b|lPOHRcFs&zAwM@h4C@2QZMTvZq=#xx!1 zt$yM<+@dy2#NIdUM~qMMObJAweP4Ov(t1?MoT%bRntG?Wlel*F;WUN&`NLgoK<)xjMy@2GbsK*}qWe z-jzY#ft(Xp?~@}~@l#`V($obx&7xK0h^C-mGQ5aarH2i|@oj(ji`;KraCM6v4ePamyb%(eQy+ak(Nrm$ z{p@@}3Xbj*4d{G81>uVm3tRC zUF@%hsrNiCu`?}$0lnv{hTTJIc*RGW)3Z|<%E*9;C&EgGFAvC|P6Zl;C1fjDBTW&z zT=&D7l0o8EB;zkMB))dFsphO?y!2bwT6qVG#Lbz{kF@9S^aIwN!_L>3GK<6xp!;kW zl-^m5S-4 zf;0{st~13|J5Yq3recnYyQi@8*-c3qwTQK{%{US?G8W86ca{Fn{Amf18ejH-_}-Lw z`t91s4#xK)DWet{?IhEZM8Ch1;}zn*<4VMRp+nnAo7`_4bvq^U-DKo#CUVRZL|)2X z8FKw4-xu?p=s_ZtjS8DdiLH2%u_S97n*)%7@U^KcKRBDH)fyww(b#taIZq%L8OU}A zLW)oTx%C4Bi3W1Bo;Q#g2SSSG0&>2F3~Z<4t6gJFZK8jR&V?sGp{J#K(XA4}Z1G(q zqW~YM^G695XNsr=)<0!T!5j1GRYt$F)Of>XV$63ZjM9>1w@JvoI#W=0AQC|=_U>$1 z=uFdE-Iz>8&OTnc5LEn?p!(f+jCy~ekyui~h;0;Sq*g-fbx7%c6e}PjX&WTuno&ZZ z-HfdvhKri7`MofIlO63$#W)|Q7;cx0?%X-&6~63f4zb=)x?|QP!XeL^sDFyz%aGxu zkiwJqC)P61>H8CdWnI%EeL3FYHV;+I&+y9i4ZJH)UYxvvx0-2Ubs~8QZ*|DKv=Qe! z?ZTA>X`DC3W%*6x;&wl)D|PR(V_$(dSaJEjOkG~MJTAjkasFSnei%UZD^kHCeBiF; zS;cl4-(>j(=Wi6YcGFJayyG9&rc77VmN|6&$Xhb>E-p5Hp~MM*VHdd8(*Dvta^~>)7kfK9`~I(|K}0qx-cNC?`AmR@hPKYO6qxDHi9h%8# z6I=BUx=W$^qe~mmy_Y)qbjy_BkaW*rEYfuUM+PO&YT1zPN1(>1`+HVZ{y}$sitbXO z`_d1go6ckOU6TGtJN55bb?Yjyxb0a^v=V3Yes4INbrK@4p(V(OePZNB9q6=$} zuE+Na?TEP;U4;=}$gLelhZvlhk@Y@K)e(HPE5UVs3Al_gsrFZB=|nY&6xq?kG1TH# zG;CZFAqMReM53JeiLWqs$oxlfedg+eGB;!3i(5S!WL_ULnKwXMvR@dBOoq@a-UFqh zmm(7{Bd=O6D|%+;CjR_`6xR&O?%C-#%Q!Vf57FrghnC1k*zHH;dNr;hX+%lru$c5j zJ9-_Ro8yi$f^++=Yw}X$WkL|H^UDsjs8+MEO>`THZeUT#dbbeTN^+U)A2J2N9V0UX z*KPgw_08yLZP<>se%7C#^p`HzN{-^gZLX6@KuRj7&6M)ZOpp2uA@38Dh2Ej zwJk~94&o+5UJg!p>!F$2JP%7^%-bR!@_9aR=zq zu%j{9<6a^z>|WhA-1+MBhShKnD8%EZ)5SZJg&6hD576xDZ@hJqQu}&Cb1Ul+D(_fd zGoyE{#WJtQWVst*bFEb-G~r=FiEOP_Wqk9jmwSnf>#13ytsW(a50+oPuZ+e^+{GHJ z*2{Uz1dgQ(e#|W*x!6}Sa%HfTc3b!6+?_4GN}4>8M=sa;i1)gLfHP#BmV*eSs!z)> zZrz#kt!DzWvx^_}8aPbI;VxP4JC!xt&_}B`e`4bJfx!l7-vY zO0Y_-6LpE9BXXu3aD~o6I>PANq@K9#;f8u* zGfWpf@iL8L^u({FUnSbm-`U0Ftmk$k>tX(vy-cUk#C6^2Vyi~$9vHW7Cq)`H`3hSf z!qTd%7zKA(M?eWPuSEoemEV@>Nzop7r8nayP#4^AqZNg@SKuNRM3cL6BuDddy}d&` z&M3oz#F;y!qI%P<-|1y8lJSOdFPs3s4%qDTXmd(-a~5{a=ueS;wu+c}?+L6kq|&9mm!phDwGrv-TJ^l2S57tQyuE=bcH+fG7ptCd z#!m~o1t_}$l-;EozuYp~OOzcK*DjH32+Z%v%V?Q%)lU~uo%&Tvv521k~ z;y%doGClMnYhJ4!{{ z#Xj=kjsy-O?~aKUkbPyhz9z(5e_d{@tz) z*w9T#)s~f-`~XOBJNkxJ>`MeVZXI91h|C{Gbm9|~kKiMdy2C)*(XNyjw|?*H+hb2jSIlrc6|O ziogy@!ak>A|GwB%TVN*(tlZ$JJ{_aSh7ayTK6pPcoD_%t9s;{qM)thLYej+2<^R|& zt-rel!G46n&iij9G}Pad1+c0#YnOF(AH5@L@z0dg-;`5KIjP3(Q6Z&qhrRk^9HmVa zxXuQyjnL!H6xo2R(}yMjKNGw0_}2(cc#{<2Zvo*em_!tAsKleXhN}cHRrK5X z42=~10Pv=#Cyt?+iJ9e^v0yR$SJO@ICrvSvO}0Yq`7a=6C_W#JT9-JpmXaPeumcV3 zEukbYj}f9j!A+w_0%K|Yuu(LV{!W|(o7E*Ib9+T&_QH@?JLB02Dm$jrfjp37P#~y%%iIbq*w#k@sn_W#1|##;vJcjJ*1zVxq?Mn6m^_jqpK>5xBTjngpd|Efm|! z3s?eHodgrPK%za+N6j>PhLSeUKr;InJmP& z4|YDP4NuTesD22gu#LQgGA^SwE9Jkti?k4rI`RGq6Xzmu2HpF9cQji#G#u?O=?r3; z_sSZJOsrRz0p@C!nO0}M7j!O&I+LYb-&I$Vzs-()C+-4Qv)XR}tYuCeyv^lNRA~VA zllbax)OJ*0s1zbqTNaV3aWvc>nn z-+AGFfn+@k5wsg90dL=Fg7$n)tco#^`LG_tPaY!b?#Fl8`g;iUpwgDg997H01R>A=K{AFtcLs((I5oj5|>#RTbwa?5C=OnOuc- zqGYbvZ`+R^rN4f*J1mh62-QDll*m&m^RZD^gsV4X?6e0LwrDAnZnhU>wBWI{>~Q|d zVJtMQ?de@*r4^@Fho#+H&}Zxq&o3C;K}rir)E??&e>g0?VC+yXNgdWmNB&?U8xe`8 zZ&+g;iJL$m8xz@>$P69%v5CwelGU)?v*g;szp`5z&l@<`U79h~`8zC!&Q!Ttq|*A~+2>tffS>Bcde{ zEO!pel89DBWD$`?#9cn($E~+ zu96>TT9rxDYNMhm8!$PV4OrEBooR)HT%%T8Z4)xl(0RCP@B^_hy}TDkX}vccv&EPj zHOzR$zxC@7V|$ry%1cMUtHc^9Kkp>QBpgvk@RK@(CfCz_^SsbpDSA%LHTjKUS?t}+ z-r>9|1}QPI9vQ9$Gx7!EE8$^&nA7@|E*C-2u{qbHB)%C2MHi;yxzKN$RMUyqD4 z>seYKC#j}}FJRiK3!#{$t0UzO{onjEsY2?xpwXRYz50Eap=KTwPJlwezQK>1jt9;R zN?8LX$;)|D*FDg6RPzRemB@K2-5%=e=Y+2_&(jSSXa$)10;15jr}?-*a+^W&=Yw*) z*4h%sJn^fZ(|L1#AR1ai1}K{!2tMZtX-vc0VS{BTt5bLKi{e^v5$eO$>H=3r4yADy z=D#J<%X?ai@TTY^dDLsx-NxbbFL>j6GF(BcXjEPp5S8(ao+5#BFxl^ z8e>kLg%RVEgR=)DkR#2|Oq0Vy36LueoklVQK}Oh+(GxPbWgPBgLrG$@E+Y*u(BUvf zKogJYs3@IXOZ&4IYx0jIpSG>nP9)m|4O1Z8YC;0l+u21|ujeDAzCo&yFE{6uOEphx zNCxV212q{OZcbB4idz@tr;LQr@3Il3Ev;5RDkW|=$P7Kwf^XczWMc_-nfCL=L^0Rs z|B*u7_Y-w8Yw_Ft0iZ(_xmUwm2cGyVJ!3;{jS?|eZT9hxiW16AadUlsE;Kd zxvrF419h`&zeL_^|D$tECx_{rv|v0mJZl!wF1%0IaLB_%9j|AoJhHCgmjQ3?8kr>Uc|tRj z7A?HL>UAX?G4_X-p?>De;5PQsy3(zQV~}(;?0%V0RMZ`AM~j(fs4E9iF}A)?7D||! z!_)nvL3$3UqR+PpKa4#5l#)lT-Dd|+w!9D?tSjBqC&WF=$sLvYd9%M{;{l5a?8+@* zG8}fhs%M@?B%Jket8*taGmTr}9xY_+6z{P=3rouXmIDv*hP($jb7Hj@ zs?C~J$orttc?g0$3?{sIz;`p3x^3=FgAxr;2-)a0s9U`)Q4x7r9() z+22BDwK$Z&yL1^GOozaAemP@28=E!qn)z8F=9n0+kG!g^h${How2@o@BnFbV3rz`65bIi0dYRcgP3 z&lSk#TINL$Zx{B&WJ9sglO*{-qB`t?tRL|L3m;PZ>nOHv*n#q;AFmz~aw>0z)Om8& zNImqT2ys>u&f-CK-J0fU`k`tkUA;0*4?1JB#XNO$ek2Kqb4)iHk*_=0fZcW-}CfCC4Z1wR#xE;5CWha6B(WlM? zJ{zc=MkI3CL zoMVtD8p6&`p+SrF3*-*BiV@#9Yt$B+1 zIBUe_eJ|BNV$@-V9qUK6WO^p+72DLA&zi$Q-%+Yu!sRRoJDXGTeTe(<){;RSsFC4% z-m{c?q@KQ!Ib7L86PuSVHy4@l%*)ZRFt01rNpaXeT!3CQ5wJ9s-ABfh^wQ@UcG?&! zN{?2vhhq+LU`q~29p=;abI2{4n21ZSeBLCpubj%8`?Yi-rO)C*tz{S0Lun@Os%K2S zexcKP5r;2_~SxeTJ1{^{^~G24)vw2Vd%f^ z7ptjGU41+A=Df1K;*qq+|3@m*(aarhV7t6|?jh2sZbjUBl@26-s^WQ?DQ?|-p0Qox z)|LL3+B;bq&^qpboY+Bvebwl`ETqY$$7eqVCAEj?cP19+mS1Fq&D9oYAWw)qkRU+kIW5ZW$Jna znMsDLh1cyj4zM!uuDV9@>1h`Tbh$h|g033(Bl7+Y;3EIUZZuQk-I6jel|PE5vj)ZM z6pc$1Vrrly?xA3W+N>z#-pA-J2U*mBp(6YYxT;tvW6=PuALylbf63azt`R`ih}F+Nu0G=l$mIx?XrICy=vKpp4S*3*W3a)La$a`aNUQTHMLVycDS|U z;)ds)oWMrHaqHCc3>yzR&*oZpp40HWRsDHMxAik*lr8@3B;rwlM$X?nD}Z3TSvyJa zg8Sq--i1PkYkf|PRI@+!rQ0_XzuvWl-mOe4&)!LuUjnqnkLb+XH!h{rNer$I1`1;QS~A z>x>_oj7v?%cgV;wjz}&e@ZrE2`=-Y&bWMb-?q>P5_H=1sP!_^Zak4&4eagC?8+ici zlSt%&r^vm%!wx=>U^C+^Mu>?ZsvtHNR8j{16MS zq?G>FTc75Gta;KD>O!fPo0BOSomSLv{{s2ym3jTn1v{mbhVx%*tt9@R@UOl}14q;tCNYKC=s?~q&a`nz(;VFkWTa3c``HGglx1cZ@8b=Z7jUba<*0i#NiwfQAe7n)5)Z-3LA`m zuBdAgX(D=JC(fzXiE2%077&RmNIjta6VJno2J0(*dh0{=jQ|euNGcOCwf6>E8=6~6 zUzfMFMS`f|?sKtAw~|=#SNiB4UT1y7achCFyXn4dr zJuj%JxOF042a#66dVRmd&IdJRuGO4)N_(Pqv*@9?HMgx9;VG5=nX>Ow)_v-zj2J<> z`{sg{O}BIhE;Heqho50kfV%8P8OH<1 z5XUB!*|&ke#u^i*f~uoQ8pX5TI-ZfC#_9!NnrcN-jkS=JG{#eAS!Xopzh2%Bx!J`F zd~^=xvs}AnE`b}4AaKl5m~z0?e)Z$V$0pw`lk0bjce{haq05#YN+@Ck)RicgjF ze@ptECcT}>*Fxf-VvvafDvZdx*`zl!>9zMV!VgF6%s2$%zLKup1*W%l7d~pKv|EJ;juE&8L+!^r-(IF@AN%`>t`#}b2n^`NOUp@U$ zs$V&QI}gb3TGt&A4(U@}-A@M#eZjQiSem}ZIuAH4yqv;rNWXO~zzD11hZ7imQp5Ay zu66GLVd-uaTXXG?tW$^|Aj4!A#;dji=mMuczjjoc69@2m?}=qU?yLSGv)P&f4uQ3I zw>i=Nh>roBdgp>*hQkK@3!Ec$bs}vtRo82E&keZ*>?f-@F+RYtW}k>>;Dsc8l(1iL z?H}MYm42P-U(Vu+Dl65=QZAaW%!Sou9np5NXFfy5o^iYrhbUS+|rSd=qA(=e4&<)@&u1EC4$v+VMd2qoD;RX|?1Qzv zn8ku=nYyTHW#lh(&u100&@NIee#Yc@T# z7L%M<$bz^MU9BPKRCK zYm}PUP7LidwZtU1I$S5Ws85!jn5Nz$xu$3iSp$PVz<=@c)uPWpRC9V}+Q=iy0^blz zs`UlGA-iZhd=N^s)(Uwed#QoCfWRjwXQojm)TXJKAOT_RnIf98?SQM7P1G(OwLndh zpgwpwM6*8d?^AH*n`@I|Dz0&>8R<#IT;eK|(Pui;3NA;tRef{>j+8ggA|s zP5Ztf2?z{7$^KdBTGd=g!@aNGzva&CV7y1R$RNMDQq0_8CeVsB8JEOSGr8(iU0TrT zaf15v3WR~k=zN4d?EXt1jp;l^Bz5>DCGKmontrL5acZcumgW)XxRpYNn87#Gf9Bq2 z@T!U=o=b_P^b?5ZzIf(FiCmOp{sMc%*5*gQBg)PDLLi(e!bw&Dg||%e zV;u}4A)KwitsqD$W_T%Idb|%;%$3{5)9l#!#1YzVLTyY)t{EroXhKNnuWiNVV!z`x zy3Ubo;gX;duJI!^NEU4RQPpnT+mFj1I> zA0g~Ms@W;ZhT}1m{mw{0N}QjV8oQMO&S1=AMQ6zYo}pu*N^eJ7EqX`Vqy;DH!|98P z^K0*0VaCT2XDeH7G!{Ic)VE|`_z|oT~}y`oD+8S?eRR_dEY6;>6=3ND~2B@{POvx+u2CF#4xQ$ z*YlB8k(0vicwK$Ax<(_oNk?Q|=4G5*oIl@wWG4Ml+gEoJU*z7DE!sD#&ka{pZig>v zksd|vH77vJJE#?u@B;ml^E5y7S&qQqs1N){S4mD~KZ)@L@Yx)dm8GBNw)u)&F^8Xu@P%kkE)8^pPOACG?pD6)GjzfbKVh(+V6n{Cs?l6LT~ey*dq6ZgMr2#=f5>E)e5FiKmW}9`S;<6s`oSw+3(H|XOYHrrAMky9wp%!9bz7P8HpxiX!jb< zH=kUijwfevXFWdHkGj&ryu2$^I+enUpgSU)1Iq)0ySg8h9=RpxUUov*y^)2RcVu9R zE#a)Pu9Q@;TZwx*R}h+7bYO7zUH^Z4;nd#K6h?s6qIY-OiaDW z({p~xLm zDA?z6KMQ1aP3o7mAhY0Zw^Gl}4sR%5}_kp;VoKO6hUOFMRN zMJR)neFK?G$g-oGOsFlPrnqHI=)7XDd#6zT>d1AWcAN~mZ+~bdCn#%J%UsE`p8pdm z!1XDm53si(11(p=E*9|!L1T4xh*i981MIV(E_Akq8TVf5)yy!VP_;tHaWPJw!nT*1~7ND znkB3?IIUfXJ%%lP89!XfigPwGoBw>ds>d5F({FwNvw~7wZF{w_PB>P!R?Mb;WtC#F z5O{|`QU`ngl6OLoj%8r?5970lW5-6x;tAUhB$~mF3QBZzBzcKmAkl}_N8cjR6_rCw z0T)x@WPK9dNs{`dsN=?INo{qW@ZwYiRoe@N&JT%hx>{!bH3zQCl~ReLbR^qKG^K2O z8A~DDANTxqW_jcy@xeIX8wc9gqs>~!Mx1LWyRl9*uD|1Os`vn+R4R~GCZD6A!e>H~ zRXdImRy{@Qq*&z;NRGs-F~Sogi7KPw-GtrV1`9e7XD|_e z3l>uFdTmZTagz26+;y*L+kCSPGiK-{%>v!7DCzv=T z*)GWnChn)xX#Y`O4+;=#t(`yc#zs($L{FVVWafO*)u>DLw7`y@3C~kV(g5=Hz3cUY zQ6;e@ek)*#$Z~>fJ@UF%^ra_oR!1x`wXzIN?&@zezGK}2z@=VcCSG?e)r%!p(l#lf z_+=*wd7Jh9TRQ*YrK0>zelM_;WJz15_OcR)Y4QZ~YB5cI9+8p=A3AAad3jG=t66&? zd6RWvqgaQkOTCt-sPucN{tPBLemkV=dsG6=bwO(QjilxyHoiVSeb#-$6FtMG;ROy?kA0vs(u~K_&9u8~Q+xWYra?TWKH9GpuBKqzWfvi1DO$VQr z&oAk@4g3722mEzgj00Ea2qcLP)Fa&xK5)@M ?tE4>>F9S57{(iVa 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

FHez8f`omx#qJf( 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­l^OBL-^O*$ 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 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/.daidir_complete b/sim/simv.daidir/.daidir_complete new file mode 100644 index 0000000..e69de29 diff --git a/sim/simv.daidir/.normal_done b/sim/simv.daidir/.normal_done new file mode 100644 index 0000000..e69de29 diff --git a/sim/simv.daidir/.vcs.timestamp b/sim/simv.daidir/.vcs.timestamp new file mode 100644 index 0000000..f253175 --- /dev/null +++ b/sim/simv.daidir/.vcs.timestamp @@ -0,0 +1,129 @@ +0 +34 ++itf+/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcsdp_lite.tab ++v2k ++vc ++vcsd1 ++vpi +-Mamsrun= +-Masflags= +-Mcc=gcc +-Mcfl= -pipe -fPIC -O -I/home/synopsys/vcs-mx/O-2018.09-1/include +-Mcplusplus=g++ +-Mcrt0= +-Mcrtn= +-Mcsrc= +-Mexternalobj= +-Mldflags= -rdynamic +-Mobjects= /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvirsim.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/liberrorinf.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libsnpsmalloc.so /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvfs.so +-Mout=simv +-Msaverestoreobj=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcs_save_restore_new.o +-Msyslibs=/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl +-Mvcsaceobjs= +-Mxcflags= -pipe -fPIC -I/home/synopsys/vcs-mx/O-2018.09-1/include +-P +-Xvcs_run_simv=1 +-debug_access+all +-f rtl.f +-f tb.f +-fsdb +-full64 +-gen_obj +-picarchive +-sverilog +-timescale=1ns/1ps +/home/synopsys/vcs-mx/O-2018.09-1/linux64/bin/vcs1 +/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +71 +sysc_uni_pwd=/home/ICer/ic_prjs/IPA/sim +XILINX_VIVADO=/home/Xilinx/Vivado/2019.1 +XDG_SESSION_ID=2 +XDG_RUNTIME_DIR=/run/user/1000 +XDG_DATA_DIRS=/home/ICer/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share +VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-1591ffa4-a3ad-479f-90eb-871a7ef0f2ac.sock +VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-07cba0c96a.sock +VSCODE_GIT_ASKPASS_NODE=/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/node +VSCODE_GIT_ASKPASS_MAIN=/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/git/dist/askpass-main.js +VSCODE_GIT_ASKPASS_EXTRA_ARGS= +VMR_MODE_FLAG=64 +VERDI_HOME=/home/synopsys/verdi/Verdi_O-2018.09-SP2 +VCS_MX_HOME_INTERNAL=1 +VCS_MODE_FLAG=64 +VCS_HOME=/home/synopsys/vcs-mx/O-2018.09-1 +VCS_DEPTH=0 +VCS_ARG_ADDED_FOR_TMP=1 +VCS_ARCH_OVERRIDE=linux +VCS_ARCH=linux64 +UNAME=/bin/uname +TOOL_HOME=/home/synopsys/vcs-mx/O-2018.09-1/linux64 +TERM_PROGRAM_VERSION=1.85.2 +TERM_PROGRAM=vscode +SYNPLIFY_HOME=/home/synopsys/fpga/N-2018.03-SP1 +SSH_CONNECTION=192.168.223.1 58217 192.168.223.129 22 +SSH_CLIENT=192.168.223.1 58217 22 +SPYGLASS_HOME=/home/synopsys/SpyGlass-L2016.06/SPYGLASS_HOME/ +SPECMAN_HOME=/home/cadence/INCISIVE152/components/sn +SPECMAN_DIR=/home/cadence/INCISIVE152/components/sn/ +SELINUX_USE_CURRENT_RANGE= +SELINUX_ROLE_REQUESTED= +SELINUX_LEVEL_REQUESTED= +SCRNAME=vcs +SCRIPT_NAME=vcs +SCL_HOME=/home/synopsys/scl/2018.06 +RISCV=/home/Riscv_Tools +QUESTASIM_HOME=/home/mentor/questasim +QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins +QT_GRAPHICSSYSTEM_CHECKED=1 +QTLIB=/usr/lib/qt-3.3/lib +QTINC=/usr/lib/qt-3.3/include +QTDIR=/usr/lib/qt-3.3 +QEMU_HOME=/home/Riscv_Tools/riscv-gnu-toolchain/qemu-6.0.0 +PT_HOME=/home/synopsys/pts/O-2018.06-SP1 +OVA_UUM=0 +MMSIMHOME=/home/cadence/MMSIM151 +MGLS_LICENSE_FILE=/home/mentor/questasim/mentor.dat +MGC_LICENSE_FILE=/home/mentor//license/license.dat +MGC_HOME=/home/mentor/ +MGC_CALIBRE_SCHEMATIC_SERVER=IC_EDA:9199 +MGC_CALIBRE_LAYOUT_SERVER=IC_EDA:9189 +MFLAGS= +MAKE_TERMOUT=/dev/pts/1 +MAKE_TERMERR=/dev/pts/1 +MAKELEVEL=1 +MAKEFLAGS= +LESSOPEN=||/usr/bin/lesspipe.sh %s +LC_HOME=/home/synopsys/lc/O-2018.06-SP1 +LC_ALL=C +KDEDIRS=/usr +INCISIVE_HOME=/home/cadence/INCISIVE152 +ICC2_HOME=/home/synopsys/icc2/O-2018.06-SP1 +HISTCONTROL=ignoredups +GIT_ASKPASS=/home/ICer/.vscode-server/bin/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/git/dist/askpass.sh +DVE_HOME=/home/synopsys/vcs-mx/O-2018.09-1 +DC_HOME=/home/synopsys/syn/O-2018.06-SP1 +COLORTERM=truecolor +CDS_LIC_FILE=/home/cadence/license/cadence.dat +CDSHOME=/home/cadence/IC617 +CALIBRE_HOME=/home/mentor//Calibre2015/aoi_cal_2015.2_36.27 +CADHOME=/home/cadence +0 +12 +1756197905 ../tb/data_cache/tb_data_cache.v +1756194528 ../rtl/data_cache/data_cache.v +1756115099 ../rtl/data_cache/rst_sync.v +1756112329 ../rtl/data_cache/axi_write_ctrl.v +1756197232 ../rtl/data_cache/data_assemble.v +1756109175 ../rtl/data_cache/histogram_ctrl.v +1756107950 ../rtl/data_cache/async_fifo.v +1756106550 ../rtl/data_cache/sync_fifo.v +1756197951 tb.f +1756197943 rtl.f +1550753332 /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +1539400757 /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcsdp_lite.tab +4 +1539402341 /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvirsim.so +1539401183 /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/liberrorinf.so +1539401125 /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libsnpsmalloc.so +1539401175 /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/libvfs.so +1756197957 simv.daidir +-1 partitionlib diff --git a/sim/simv.daidir/_16331_archive_1.so b/sim/simv.daidir/_16331_archive_1.so new file mode 100755 index 0000000000000000000000000000000000000000..fdea62e10be2647a446f3414d3ea751faf1da3f4 GIT binary patch literal 420640 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 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/binmap.sdb b/sim/simv.daidir/binmap.sdb new file mode 100644 index 0000000000000000000000000000000000000000..7b941651b4fd06c3dac53519251d57f604b51f4a GIT binary patch literal 17836 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 KwtwLnj{G0mukl_0 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/build_db b/sim/simv.daidir/build_db new file mode 100755 index 0000000..ad40996 --- /dev/null +++ b/sim/simv.daidir/build_db @@ -0,0 +1,4 @@ +#!/bin/sh -e +# This file is automatically generated by VCS. Any changes you make +# to it will be overwritten the next time VCS is run. +vcs '-f' 'rtl.f' '-f' 'tb.f' '-timescale=1ns/1ps' '-full64' '-R' '+vc' '+v2k' '-sverilog' '-debug_access+all' -static_dbgen_only -daidir=$1 2>&1 diff --git a/sim/simv.daidir/cc/cc_bcode.db b/sim/simv.daidir/cc/cc_bcode.db new file mode 100644 index 0000000..bb33670 --- /dev/null +++ b/sim/simv.daidir/cc/cc_bcode.db @@ -0,0 +1,7 @@ +sid tb_data_cache +bcid 0 0 WIDTH,4 OPT_CONST,0 WIDTH,3 CALL_ARG_VAL,2,0 WIDTH,4 PAD WIDTH,1 EQU CALL_ARG_VAL,3,0 OPT_CONST,1 EQU CALL_ARG_VAL,4,0 NOT OPT_CONST,1 EQU WIDTH,3 OPT_CONST,1 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 WIDTH,4 OPT_CONST,1 WIDTH,3 CALL_ARG_VAL,2,0 WIDTH,4 PAD WIDTH,1 EQU WIDTH,26 CALL_ARG_VAL,5,0 WIDTH,32 OPT_CONST,25 WIDTH,1 SLICE,1 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 WIDTH,4 OPT_CONST,2 WIDTH,3 CALL_ARG_VAL,2,0 WIDTH,4 PAD WIDTH,1 EQU WIDTH,16 CALL_ARG_VAL,6,0 CALL_ARG_VAL,7,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU WIDTH,16 CALL_ARG_VAL,8,0 CALL_ARG_VAL,9,0 OPT_CONST,1 SUBTRACT WIDTH,1 M_EQU AND OPT_CONST,1 EQU WIDTH,3 OPT_CONST,3 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 WIDTH,4 OPT_CONST,3 WIDTH,3 CALL_ARG_VAL,2,0 WIDTH,4 PAD WIDTH,1 EQU CALL_ARG_VAL,10,0 CALL_ARG_VAL,11,0 AND OPT_CONST,1 EQU WIDTH,3 OPT_CONST,4 WIDTH,1 CALL_ARG_VAL,10,0 CALL_ARG_VAL,11,0 NOT AND OPT_CONST,1 EQU WIDTH,3 OPT_CONST,5 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 WIDTH,4 OPT_CONST,4 WIDTH,3 CALL_ARG_VAL,2,0 WIDTH,4 PAD WIDTH,1 EQU CALL_ARG_VAL,12,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,5 WIDTH,1 CALL_ARG_VAL,4,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 WIDTH,4 OPT_CONST,5 WIDTH,3 CALL_ARG_VAL,2,0 WIDTH,4 PAD WIDTH,1 EQU CALL_ARG_VAL,13,0 OPT_CONST,1 EQU WIDTH,3 OPT_CONST,1 OPT_CONST,5 MITECONDNOINSTR,4 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET +bcid 1 1 WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 WIDTH,1 EQU CALL_ARG_VAL,3,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,1 WIDTH,1 CALL_ARG_VAL,4,0 CALL_ARG_VAL,5,0 CALL_ARG_VAL,6,0 OR OR OPT_CONST,1 EQU WIDTH,2 OPT_CONST,2 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,3 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 OPT_CONST,1 CALL_ARG_VAL,2,0 WIDTH,1 EQU WIDTH,8 CALL_ARG_VAL,8,0 OPT_CONST,255 WIDTH,1 M_EQU OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 OPT_CONST,2 CALL_ARG_VAL,2,0 WIDTH,1 EQU CALL_ARG_VAL,3,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,1 WIDTH,1 CALL_ARG_VAL,7,0 OPT_CONST,1 EQU WIDTH,2 OPT_CONST,3 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 OPT_CONST,3 CALL_ARG_VAL,2,0 WIDTH,1 EQU WIDTH,8 CALL_ARG_VAL,8,0 OPT_CONST,255 WIDTH,1 M_EQU OPT_CONST,1 EQU WIDTH,2 OPT_CONST,0 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 CALL_ARG_VAL,2,0 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 MITECONDNOINSTR,4 RET +bcid 2 2 WIDTH,1 CALL_ARG_VAL,2,0 NOT WIDTH,3 CALL_ARG_VAL,3,0 WIDTH,4 PAD OPT_CONST,1 WIDTH,1 M_EQU CALL_ARG_VAL,4,0 OR CALL_ARG_VAL,5,0 NOT AND AND RET +bcid 3 3 WIDTH,11 CALL_ARG_VAL,2,0 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,1 WIDTH,11 SHIFT_R XOR RET +bcid 4 4 WIDTH,12 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,11 WIDTH,1 SLICE,1 WIDTH,12 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,11 WIDTH,1 SLICE,1 XOR WIDTH,12 CALL_ARG_VAL,2,0 WIDTH,32 OPT_CONST,0 WIDTH,11 SLICE,1 WIDTH,12 CALL_ARG_VAL,3,0 WIDTH,32 OPT_CONST,0 WIDTH,11 SLICE,1 WIDTH,1 M_EQU AND RET +bcid 5 5 WIDTH,12 CALL_ARG_VAL,2,0 CALL_ARG_VAL,3,0 WIDTH,1 M_EQU RET diff --git a/sim/simv.daidir/cc/cc_dummy_file b/sim/simv.daidir/cc/cc_dummy_file new file mode 100644 index 0000000..9ec9235 --- /dev/null +++ b/sim/simv.daidir/cc/cc_dummy_file @@ -0,0 +1,2 @@ +Dummy_file +Missing line/file info diff --git a/sim/simv.daidir/cgname.json b/sim/simv.daidir/cgname.json new file mode 100644 index 0000000..bb7d63d --- /dev/null +++ b/sim/simv.daidir/cgname.json @@ -0,0 +1,20 @@ +{ + "std": [ + "std", + "reYIK", + "module", + 1 + ], + "...MASTER...": [ + "SIM", + "amcQw", + "module", + 3 + ], + "tb_data_cache": [ + "tb_data_cache", + "EULYA", + "module", + 2 + ] +} \ No newline at end of file diff --git a/sim/simv.daidir/covg_defs b/sim/simv.daidir/covg_defs new file mode 100644 index 0000000..e69de29 diff --git a/sim/simv.daidir/debug_dump/.version b/sim/simv.daidir/debug_dump/.version new file mode 100644 index 0000000..84cd60b --- /dev/null +++ b/sim/simv.daidir/debug_dump/.version @@ -0,0 +1,4 @@ +O-2018.09-1_Full64 +Build Date = Oct 12 2018 20:38:10 +RedHat +Compile Location: /home/ICer/ic_prjs/IPA/sim diff --git a/sim/simv.daidir/debug_dump/AllModulesSkeletons.sdb b/sim/simv.daidir/debug_dump/AllModulesSkeletons.sdb new file mode 100644 index 0000000000000000000000000000000000000000..d9ae5c99dd04f689a74e85cece8c00f5f6d51dc6 GIT binary patch literal 1197 zcmZvcO=}ZT6o${4nPid_#_CQ}H&W7%tO`ZC9H@aP;?6?djFXQhfyO{)#MISf21F{N z8#i5wSP%*Yr3<&Z6@-F6!oQ%QzUNNTnIyjC+;iT0o|)V`GhEWIeWyzqCvnNO%PCdx z5mF1WM8u~uWeqFC3YkoY!7y0l3~M4X4TFjXQSmYTz49`^1xr@3NTb6b2o{N1*IB;{ zN@K#0?t}Uq(8wy462>stc=#VCEQjTU%49e*Y|UZ#4=dV;HWDzKv#NS-0XY4BUi>$-L1EqMS)BLYTn6hSgP0>Vi{F~CwZ}hIu@K~qPnvCiDzsi1-4|jEj z$M>nUDr1_zdguL9Ox;%9Wc~7NL@P3+`J<1gvfm0q_GlwS**H;2a+*Kh4PImF0YVrX zAu{7MfB)n23*mPWvSu40lJ_Ml%aFdmcxVf;KHjtV8e%!+U(EPV@N235IsD|Ap`<^E vm88$N;7ciAo$2@B%Sj(jNgX1nCRrUQ@Ny6+;cyXYH{%>1G(`H3*wfp8^gk-N literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/debug_dump/HsimSigOptDb.sdb b/sim/simv.daidir/debug_dump/HsimSigOptDb.sdb new file mode 100644 index 0000000000000000000000000000000000000000..94474556a9205e17dcbc1fcb54c2987ae2d2e05f GIT binary patch literal 6774 zcmc&(S9?=O5WTjHZJHreo08mwl7fSg3z$?1+kn2f2w9X=;f5`OF|izzkOnd)32B7j z^xhlk{lzjNPkG=U@R;9_@IubnJF8nH8{vF}F-LQDcXoDmwp?9d_~x88(z0mKqNR~^ zl_I4_p^gDFfD~Z-#t%q7%7s8NxW;1e0@V4SffUQMTLe87+Qq+PHWDw6y| zOVU?VR3rtIMXYLCS!TLEi>4RVpO!L^m^lX1P1@2Ek=3CeGtkltf>|mV!Y5}&`2gUI zDfa`|iAoOR6T4o?Fg}ZfAAx3OW*SD|X=v#JT#*>G+1=!B|GJrdY z{ppLRmBKvn1ao|6+mbAGOHqgU1lXUp^m`>hxdGS&V2m)wsRJ5-s{qcQZ6?4xun+66 z2AIoL(ANN%XMlC=PjLQRpXC63u#TLv3|IjmmH^|p7ND#Iu2;-3u7kc2fR8Z!lmiux z@@nvEfKmmlRm?DIplbofwhsCx;p?Gq5q>lDZNhJb4hX*;dV}yFbUlD|3)Dex6wbVC z29WbGkj~W|;G8Gh8Ue~4pb6mKVLR)?0Hp+8aq*EawP z^ZKS@R$kv0{ucDR0R6lJ{l4(`pg#mCKHwt&_l-IqAA?U9{t5V8;h%!f6aE?aeBqyq z%?ju*#D@G!fHveO0s0~T3ZNhIuK{iI4Y(fbTd`RP{hip5e-F$+U-UPA0w8LO&j!I9 zjRgShegFo5AAvzYpNHk(+$X;RdFTrmKLe#e8L${w0#pOP0PuIP5E{mLMhdAaG=@?` z$+1&LKJMe8(cu)M%LkHUP&16fsnOvv)G?{3@WFfxpHtWky?nU2$daSOr`S`O<-u?y zg^vQXDL(~9@-X`4!QqIEA(nOp(!j9n3PzFQgosp%Vb1|ZMw6?s(>Cl7FLe(jUsiuIDFHkW;_=R4_S^N3yeTwadpXC7)D z#iS>j?N-mcgq*irO_uw|wF7d!qB0kAay5~L=rnxaKjTvmKfkG;0nU5db7R>Ly)4hM z@l)dTs7LW<-Yl+c@Im6L;Pu%OQUB7Ex)cFwXVCYNC6VQ@{w zn?`Hn)Vk-(3*PonS);eC-?SbJcH4Ma@FXz%{<7Uvy2tkh>6*cRTI)-?4EB7otfM?i z)t9u(nRHh!v#-nKwwyZC1$diNXS&iH=OA!MKC$$T<%)-EYc*KkZ0(HNXV=<-u5Ri9 z7IE((9%B7uYgdQqoc<)EnGNymD3a^!0XCgzCEbE8-oo zef_%=6`^pjA`$N;23L2s#XIBu=ERmAiT;iXm?+`PCBYZS^AJ{2vrHN6NObLKYmfD| zB?h|sV?7uq*4H2Jj`jET4aBmxzRp;D zZ(<-3gRvR}Au%+*BCJ@!l&q~shwo%ZLC|H+?RcCj83P@nR%0{8)zo%YgROD$uNqFj8|E>FeJ9wq1O raw&gaIbfIBg`)m9$f4E$453`Mh^-Ly8wJYTNR*WNG|K+6v=R6hH-9uR literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/debug_dump/dumpcheck.db b/sim/simv.daidir/debug_dump/dumpcheck.db new file mode 100644 index 0000000..e69de29 diff --git a/sim/simv.daidir/debug_dump/dve_debug.db.gz b/sim/simv.daidir/debug_dump/dve_debug.db.gz new file mode 100644 index 0000000000000000000000000000000000000000..2c58f91045d234d32476a27c87c10e22ff6af211 GIT binary patch literal 980 zcmV;_11tO=iwFP!000001D#e;bJ{o%er|q+$}3|8T%c*krqiL#40FlBOqxvJJhChs z^<>E-$prp=cWsC{njSb0wk+-Lx8JT-YlWY;g(4eaoisY?jRwOW5t^G+>OAT#9+tt) z&E#V+>XFa0tI(9E%CoC?;aad1#&@BYUWwV${DGuZQIbq5K{8{>*QakJ6-kxnfEv<9 z4GlKjJvC^vWiTF&ZU#f}72j4$O|L_GBu4F&c`>&F-s$XnCCHa5C*vs@O+Q^vK20WM zJRDC#daMQH=$>7em~>aeybl6`9Jwh`+b-*mnoLJ2t}EKp_HW{LAF}V zNw6fr;=DVlxvEk@0AkAzXvZ)eFoJuP9w2PG)2xsjflcKjCyNa-E}X425(XT`g-L$a z^kEd-!{_A*QZm73BVligfivArg|)^?oxRD}>CzQUDZ}4nzR4WgLFiBy!fK`<1(*rP z;AjZvjm6|d-GD(HBS5@Ih_!eg7%UI#hfy=u+2_vk+S|@yEWf!CHkI@V-*M~fVKt_1 z&8(oSy9I^nr+15g9)E!EQpo`$fl3ub^aEMIF2}g%5freOg>alH5skE?qY_R@Rv%8% z-*9-w|B|3S*)ii>IM;`?!g485?$QzIOP}>SXCf_QCA}DUmS9P9X8BrfpiEc4ZCA%| zYyAc{b1A$XtVm^Y668Y1ux}tB)~i8=A3lMxM_>BJEjA1#ov-_vUkmcQHn5ZmCv$yh zA=votKnW+!40>T2^*;1S$^81zOBQosspN5Ke>%EYeW5~ycF}R!|AcOjQRr)n zFDKC0RM@jeaEV$i!*+@|-!!+o5-tgF4*=8iEXBcKj`}UpKdd)tVBBNhy3mE(>z{ad zeHk6hPp&YJkM|^D4uaYvDyH+l#qJpr=9(&S8_b~F7eesiWfM%zrJn9O=uT?Ja(Wuwt zTKv}*+ZZ-XRcDI2rT>J=C(Qr5){ut8T*Maij(N7zkT&<*km4PEcJ&Km;15pN3jhE+ CyV|7y literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/debug_dump/fsearch/.create_fsearch_db b/sim/simv.daidir/debug_dump/fsearch/.create_fsearch_db new file mode 100755 index 0000000..e30d318 --- /dev/null +++ b/sim/simv.daidir/debug_dump/fsearch/.create_fsearch_db @@ -0,0 +1,9 @@ +#!/bin/sh -h +PYTHONHOME=/home/synopsys/vcs-mx/O-2018.09-1/etc/search/pyh +export PYTHONHOME +PYTHONPATH=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/pylib27 +export PYTHONPATH +LD_LIBRARY_PATH=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib:/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/pylib27 +export LD_LIBRARY_PATH +/home/synopsys/vcs-mx/O-2018.09-1/linux64/bin/vcsfind_create_index.exe -z "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/./idents_s87tOh.xml.gz" "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/./idents_tapi.xml.gz" -o "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.db_tmp" +\mv "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.db_tmp" "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.db" diff --git a/sim/simv.daidir/debug_dump/fsearch/check_fsearch_db b/sim/simv.daidir/debug_dump/fsearch/check_fsearch_db new file mode 100755 index 0000000..a71e3af --- /dev/null +++ b/sim/simv.daidir/debug_dump/fsearch/check_fsearch_db @@ -0,0 +1,57 @@ +#!/bin/sh -h + +FILE_PATH="/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch" +lockfile="${FILE_PATH}"/lock + +FSearch_lock_release() { + echo "" > /dev/null +} +create_fsearch_db_ctrl() { + if [ -s "${FILE_PATH}"/fsearch.stat ]; then + if [ -s "${FILE_PATH}"/fsearch.log ]; then + echo "ERROR building identifier database failed. Check ${FILE_PATH}/fsearch.log" + else + cat "${FILE_PATH}"/fsearch.stat + fi + return + fi + nohup "$1" > "${FILE_PATH}"/fsearch.log 2>&1 193>/dev/null & + MY_PID=`echo $!` + BUILDER="pid ${MY_PID} ${USER}@${hostname}" + echo "INFO Started building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier." + echo "INFO Still building database for Identifiers, please wait ($BUILDER). Use VCS elab option '-debug_access+idents_db' to build the database earlier." > "${FILE_PATH}"/fsearch.stat + return +} + +dir_name=`/bin/dirname "$0"` +if [ "${dir_name}" = "." ]; then + cd $dir_name + dir_name=`/bin/pwd` +fi +if [ -d "$dir_name"/../../../../../../../.. ]; then + cd "$dir_name"/../../../../../../../.. +fi + +if [ -f "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/.create_fsearch_db" ]; then + if [ ! -f "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.db" ]; then + if [ "$#" -eq 1 ] && [ "x$1" == "x-background" ]; then + trap FSearch_lock_release EXIT + ( + flock 193 + create_fsearch_db_ctrl "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/.create_fsearch_db" + exit 193 + ) 193> "$lockfile" + rstat=$? + if [ "${rstat}"x != "193x" ]; then + exit $rstat + fi + else + "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/.create_fsearch_db" + if [ -f "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then + rm -f "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.stat" + fi + fi + elif [ -f "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.stat" ]; then + rm -f "/home/ICer/ic_prjs/IPA/sim/simv.daidir/debug_dump/fsearch/fsearch.stat" + fi +fi diff --git a/sim/simv.daidir/debug_dump/fsearch/fsearch.stat b/sim/simv.daidir/debug_dump/fsearch/fsearch.stat new file mode 100644 index 0000000..e69de29 diff --git a/sim/simv.daidir/debug_dump/fsearch/idents_s87tOh.xml.gz b/sim/simv.daidir/debug_dump/fsearch/idents_s87tOh.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..6642cf19e19c92867251b3c6b71406309ef3b6c5 GIT binary patch literal 3131 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 VnT@P8>;BT0{{cQ1Sik;7000|*6Wag) literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz b/sim/simv.daidir/debug_dump/fsearch/idents_tapi.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..ef8e3f231bd6407261b2f62a9373080a19048917 GIT binary patch literal 186 zcmV;r07d^FiwForbggIr18HPsZgg{BbYXC5E_iKh08Ng;3c@fDMDKpZ-u4(Rw$RcD zwO)Gb!FySgHLj*Z8?eyr(G@KKEd0>!I1ZZSdG{71;JBr8e0TQ zE2nH@Xf_8~0f(YG=2c!mw$E||_H?tdXjG4BWYx92C^5slJfrIRMnxGBl5C#VDa{fJ oK_&1^=0%P{G?pboNVLBHR(J92C9cV;fB!rE0sjx;p1uG80EQe^ivR!s literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/debug_dump/src_files_verilog b/sim/simv.daidir/debug_dump/src_files_verilog new file mode 100644 index 0000000..d492397 --- /dev/null +++ b/sim/simv.daidir/debug_dump/src_files_verilog @@ -0,0 +1,8 @@ +/home/ICer/ic_prjs/IPA/rtl/data_cache/async_fifo.v +/home/ICer/ic_prjs/IPA/rtl/data_cache/axi_write_ctrl.v +/home/ICer/ic_prjs/IPA/rtl/data_cache/data_assemble.v +/home/ICer/ic_prjs/IPA/rtl/data_cache/data_cache.v +/home/ICer/ic_prjs/IPA/rtl/data_cache/histogram_ctrl.v +/home/ICer/ic_prjs/IPA/rtl/data_cache/rst_sync.v +/home/ICer/ic_prjs/IPA/rtl/data_cache/sync_fifo.v +/home/ICer/ic_prjs/IPA/tb/data_cache/tb_data_cache.v diff --git a/sim/simv.daidir/debug_dump/topmodules b/sim/simv.daidir/debug_dump/topmodules new file mode 100644 index 0000000..c357eb2 --- /dev/null +++ b/sim/simv.daidir/debug_dump/topmodules @@ -0,0 +1 @@ +Ed \ No newline at end of file diff --git a/sim/simv.daidir/debug_dump/vir.sdb b/sim/simv.daidir/debug_dump/vir.sdb new file mode 100644 index 0000000000000000000000000000000000000000..03664cd4f54c0cbfed78d47f3a653aae98afa097 GIT binary patch literal 33961 zcmcJ&2YejWwLgA$cgoJJq|r(%X;mz(x?~lrcUfJsY}uAA7s*w&V9fSaJf6##&`+pI+qr}5Cw}o<+>JNAEpOQS z-Qiy^e!JG#-*?{=>gAIIzxzgEX7tU28}GUN^dGS08zI zY-V5c6RYm{<25hTe5v%ePo3{u^_^#ac=yG}nqKmmNG>eDI-}BL{E)!W);XNO+9`o5=98?Ku7<3}#pe)~<=T=Lp? zd%7=czi8BR$6fn+J{r2dr0x9IFT1kl2hXM@y>`31{Jq83{QkY_AKb(i?*7WEk`M3P z`1`*f*&n?wXaCpsP5!vRs|M&(u z?Ryh{zUz+T^FH|``GN!ez3V^w^g!H?0vG=DvTY|X_~7-b?y@DV!rr+Le)OHmS66+K z_3|sdS4|~;`j>Cr^u0@NxT&LO%n9sAp%GjFUo zUSF{~W@_j4w|?`>N16v-TKbPe_kGavc4DXkxU zXKHot=3T=J-k<(-MadJ*O~vWokNfaGX~_MWe%!2(!M7T{N~5*H7{;GbMcm& zzTQ}!vi}>WFUh%J!y)@KHMbqQ!CrRs(bo6H-gDc3c1PiP4;WwW9j*Jp4=P{%?C$UE z&$+Jkr>)VIEQzxJx{COx=l-ACVe=7zsaZ@lC?joaVZe*Q;y9@&t4@nb)F z^%n(gA6@)c|EiW1a?d6A`qI9A$<+9^>+UdKUs)*Bo>TeQPmX@}6Q$?TPwu7SZhW@qqCK}Tk>@}bwH?#(?de^wi>|J9FvlJev0=Pr2f{<3Bx`jgDpUbEe{=9$=?GwRhJf3WCR zFW>XkbMIOa`}n5j2fw!M+s`D&R4+X5?x(&r@Tck0%Jc4gfBmk5Z;p0FJ>w|5@~8Ub zb+=qR`Tb8vKk{93-QraX=MJBE^56}V=YRk6*q?v>(i6>3UAFG>&sX1Pd->XJ=RNl9 zP0!vm|FV{2ft>GN|8a5br~moN4gdX{ze>eB51)7HhW5FO{&UT07jtouw>;Yfbwn@K#^H)E*+;+eFmSZ<{ zrIg*bckzaiWmn93@A!2$Nk4n*=g*Eme94RV?f>p?>V9$P;jOOqKfd|O%ew!rz4qx( zNA@?nf1336-Ze?I?N|JAqc9$%8UY>^R{<$d6@Q@?y{<>`v69$otP z`FnP?{Ns~&_vZ)qCb!+>bEmAn=#MINoY{BfvumHxn%_N^b?D&S7gpSM z=hMIbxUpqjop#`X$-&M?`rmr8VbgUNG^V}!VC!x%bMr?}U-R4Fj6Zcv-=dkW56V8C z%rCq7qRN-AclI5xy{YuZU+zg6S@PWdZzMf_tgG<&?Z&2u-+Ao1tDaf>^17&;8*Qa; zUfA)*Ne{Ad5{cmBcqz)xc5Ww`26(!cyt>V}bDf38?JKDXb{)SB6F>F+l6FZ-|e-`{e2?+dS9 zIFj7?;bm*yt$L>AF9++VZ<+JXHmzvvt>-7pa~sBcD#m_aHU8L5_q?>@=Jva$UVJ3= zCU+H-6Fbn``Njn{lRdEv{h?e{!5_q%V@ z?f>!c*exHse|h+^r+=RC?V}Zar{iyo*%fH48Ts(UlRx_Hx$pk=#=c*l^Q*w+KYYFX zKQgt`>!izX{B?DDrN{BfoIiK}U8+oZ`A6v)Wz(NM{i);oe_TKR2InX5pL_B@PsQJI z`NGOm%PUWn?9X|W9bW}*HFkHz` zUU2DK?cMt_vmZU_UiX~SL@!Ey^7c#LTHd{{F#FM~-0NO&mY(?`>$sEMIr?Jp?=Fge z^XuErnT*@du77vQ!x!CIw(W0GF|Vz?df)s*!wWynzq|F*#)7{*qOWgV{nvz#<*(gQ z**gEb2d_Bt+23BeDEFdo9LfFWd(Ek?A79eHtM{Rp|B@#!JGgh=7?m)mzNPrLB^#Px?`zciED@R$F-H+o>Iap6ZRFZpZPSAKb9^1-K` zytAe6ul@($syRBo^3A$7?~2Q=y!6V6zR_zto__4{%JTm@^AF{w?>%wDN8fnrhIw1> zsDGvG-l~=lK7V`c=$;4O4*cMvj}M*q^5@$=x~Q@3rHsGE^zM3jW8Ki^r#_1*8CBTA z#nF56u6cdPw`FkE$&Z!pfcw@|X+~!3%o*>SYB|P@HX1ydm-kKcu9p94t;02A3!Ipmnqo3@GN2CPnz5TG$wV1~`ESNyq8%(&Z#5DEU7|53a5Uhb z7l;n%Q31WfNSKBMV~zQ5h6yIU5KDsnHRit=CYoqlyMDwD24>R>&3`kJnPYbZj2;-c z$5`&L+nB-hJ$oDu8*4v_Cu6B2CX=}|79ixHEmW=dTz5iYqJ`%S#<_&R$)DPWxWdHO`BDhWwVN6ST?Iv4ivmv zjl~0sy+d`|xF-tLI8(w#H69NrwZ2kKv@uoR)1oG!VTj~Wy_gBpNJL7cX?+fp+l_;6 z)HYgz&5pu4Y=WRqMyH@_$~H8VE)d2LwKlCEjn(uv7jOi-r}bqhEebC~x z1P5U#kdfhRu-jQcRB*E~QN_(+XQGSlmH@lOc!CU0g(Mg)lle|c6q`*{ZBEezSy6@vR9Z>YR0822cj1`KGie(9T#u7!(!4t4W{tiX2rAL4H zTty$?*i?O3(MO5N!x4evbunvxU*y%?D_c^b9fZ z6}(H1U&2<~%@!T2OgW(|Hn1KyJwq=F#99M*9DD4c7?SoE*|>zgsY_`h7{&Jx9G+twK` zOn0-tof+0$zD~C!p=0ZHGb#31<~|=UxhIB=iQyA&Sq`A@>diA=AE<#mJQeG9Is-P< zrXQSfx0=WjmgN={1tK7KifN4G`j>RN3sf~==W-FKHB)ZwrS5*0i_i@-ZYF^GiQ)QK z_t&GMfHR_ib8?(N3wA|E6CpIgE+RB`w4QLs#02bu?c5o+kK;DMBuxvTCqsKHiy`F* z&Tda^Y{0>lPXTEaDz4M*bi08k57?PR#75f*cWhi7kd;6RKt3_7uYgJM@d3fK-pM3W zfSwPlJRZUy0dXuR_GiPYgoJ>=Y{ld$E}#!)B_;;&()IVvq_mnyFL^2{iP#U#q)Y(` zvE*$5c6q(Pn|6uZgT*J@{mIDz(X>HeqE(2bSa()R3h+eigvBUCJnTwM4M?08-V#jO zj8-R$JL9n#+h(Si8{t?#&RXMcw%Mj_O*4#XdNX01LY&<`t=jTuT7lw3zPNseW7@Wj z6BQ7V5N8O&v|vk_K?#lBgwg`W5_!g0BH^b_$42Q##SP-N8Tf%AgCnF)Y4ME65mBH* zC|i<-UqT>mirywnF&b2TwQ3Zw76@Z{b|6>MT{GT&am+VO9ZD}WJTob$7%N?BMMeu3=djvKx^|D9&bQv|8H>Sfp%ghC5N5PSsEmrVj&rW0(;aM%J3oZOGPtoNJiMf zV9R4nKv0J%uhUZm;6xXs=1a!m8867f%=xyH?TZVEGR-j#!<=rP$=?IU0?8gx;){J{0n~LBxYa)``z)oV=ObB-9bg@>Jih|0rP8K<<@iX>O<-JUm3I{w=Si7g>~=HY2i=}Y zUSDn6ItaEhG`zT=+k@|he{y>;!>aQ*=pHgS(-e`Gj z7&59PfA$x<%w!C@%%2VAY?G;dGZ?ESy>G^gmU=SGY!o8Q6lkPw-UrSRlW`P`HL%({ zlQJIX8;)BYd{ej1w(+xlMj{YewJoNIt<)@Q^+I7L1=(Q8! zW>V1k2bT&#+LN=^nLY|;m_9O+pnbO~V-I9BNb&z7gbESLlI1N89YpRVka#THs*=%X@fz72`Cq_2|JYQ_8 zHQcJ6%V;)JWvsLrqYi)qf8vQbw4DL69mGdeJ&)0XL5MaljMU(*9JF~YmSD+00sD#$L+Pk0qFS zMwdU&pRZRBvnDn$h~dmIYsNhp_xS^Z0TxKXQwuPuxVPet9mY*87Y{bv^9EX2jm=nT z*Sm}f>vmxX_Ar!6?{fO1Qv3$sMKxV;! zo{W(R69zGk*~AKg7IB|jHmj?atEx2>)t)fUQe^5$we&1u)6(FKM0%Exo+3-WJctFZ zO{~}iom5sQ;1Uy724@sNrOX7?!5J0cJQ(952bAF<3ioo{qj9ew=f&Wm5_g1IR>hqc zi>GQ}+_=|3lI1Ji%L@>td(9#M4i-VQb6@$+#0}2Gfva|)c15jj3&aaHZ3m`H+Kz$R zTB9NmZ+pR}jkO1I(>33i-T>cdV@79S4o3BQ7pt7vJRKjZ8ni=H5a#}LixvDCR=tR( zs(?*TKZ;cZEEmL=eKC`8BE)1)!CJx8Fdbi8tLFtqD!;bLXW znGnf)$Pwj;;&_u%HTF1SS*(UNDaOrEjjfRgmp{|tzWGuHIrLJr1w@y=_AHF-a1@yl zRgBha9Gd>0#im-!3TQDA0N!R?zDM`L6`G9qXqwL$+Wada^oK4dlX+Wep<^&iUbR;^`nd34{B2h(-#DHDo3gy#5g_#i8$`!^!VZf0U z7#?(FIsn&>nNBWboiK~(9~yV0HD)S zNczgCge6o!Hqe32f(1rLX&|>ii`SS)FjT~2(X=$+gGTauJhy2c#FtJv%1pryl&Zv0 z4g<@>J(8+1kLK1?M+Kuwzt-erk+xtSObygjMwnp%R+H1^UdcuXpmCFilft#!jIs+&1)T zi=iVT16p|o1_XMI5EqI96a>r=5VYN6tnvw>CVBSy1c`zHf`A|+7$kTFr>0O05EP9e z81(xD7X^bZpAe-*A!=woAsWE|K|zSoVq`=G0iDte3bFCI4QS@`sE-O|)I(b{H4kuZ z;Ao^Ol$)J7CRIx=0XEfi!$R&G%3o+PsXR*XI1$gix|m3cwSF&$mJpPiQHb~v4dV{LXH#Tu{0-OnwsduZSSGZvE>Q<<7ZF{ecHa1G0e z=4RqbYlQ|bGC_+M8qFLnL1;owgV2n$h6(dc;Q|8y z1*ULbFT5~q5H52W*pm_3$xmK9bbz@{=;RqJN%II@JV#3sx{=c<^g!02&?+G4km({M zw+2MSKMg@e_ldaJ6>->Yq2Pg0hA4>$fED)8C}TjBMFhaSAc;OAIz>dlQDMqr8W9x{ zJGOm6iX>4LRd)Y#QM3_c&3Z;fm*`@rt~F_(+ABthQS6G8Fq$o5v=|+(J6VhoV^~g2 z7>&^^YN7`1(v(dL3Xc=9t-%)VLPH9oj1JK)x?zMfXqE03)P!wB2>b)Vv?BTx&lUoP)kIw=yjF- zILr}hjhKPxhJ8FMBxZ>|z}Qf%B-S}gM9PqdoZFJ9^z4)Q#x|f3pJmQ2Gghk;$elbej%88#YNMD;sUXcO^FMJ_&8Kt zVmD19i>D-bJElR>8Z7?m`z~ypLoy#M-e88pU68Stbxop325EEs(|#kYfQF0l6ks zEIqS46L1rdV%80|p#h`sGL-`ECQ&Yc+Tc# zQb7UaPzIHgsB#IQa!vujutd~-qMko()^rReIcVaUT4HWGZ-QpS&@$1`NaYmOVzFgX zG?|o%KAwmiyj94s6b;f!Not9x&tp^cR3z$Umi$;#ewLQR<>#i_^y55ISbDOchl*ok zWujhb>CvDj3u=;(fj-2`pBiEn^=eX51;c94&-DsXueG!#Txd30D@Meb%CpVF6=BY9 z3d@F4avLvPlcm&6h0BgCTpAT_K51(f^%k>mjiTOasq>ifbIigOg)GFdmm8e}JyavS zaP5|!c&N!at8jBdtfJmY>N-%kE-GA`sCU!7LDYLf-8023rPnHE60gEsEs>Fr5iJ}P zpfr{X_0$Nc3i|?Hv%*o&TCP<}%eU$1v!cF)^ez_lrKE0=sP|7>9LZdK9^QFee8^O* zka^I;TNkNWZWYo?&djq)X|d-OOR9t=uwB;s zaVj)&Y>`|NrtSZn(JDnrQD2au$4k*tbl3pc$dzKG7!3SEgU@A>CTXs`U*P1#aZ?dS zZvIXQQ+OLreDT4Rs?U==fT-p(%$+ z?lH+dK22g|0;ov`x{;I*>O83ce0g}!MKLK0BMvE3nu`+*gHnoA#JGAp2vUN}WD32| zcroYE`-~Sep}}Ad9MNG?84u`jA-J5%l!&?I`2nedo|Eu=Iv`a-^E{~v<*R~}R=#{k zWC00dN07}*tRXHgaEfcFC75QbkWvRJRZ_j>CCqwey|f!sOj~YwE+R0E)U|j!R)+*F zT53j2;iclEzj*4YG!m!LUt)ueyQLLkTcq~sL8(dVK-rsy;K~(D28lCY;4e-rki=-w zOzNhgQ@Ac4mUK0b%{OfGX-=t!*-T}ES!2|dEM<(ep$@Q8GAQ**eKeUEq>~>~=ag9) zjdmdFrKM+ZE0y}qy1-yVDh-YTsl^TRx>!jq&PPp-92}4^qLfxLX*F+NNm`;b2*he> z2qPP5g|x<$g~P(qir_$HR@VBEELyP$NE^uGPQE}OZG@Qh(y--mXOxyiI^(niX%kT~ zjNYWppc$4%W(K8o5+W6Mw!)-!=!~K{DB?ZEOI?Lpw~D9>J`!YU*$xTYq%o{ZN?WBJ zrUZTiL&hRK+ISzC5 zZm*2heUGQqD|@sA&vCDufMJlw-{h4OwIq+f)F&rtUc7Ns)UKB7>F~p%-sSsuOD zC+BF{9zDS;=W998u)r%9Xt|yNpIoTrK~j!So~z}1{2(mR3OqhI2sdxdk|2j^#?Zh2lX0mWf*Fp%4#k2tIPN+|FYXAvyw>L|}^t`DH}e9cY*N z>kbpS7z80Vr!3MGxtCfl^@BIN=3Jl+~eIdmT*Jn4o}$GJSX1Jmq5`KXLpHj|H% zE68J{2y^V=L0PxUm}JXGFcOg`WnBXCE*Vp7?jF1akqCM4ewI>vKUB50|1qGN#CQ zP-X0_bMZKs4KO$$h?=riE@Zvj9&C1)oyaWUN;XA4LDPq&SO$>w8mk8@b`9rD z_>4!^vAQqobuvx?;9d zPTE4#lYLI?p@kMa&9EoJ9kep(jG{&+QSqEsBXdS0v^k@kF+5;7^XuP+nfpD^f(i_L?%O^`3`m_0iWpf za*6TIWK$wW=+1cbhv24#5~sw4dB#Xn;+6Q2XZSmGpOT;?guiY}l|&^me5|97C`n3E z_#1VV;#IunzC~ys!9QO~R+8DNpM~}oP&Y=ilA@&W%?p!|RK_W(N-8Vd|HAZ}Qc)+$*F z#vY+<3?f{jWGfhd%_S_uM{eU z+#}XT2W&7}l)1{>$n6}XRVh-6xJN*Enh!T5MJZ8AXfp-%t`R6n0QU<34|h(x5b0Inm)cdWzDhGzQ1zBxS$Sq%=j8O7B&gmFD31_GUH= zBNCMP%6zJnptHHJkz*`ST9g)EU9+wlP+FDNP%nZKJx6I%+JYs;$56VUbQ@Eb(oDyt zrz<_?lhLRw#FOaSpe(|f0#e4O1i(}%eLTlFq%1ax{dvj~5P^no5YgeFWy(@BuS!{N zJ{(g9INNq*g^4hH%1Ut2&Kjf|naU~)0+6MwCasi*!w+i}>@YCi)?E64vex7uQPy#R zNy_>Vt!q@-VCH(2jUjPclwlK@tZWLAsz#@>*_28pFIPsmG<}=0)g<;WRkm4AwaRu9 zM$0@fZb;c_;#VoVxHuE9S17wJ`UYhWcPWU+mAytd(H3PNCsOrY$^;AFBy3R*n6Oz= zwNt@&R@Sq=M>!O-)ksthLk6}5V-(#5p4r7E!>jn|1Z!yI?@|NCEij#t<*oeL1n3o_ z#A#_5P^bBncDbs5Bltd}lYH3QMRA_ZzQ@u*1R*xx(Ql&LuN}^P2tdXW9N{!Y; zQxc_CYi2YhQR=k$G$m2$wH7`lQ5v*Xnvy7u_yT3WPifLvJ55QHW_&?{DTy*)>x6~{ zUZq9r!jwd5)w*Sxk|=FjkI|KdLsl9q)_r1*Hb-|LU7#m3G0O&YS`f>C?$wjUEW4Vc z6&tGnvITpQF4Wf{U6eosea23tX$H3GKy7p(U2JGb*%G4|x21=~EQg0nH7U}7T#e87 zaPwhzKSvv+gbgJjT{DVgt(WrFZ9%dgHers1ZTK85Ck_eQfUWi%Z6mhVbF{o6%FXXX zQh@CxV7&`(xLYvWt}>eq{|@X-Mm(M zbZqi#yD-7WZMRRP^Ng{(F%#?7dK4qsJfg%Fo) zr(zUah#_r2F-lDSHM~%*$j4;ahta5Fl$tqfwH1mn&th4}$wE|i#o*_>GPU(+WQt*( z?;7S*JGFi)JS?cTxJO{YCZM)JdYvhKRNJf=_4G`q1 zlm!%HKFv~g0KjugU<$xayG=1L`UkaQv@vkC*|m%y56Jl89%k`$5I<+>B$l=^#poiQ zE||8=tTwC=5H};0VDAZPB=rk8y8{|~iM>lP783WuD67U}PZR4-BIpaWD>Q(2Kr-tm zM{t|4j=&|8hnH9+SaL|$#_$&B+n(l5P_V%LTs^p`0H=v-nZ;!T6WakU+Qr1gm}@3y z43KHd6=TIT?n}XeEhq)wI~Z88fUSzLI*b@=y+A0&5G~^?Mw4Q!Vcc$kfwL(%^GKta zhgm5bP!`53B~^=246O1h#s-m-GDSRMFN+^)#YB*4 zd$d%=*hWh`-WaNJau_Y3&~^tMQzHsZF?Nw0wA|ga52hGnim?Zha45j5@piJGoJ+Lm zBI8&PQ1F)qj0w~X$&;xyU}t_0S$lx^Clur04DNd&Q$WZ*Ur43tAykJx=ze<^k;&++VcwF&ELEUk9 zD30sXwB4p82#O`U{hH!;Tawf;yZs)L1gZqs?T==PKM}v^AuXQENtU!+QxN#ESfTin z6@MyKJ-HujX@pBv{8*|`{7GO<$1iCk(^6s2cC4r?##Y7eGus2!=>g)qUUPaI>iGT~ zI{e4mST0($KNnMG1!H}G9&hCwmrtz*Mp0MI)ix^rBGOo>_=};ikk&R*DUZ`)_g=w- zz&{UJ1!MyT&i-;PG+Xgkn8rlG7=JeQMR^n=TZVaq_g9lGJ`%Qp_Ba%O4T-A;buBk% zLu8|A#X&9Vn!H0>jmD|?vHwI23cg*(LzUuhG}T6v+A3^Tm}+Su#Z=p41bwgyYJJel zqt9N`28uuao-)Nx0m#1)3RfX&laYH7EcRjz(XRLxVKIpJff(fP#hRLC=Oj*&2!V?! zxR5{susyE$`xHO6$01Ph_v2(IXQsmnp~5hfj>~{L#g79_AXNOz&yZ8Q75{))C@f+C z49K(tL*wPmD%uF2N2o@-iXG@6kfzR=1@@`FV1{0*W`;8K5jATTSfxfD+4Ij=BhKs@ z&1&SCy*M=wBXb-IG?lva-D*A!<6T4QTs}jf$&RZ}Et&<^sKo%R8Pa04!~#UuT9rr5_MjP3ftcmA>-Gpm9zE^saT{6mUq5d4O{3Bk4yoHDOQVGGm8M+s@9sYWvrq$ z&@_goczlL0y1LayG65Jqvlm^ZY7@5!(`wOmTx}+LOigHV=WkNya}X0#K&5I+aK>q< zYO6Uv;%psiTNqn|+Rh=KWyGr;&_~8js-3~2xb#M~%QOsj@mY>PN9{H-n2DR1619f} zk@c8^lMQ-`x`0b_?N@tEv3jq%Fz6sXL0!Zb-MG-8*A}RKa7t)yr4FczXYI&QmsoNn zbs5M|(Pm52H>%4`I4CDp9f(Bqsw;r7ssjbARacsDkYk~`DiTqruAb!}pDa=bXAyww z)uBj^7}Z}63|`S0+%5yNlVXfaQ*|E(pmT6YI7dr2_R+vKL#HvZHG zt>##~jmF~bdN0v-@UeI&AB)?%27u|tSln-YpqPNL!n6hSr*hU|r<`fM^thfsme_47 z&b|JO1tu?Rzs!8_EjFMjwt3 zmg6LQEDE=m6E8AzhLL6FsQNyHS@86kIjx+9fk)N%bC$)HFr9@-8|PU|tSpEN>6zd; zOU)eJ7pCX{P87gI*m95`Yp|>gCppBKnPsKk8YcHJ&+4;WKgprRrn8SQUVKiFMGHUs(!=49~rd}Lt?g0E~D3{ z#hfM~#U#Ut;}oiaKhMRzKM!Ts7W#7MkSdm2hR;N_MLt3mAgriHG#6M#RDGPPH%PS@ zRDHgFP8Gwc%86k@&>L>b&0LAu zn5YG_fQk=CsnMG)*ht_a(Q=GLTZD)3i3D%UiM-#CU98t^pXImi&edpA+NMsYou{j6E>FT;9J`*DmI#Ib^{|Wkm7(b zS1r>v7z_m+g_8;#yN8T&sH>dDL#c|bE1pYCIPOWXO2<7_y-3C1f#O1(47j4;kd%>u zrhSdHt;F{g+ljx4_#4Yq{IwYv*sQgYsn7uTk~hkO#ZSLcSH> zVFrUme7m=kwwF~L+l0hkRbPzJCQ{6M+B9?5zl+RT3bSBihX#ZCiF7eaxeTSG0PX^H zm)6bw$h9mdie;)kK(ioKU!dwZ>rRwWr)(`&H7ZdCrsZgE)u=8Z?;Y zG;kCRAHtL5y1-HdX0&&;O*I>LVOO*}8oCL*gDSg{GaQvwQ)~o_)L%bm??z{ zv4~Ak!Yy5bt&X(za7%p)#wHHz-3Hry9ox5z>}>FLEGYBs9^2ELyWLl?WpW?xg~h(z zn+wwWxu$R3)vvd9EWWtj?*%dP^@6Z9wBjLX~LamAENX ziHvGd#X1bHL>8*WOtTWRf|W>OwnEBQR$D;rZHy_AwOH~0u@-sZc2Fh8@>=BewadfQ z|AYAQ|GklL@w)@~kf={{7HW&R_`S^ae-U5te-ytjfG0PK|7)hp3SqL~R_ln&~8q{@(;dw9?6d z3JHf*<4CYgQCvBSdOpf(`>CGKV=~%)e#8*`sM%7M5SWcMelgTc%~*pKuESpC57 z3WS~MSYVfVxH@fKn zqU!kAwryL+XQQh>E-OV=M|)a|X=B^2UEH7v-^kwG`*v+Puw^teg9jA+HKkf( zo$B{pia#NUMo^^s(dUh#;ES5x(ez@>r*+6i3{-f($NE~FkXB;}AMEw59v?&5SB!7k zGqGvpz}VhB4ZgO~(eW)46U}9lxn*_Ri+z1t_G~+_y*YQ3$5wxSK&#Y*szKGCtNIJ3 zO)Uka1@CoBOA(6~(`wJw(z)rtrUqYcCqxzd2v}QL-cYuFR?()31I@XcO*O>E*nhYF03hJuS^FB^Aflv1w%c z7T>@DG$$%&Uzb^wntN^{&{sYQW^K4WN{@#BB#R zb!vYdOALjHe^$J_tD~!TRoBMOwiRurh`N9sOeErF2V{_ldX{8Q%lelFEbm>>wXwUm zd#Nd)p8t7K63{AG0vd2+FwOTb1yBjv2768RhJdR28;E^MwAdT*UD?0Z-@UwTF$%DB zNte~w8{xvnjj^G>x8$$>AF3Aqs-_8nze@EtQ{EitvbKJf>pdvc+cCCJv02 zR@7HkRacc&R@JezdE58y-ZHPZW6Suwv5}4Y#&=B2>+NrwH!-$*9>Z7qAjfFcj*Ho+ zZH|PABYQ?RZXMgYx3s*vrnbDIw!XZM)&CDdN=xUBAJ{c-6wPJh2sM{^vmy>bgBk*% z2Y&>)mpKIUuaj75qT-TyQ#SuVhn=JC4xbu#0UEPgL<2lCOe|zO~W|CZl#IQ!D4WP z!%A~Ph2{vsN^2s~rUp@H4Wg%QV#@a5*mUE_f$?3X6&2N0b(IzM)m3c%zg5Dsm$<$tLS+<3 zM~OI>86iBHDZr6VCJ%$69AkHLqRQUtxm@fyCBjHHj{_*i^88A{d^|o^jHLH)yhqgABIy%2J^^1d#zfee$nlBz{4i2Z62~XubHqqF zUXI6Cd;^j6$sC`I4+HYu5holO%H zTXt{WwWYMOuDY_WqP(WOiZ%aReIZf|x`HDn0)?I+*`(bJUk1_;#AcE z7Kww;Wt_S0V6w`OZ`-VNL8yOlgxyM)i^1l?5e_TGUmmkU0Y?Z{x;f-@ju5T1sWj*q zj*zT$S6T#G=4c$Q&yE!Cx)X<#lze>3?p62R4Tf0VAcL!sVC< z6l-y)m@u|7wTRDH%td#by3v+dVOA|i+pTn?Ejk?S;AjV^#c;I1(SkZ^^UVtrB673{ zbaXgc;%EtIF&r&(w2XCcN6?ELsZ;7N=IbOwDb5sPqi{o8b^9|Jo z$3$7Fz93S5G{;A)`c_+Va#*QiI6j8(N;qEQcum#EBI#o}9=ma4k@Rkk$DfMb5lJ7% z@o|KYkRQ+S@v33B&6yKskB8$ugpUr#CvZHLX}z}0%rN>yj!z`KI~_HS%oP*q!oLR(&5m>eI+`v@p1AOeB3C$LA3~f5Og0_LP1Go4(Vw08L3ZuId=rHo9@k_S&}k(T(M$qnp_o z{DIf5>Cn_JNYXvHWB*}`0>|#V&akklnk8o2vhjmkMk0vLn(0`C2Wl4d4h8j@(s(os zjxd8t+mDVd*c&PEtig*Vu(opRzI|IFG>2Zu7RjzHd)oUWWz9z5pu$zVch`=F8#awK zpFm_xwdC#ZU9zMzOk=<{IsG5&zvv&Et7qzm^`rg?|Dmh9PV`>gc6G0Q%)c)uySlDx z!9d^A)lKa=-rR!fx{junp5lta9z9l%*L`}n-ltdT3-o?HNuN`YRZ-pEHL+^%;rf>R zr8?6coGKl8DSDQUFB0=&5|i@^t4hl1=49vVRYt2n+F$IS=Wp;=;{R(k-|zMp7U}8w zHvNEMGX(z{Bh?u3Z_p?8V-p9)sp{!Awr6z9-mP21K`b~4_mF;}@qcqOFXZ9RHL!#reD)oA@r1)YPQGWw*Ky~(xV6#q?1ckWxVGPSpd%4bH7dhgXO`q=(!z? zxh_1L{`ju*{|?;Fv*@WlaEU{dhTG3BJ$Nxt$Ihb1HV0kK+bNBp-*w-&fV%uFdTJlI zu>XfEoPPA&YfFH-?JRm~OSs~)DGjH8qvickpdLAk9w&9_O1y^BaQbUr*hy{V`LpQv z5*@AzKcss&{i+ux>wx+be%Qnh(eKAIUB99voc@{@ z=kA0bsQ#&rTJfW6+`Kt(+BTB@ug~?L19~se)COAdqie#v*|?r?`OasD4uHNG`6R2= zq+`I*W!p??IKA}38z_^l6=?Dy-RYt)%;>s;l5qN-=l$OR{fe{vNo^LF?T?g((?2lt zNG9;x&!Rs}bm(53FP#3x=gV&cJ<5!Yp;>z-i5mD3N+amsT1NC2pCuok+VksCO2g?* zG((-K%PbzC)Gr}f9|pezI2iLN|2-tP;74_g%XJA7YMZ>i0DlwDR7VsKak-vBLVXqg zFD$yEh%O7iSb_l0L$VY58dBLcECt0q#aZI+F+jJb5%neA$mSlne-;1OizZ8N12irf6MRWLfNXaHT z8jVY%c1QB&5Cr&fBo6%22?9)Ujo=J|0G~!eun#|6+7FNrjJ83SM*bq0e1uDT9tpwO z1Oa{t3Bfr80e%I^V*GLmLQ%*rDsLV^fD4fb_~jD>xC9Bo1q1=6vJy;mxMHi35ImP4 z!1YK7E+PnUGZKP}2?E@PgkX}3E4B*>!KDNN?nOc{)ibVGvh^?cl@Ww$r??~GM|R+H z6FIs*d`WnFt2?G2GhB?${s2*^6R3ucNeFOofzDh9FD=rW9 zJvV+!2m+jqgkb99xI9#EMBh&kV5$d#sa|n;$gc!1CkSvW66(8T11=BhTbjhf3J$Uq zYX4;KN(=t61+TK;*KqgX2R^z|{(yw~`XE6JyFW;Xe~2K!A`*hv5CoXseFU#12(SwY z`EDISfXObhm)ae!RMJE627&++AHf?50!(*;hw;OeI)a4YO#}hnhJ@hF1OeWOgkYk> zmAV%R!J`BLoWH3&cZ@^d{#khEZvk(fg?Cdwydn(#Df0g~3-5(K;m|C60CC4QG7BH1 p{{QGK42WMilN52cQQW|F_yhCK&Nc6oRy_(<|2p?E6EENV{{TyKgA4!w literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/eblklvl.db b/sim/simv.daidir/eblklvl.db new file mode 100644 index 0000000000000000000000000000000000000000..4ac5fc6cf890b46738523c4d4d9d964e312f368f GIT binary patch literal 24 KcmZQzzzzTa7ytnP literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/elabmoddb.sdb b/sim/simv.daidir/elabmoddb.sdb new file mode 100644 index 0000000000000000000000000000000000000000..635b55810f26a805d865ae72bf7fd95c247625d8 GIT binary patch literal 11452 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 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/external_functions b/sim/simv.daidir/external_functions new file mode 100644 index 0000000..14a367b --- /dev/null +++ b/sim/simv.daidir/external_functions @@ -0,0 +1,78 @@ +pli $fsdbDumpvars novas_call_fsdbDumpvars - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpvarsES novas_call_fsdbDumpvarsES - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMDA novas_call_fsdbDumpMDA - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpSVA novas_call_fsdbDumpSVA - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpvarsByFile novas_call_fsdbDumpvarsByFile - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbSuppress novas_call_fsdbSuppress - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpon novas_call_fsdbDumpon - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpoff novas_call_fsdbDumpoff - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbSwitchDumpfile novas_call_fsdbSwitchDumpfile - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpfile novas_call_fsdbDumpfile - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbAutoSwitchDumpfile novas_call_fsdbAutoSwitchDumpfile - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpFinish novas_call_fsdbDumpFinish - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpflush novas_call_fsdbDumpflush - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbLog novas_call_fsdbLog - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbAddRuntimeSignal novas_call_fsdbAddRuntimeSignal - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpSC novas_call_fsdbDumpSC - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpvarsToFile novas_call_fsdbDumpvarsToFile - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_create_transaction_stream novas_call_sps_create_transaction_stream - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_begin_transaction novas_call_sps_begin_transaction - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_end_transaction novas_call_sps_end_transaction - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_free_transaction novas_call_sps_free_transaction - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_add_attribute novas_call_sps_add_attribute - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_update_label novas_call_sps_update_label - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_add_relation novas_call_sps_add_relation - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbWhatif novas_call_fsdbWhatif - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $paa_init novas_call_paa_init - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $paa_sync novas_call_paa_sync - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpClassMethod novas_call_fsdbDumpClassMethod - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbSuppressClassMethod novas_call_fsdbSuppressClassMethod - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbSuppressClassProp novas_call_fsdbSuppressClassProp - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMDAByFile novas_call_fsdbDumpMDAByFile - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_create_stream_begin novas_call_fsdbEvent_create_stream_begin - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_define_attribute novas_call_fsdbEvent_add_stream_attribute - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_create_stream_end novas_call_fsdbEvent_create_stream_end - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_begin novas_call_fsdbEvent_begin - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_set_label novas_call_fsdbEvent_set_label - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_add_attribute novas_call_fsdbEvent_add_attribute - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_add_tag novas_call_fsdbEvent_add_tag - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_end novas_call_fsdbEvent_end - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_add_relation novas_call_fsdbEvent_add_relation - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_get_error_code novas_call_fsdbEvent_get_error_code - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_add_stream_attribute novas_call_fsdbTrans_add_stream_attribute - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbTrans_add_scope_attribute novas_call_fsdbTrans_add_scope_attribute - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_interactive novas_call_sps_interactive - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_test novas_call_sps_test - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpClassObject novas_call_fsdbDumpClassObject - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpClassObjectByFile novas_call_fsdbDumpClassObjectByFile - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $ridbDump novas_call_ridbDump - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $sps_flush_file novas_call_sps_flush_file - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpPSL novas_call_fsdbDumpPSL - novas_misc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDisplay novas_call_fsdbDisplay - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumplimit novas_call_fsdbDumplimit - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMem novas_call_fsdbDumpMem - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMemNow novas_call_fsdbDumpMemNow - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMemInScope novas_call_fsdbDumpMemInScope - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMDANow novas_call_fsdbDumpMDANow - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMDAOnChange novas_call_fsdbDumpMDAOnChange - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMDAInScope novas_call_fsdbDumpMDAInScope - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpMemInFile novas_call_fsdbDumpMemInFile - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpPSLon novas_call_fsdbDumpPSLon - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpPSLoff novas_call_fsdbDumpPSLoff - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpSVAon novas_call_fsdbDumpSVAon - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpSVAoff novas_call_fsdbDumpSVAoff - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpStrength novas_call_fsdbDumpStrength - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpSingle novas_call_fsdbDumpSingle - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpIO novas_call_fsdbDumpIO - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbDumpPattern novas_call_fsdbDumpPattern - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $fsdbSubstituteHier novas_call_fsdbSubstituteHier - - /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/verdi.tab +pli $dumpports DumpPortsIeeeCALL - DumpPortsMISC +pli $lsi_dumpports DumpPortsLsiCALL - DumpPortsMISC +pli $dumpportson DumpPortsOnCALL - DumpPortsMISC +pli $dumpportsoff DumpPortsOffCALL - DumpPortsMISC +pli $dumpportsflush DumpPortsFlushCALL - DumpPortsMISC +pli $simlearn simLearnCall simLearnCheck simLearnMisc +pli $dumpportsall DumpPortsAllCALL - DumpPortsMISC +pli $dumpportslimit DumpPortsLimitCALL - DumpPortsMISC +pli $countdrivers CountDriversCALL - - +pli $vcsmemprof DMMemProfCALL DMMemProfCheck DMMemProfMISC diff --git a/sim/simv.daidir/hslevel_callgraph.sdb b/sim/simv.daidir/hslevel_callgraph.sdb new file mode 100644 index 0000000000000000000000000000000000000000..59498f37e18fe10c256990450a6dd43a0fb0ba8e GIT binary patch literal 322 zcmZQz7COQJ2aHZoW&~Ua!k7T065d9wrfRqD>jRe3B w%UE0D0+I&-sGJ3mjzHqWw19jD0x%lnOAuHGp};-{F*iZ^VBZ7TkDz=30AzY6uK)l5 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/hslevel_level.sdb b/sim/simv.daidir/hslevel_level.sdb new file mode 100644 index 0000000000000000000000000000000000000000..661ac66d455da207558b2e3efb9cc767d93db60c GIT binary patch literal 347 zcmZQz7COQJ2aM5BW&vCX!dL;MmgbK^_$3*vJV zi%U|A;&aM!^iq<*YF&ksb3u&%Kmep1Kx`xcwl8CCi3>;`1fX&jK$-)I57XiRWx!~V W+dv=%LV?{0VrD@3FgMSD@&y3qk|tyT literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/hsscan_cfg.dat b/sim/simv.daidir/hsscan_cfg.dat new file mode 100644 index 0000000..e69de29 diff --git a/sim/simv.daidir/nsparam.dat b/sim/simv.daidir/nsparam.dat new file mode 100644 index 0000000000000000000000000000000000000000..1c1eb11f812e6e3d4a7bfd2234dcf5cb3af0eaf9 GIT binary patch literal 8 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 Z7(e&Vvhz@J)89%PWhft*#QJpV{}0fm5rqH% literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/saifNetInfo.db b/sim/simv.daidir/saifNetInfo.db new file mode 100644 index 0000000..573541a --- /dev/null +++ b/sim/simv.daidir/saifNetInfo.db @@ -0,0 +1 @@ +0 diff --git a/sim/simv.daidir/simv.kdb b/sim/simv.daidir/simv.kdb new file mode 100644 index 0000000..ed30022 --- /dev/null +++ b/sim/simv.daidir/simv.kdb @@ -0,0 +1,16 @@ +rc file Version 1.0 + +[Design] +COMPILE_PATH=/home/ICer/ic_prjs/IPA/sim +SystemC=FALSE +UUM=FALSE +KDB=FALSE +USE_NOVAS_HOME=FALSE +COSIM=FALSE +TOP=tb_data_cache +OPTION=-ssv -ssy +ELAB_OPTION=-ssv -ssy + +[Value] +WREALX=ffff534e50535f58 +WREALZ=ffff534e50535f5a diff --git a/sim/simv.daidir/stitch_nsparam.dat b/sim/simv.daidir/stitch_nsparam.dat new file mode 100644 index 0000000000000000000000000000000000000000..0357d47a88433c9240547f8ff3f5a52f3f9528c3 GIT binary patch literal 4 LcmZQzVPF6N01yBL literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/tt.sdb b/sim/simv.daidir/tt.sdb new file mode 100644 index 0000000000000000000000000000000000000000..f064caa4dba37a3d05bc654a6bc1209a1b091f50 GIT binary patch literal 9670 zcmc&)`F9joc79d8Rd;JC?JH1#1OkL;NiC_RW@#3&F9L%R7^4k=WV7^0vH=_0b*sB) z$i$f;6UTq!nV>9uBb7JSO$ow`r`O)ztnNgf7b?#fLx(du>l9Q9vfmh#m z?|t{(x7}A&E#fQxia1yE-*eb>&=E1v^i#Yw;Qu20e~F5u(&?FFZ5_Rx@veBRGoB!R zKEF_-CeajUj8fj z0oyOOjIE0n*Go2fTz%2MBTdhbO%I(O9T_@y{`An9(PuO=ClTdRfM{fT@1Tjie{eOpQCDyd|4i z-O$(NNhB#5F*A~sjg(m{=)TcysaVY`)}TW1C~CQ)4i#aKqMj=ns7H^Ykt^n*BI;4h=ZXcWDDo&Y8c!s-5X)kZ zViB*g7!@TRMH5#vqoUNKSi)T`MTP27wD20sP*LVlEa!?9s3`X+TDf8+Dk}WWv|*fW zyp2_;h$LeMo5OZ$T&2cR&|3_(@3Pk#v!$)T)KT zK@8C)kj;=+;4>Akz;A|8;ItnwBW@Zrqiz~9i`-N(i`_JAmbhueEJez52#K0%ffSi# zNStmIo8@j=Vph0msaff!s#)cxWoEUTmYX$hT4B~AEhJ7-Y1VlKRc1X39?rUiRGSUo zE3Yvd1Exe8FY3A;qD7PzWwfZIMLjL>_{!(ajoSkOscvR;=-9~2$k5ox*u;2SXQHb& z(be6aNRSebhDed=^QXs#j!zyxLwr>ZZfo!A?rHDn>1|ICDLUfFiNCr)+B$lA+B>`2 zdt)&?RVOB=XU?3M8aXvIHZygS1nRwlwvLXjc%rkTw<}Jh5*FLYG%lIZlj9^<=ixNm z&O}FhcRQMvj+~nuIy*HvGtT{n>b-)t&fcEhu8xjaPY;p8Q`0j;G+3fk*sv|$-5cxe zjdyfnPYPo~!qo-R*4`O!kH>m?V+mp!twlvdHlz9c+^Y|+Ns_T-2jO5@rvR}{0<^CZ zpaY0Nooy5ZR3pAcfUd0qbhir7vw~cDaE(ZrG`x0>LcfyP13$9iPRON%bO0_63%Cn@ z*dpLw_@k`??uH+!)T<=HD?I|dln~(MF4mx8keC2cy8v>BaL_yZ@7%4H>Hck+3H_PA z+3!>aeVMhhR*XS8)APGQiZJfv>~}m^e3{AAK5g;L8KV%f)puL!f51kPPWQa$Fs-sAlr)KkP zE^rDG^O%(iFLn!XAO5ZkZN`T+-5!Ut62^1uzn(}f@^&E)odlaouchXQm%4} zyoQTN$(EfFpyZ?gu-qA9*3W5_DN$k z2gcDg49L0p4cscb6z--4Y=L`&Nw{j-~{#^S2 z1HN2*KLc{EZ5IVtt8_1u1ahl(3!9F8Lelw!uu%^%iIVH)Q-=$o>mUMdN8OPD$h^Y+NF;08yU+MSd2uL5!CIBuf`KoS!ei3kzsBFyH`&r0W}0F0eB4gx3)t7b9; z_tG|2;63gKyV&a?iwU~{I;q3t%m%ud#m%`g=Tdu-22baM$ zmC3O$;&Tnle-|C*VsgEzQ;znQFu%N+a6 zWCL90HnN#)#7xZUVhr;@=Y2%``S8X7lcW6txXf)(uEAw4NBf1KJL9|v^d>uo#qcJ# zF^HLLf-9V0K+W)G+HPzK=y4k_1%0)RTR?XPcNtt!nH&RM4p(Bf%?i*R+zNUtljDS~ zgzH?6xDDQQ@G5v$Wi~irF}RVoaXZ{_l^nC^ z^3%*d%||X0e0{cAgA3!gKNmCHgm@Tz|F#_{E=)8R@zn5W+*U+&RdM_E;E2m8kT>N) z$@1(m>?VZaYK*L5{lqEnF}~evN%jUzfZ@zxFBp6Qpj96j&U_~Extfg`&dF-{B4y(> z@C9GAC|?VoJMwk#Ik!hYDKHYGi?xk2w;n#@R){yir@S`ejqsU+H^FDbp1FSb+`*gS zGmXj7>lWkNCklPo3I<<4sM!VvpKHY1!QhJSaq+HUbY=rd%Q9m@-#JDL|k=c@u+yZ}0% zK)Nbkf}c5!ybQ3DxuS|!;ICq~UmyUR9D>K}R>urvc&}iGCvA$Ua1#T*5)F_(77e8V zxTlhxc5n~`eS)+&Gz2=q+7^L?}7Nji$Fc1&8P_RPD25$^JEj zb{40>8zM~<_QHBJH<;3#OxFX?4q}S!kObw~MG&4k*m>k6519xrJb(Cbp+s>28sTd# zFWGD!+)0xy7UP&7VLsd%E@&6P*SI)sTMh221-1~r9wwu_CiS}r@aMm=0$&VwV`OWA zH^JQjvW;`PDw{z+$-QC3umtYlVx}!o9Xf+D5JW*_|_kQy;)ry52?s^JQeYp_*g;XkQlxgCSC=o^)+aM=k8vkg z0zb)VA}YeZCE+WLjPRsI`D*w(LWT=TZ4G=)3Mp|d+=+2UQ|UVRQlwHkO85wmCo=WR znq3cnD=Jdu1~3Yb8Qc<=t;cMC-ewEHgwK?SvUYxKAV71s@ zN$7`re6P92OT^k^N5H z0f3XF-KOrB1lS876LOHLSl9N!UlZ~q<22$Y;A4#p+BIQ6zzpeh=mCIpByQ9H?mGiK z36Lfoc6B%idM#P#&_U1}$s$H+B!}RwG)Xc_N9QoSrILiu(l_qMZ82|N6r1l4&Wr14 zUUYsT=kK~0jnNF(?cAF*mcaEiJ+x)qL6R(4QWUeTB!xmqeN;xD@uZL+3nhR>fGQ$k zETR$1M`Zl1-A`nnln)WvFXa^?2PFLP6%JZqq6CBa0Fgsf5LB!n2`IsQgvgkJqePBK z_=FVoV`KOa&V5(%`uveoV|&lG&CHOg@k85oP|$y1=b`l!h)cq|oVj@GZz!i<_=NnC z+r%$sHrihRfBdU|{1gqs!agO8sV}^OzowinE6VRuEnf7muJCHY#m+AF7g&TeZx%fEpOMTJ AT>t<8 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/vcs_rebuild b/sim/simv.daidir/vcs_rebuild new file mode 100755 index 0000000..f755ff8 --- /dev/null +++ b/sim/simv.daidir/vcs_rebuild @@ -0,0 +1,4 @@ +#!/bin/sh -e +# This file is automatically generated by VCS. Any changes you make +# to it will be overwritten the next time VCS is run. +vcs '-f' 'rtl.f' '-f' 'tb.f' '-timescale=1ns/1ps' '-full64' '-R' '+vc' '+v2k' '-sverilog' '-debug_access+all' 2>&1 diff --git a/sim/simv.daidir/vcselab_master_hsim_elabout.db b/sim/simv.daidir/vcselab_master_hsim_elabout.db new file mode 100644 index 0000000..ebd1e76 --- /dev/null +++ b/sim/simv.daidir/vcselab_master_hsim_elabout.db @@ -0,0 +1,673 @@ +hsDirType 1 +fHsimDesignHasDebugNodes 61 +fNSParam 1024 +fLargeSizeSdfTest 0 +fHsimDelayGateMbme 0 +fNoMergeDelays 0 +fHsimAllMtmPat 0 +fHsimCertRaptMode 0 +fSharedMasterElab 0 +hsimLevelizeDone 1 +fHsimCompressDiag 1 +fHsimPowerOpt 0 +fLoopReportElab 0 +fHsimRtl 0 +fHsimCbkOptVec 1 +fHsimDynamicCcnHeur 1 +fHsimPvcs 0 +fHsimPvcsCcn 0 +fHsimOldLdr 0 +fHsimSingleDB 1 +uVfsGcLimit 50 +fHsimCompatSched 0 +fHsimCompatOrder 0 +fHsimTransUsingdoMpd32 0 +fHsimDynamicElabForGates 1 +fHsimDynamicElabForVectors 0 +fHsimDynamicElabForVectorsAlways 0 +fHsimDynamicElabForVectorsMinputs 0 +fHsimDeferForceSelTillReElab 0 +fHsimModByModElab 1 +fSvNettRealResType 0 +fHsimExprID 1 +fHsimSequdpon 0 +fHsimDatapinOpt 0 +fHsimExprPrune 0 +fHsimMimoGate 0 +fHsimNewChangeCheckFrankch 1 +fHsimNoSched0Front 0 +fHsimNoSched0FrontForMd 1 +fHsimScalReg 0 +fHsimNtbVl 0 +fHsimICTimeStamp 0 +fHsimICDiag 0 +fHsimNewCSDF 1 +vcselabIncrMode 2 +fHsimMPPackDelay 0 +fHsimMultDriver 0 +fHsimPart 0 +fHsimPrlComp 0 +fHsimPartTest 0 +fHsimTestChangeCheck 0 +fHsimTestFlatNodeOrder 0 +fHsimTestNState 0 +fHsimPartDebug 0 +fHsimPartFlags 0 +fHsimOdeSched0 0 +fHsimNewRootSig 1 +fHsimDisableRootSigModeOpt 0 +fHsimTestRootSigModeOpt 0 +fHsimIncrWriteOnce 0 +fHsimUnifInterfaceFlow 1 +fHsimUnifInterfaceFlowDiag 0 +fHsimUnifInterfaceFlowXmrDiag 0 +fHsimUnifInterfaceMultiDrvChk 1 +fHsimXVirForGenerateScope 0 +fHsimCongruencyIntTestI 0 +fHsimCongruencySVA 0 +fHsimCongruencySVADbg 0 +fHsimCongruencyLatchEdgeFix 0 +fHsimCongruencyFlopEdgeFix 0 +fHsimCongruencyXprop 0 +fHsimCongruencyXpropFix 0 +fHsimCongruencyXpropDbsEdge 0 +fHsimCongruencyResetRecoveryDbs 0 +fHsimCongruencyClockControlDiag 0 +fHsimCongruencySampleUpdate 0 +fHsimCongruencyFFDbsFix 0 +fHsimCongruency 0 +fHsimCongruencySlave 0 +fHsimCongruencyCombinedLoads 0 +fHsimCongruencyFGP 0 +fHsimDeraceClockDataUdp 0 +fHsimDeraceClockDataLERUpdate 0 +fHsimCongruencyPC 0 +fHsimCongruencyPCInl 0 +fHsimCongruencyPCDbg 0 +fHsimCongruencyPCNoReuse 0 +fHsimCongruencyDumpHier 0 +fHsimCongruencyResolution 0 +fHsimCongruencyEveBus 0 +fHsimHcExpr 0 +fHsCgOptModOpt 0 +fHsCgOptSlowProp 0 +fHsimCcnOpt 1 +fHsimCcnOpt2 1 +fHsimCcnOpt3 0 +fHsimSmdMap 0 +fHsimSmdDiag 0 +fHsimSmdSimProf 0 +fHsimSgdDiag 0 +fHsimRtDiagLite 0 +fHsimRtDiagLiteCevent 100 +fHsimRtDiag 0 +fHsimSkRtDiag 0 +fHsimDDBSRtdiag 0 +fHsimDbg 0 +fHsimCompWithGates 0 +fHsimMdbDebugOpt 0 +fHsimMdbDebugOptP1 0 +fHsimMdbDebugOptP2 0 +fHsimMdbPruneOpt 1 +fHsimMdbMemOpt 0 +hsimRandValue 0 +fHsimSimMemProfile 0 +fHsimSimTimeProfile 0 +fHsimElabMemProfile 0 +fHsimElabTimeProfile 0 +fHsimElabMemNodesProfile 0 +fHsimElabMemAllNodesProfile 0 +fHsimDisableVpdGatesProfile 0 +fHsimFileProfile 0 +fHsimCountProfile 0 +fHsimXmrDefault 1 +fHsimFuseWireAndReg 0 +fHsimFuseSelfDrvLogic 0 +fHsimFuseProcess 0 +fHsimAllXmrs 1 +fHsimMvsimDb 0 +fHsimTaskFuncXmrs 0 +fHsimTaskFuncXmrsDbg 0 +fHsimAllTaskFuncXmrs 0 +fHsimPageArray 16383 +fHsimPageControls 16383 +hsDfsNodePageElems 0 +hsNodePageElems 0 +hsFlatNodePageElems 0 +hsGateMapPageElems 0 +hsGateOffsetPageElems 0 +hsGateInputOffsetPageElems 0 +hsDbsOffsetPageElems 0 +hsMinPulseWidthPageElems 0 +hsNodeUpPatternPageElems 0 +hsNodeDownPatternPageElems 0 +hsNodeUpOffsetPageElems 0 +hsNodeEblkOffsetPageElems 0 +hsNodeDownOffsetPageElems 0 +hsNodeUpdateOffsetPageElems 0 +hsSdfOffsetPageElems 0 +fHsimPageAllLevelData 0 +fHsimAggrCg 0 +fHsimViWire 1 +fHsimPcCbOpt 1 +fHsimAmsTunneling 0 +fHsimAmsTunnelingDiag 0 +fHsimScUpwardXmrNoSplit 1 +fHsimOrigNdbViewOnly 0 +fHsimVcsInterface 1 +fHsimVcsInterfaceAlias 1 +fHsimSVTypesIntf 1 +fUnifiedAssertCtrlDiag 0 +fHsimEnable2StateScal 0 +fHsimDisable2StateScalIbn 0 +fHsimVcsInterfaceAliasDbg 0 +fHsimVcsInterfaceDbg 0 +fHsimVcsVirtIntfDbg 0 +fHsimVcsAllIntfVarMem 0 +fHsimCheckVIDynLoadOffsets 0 +fHsimModInline 1 +fHsimModInlineDbg 0 +fHsimPCDrvLoadDbg 0 +fHsimDrvChk 1 +fHsimRtlProcessingNeeded 0 +fHsimGrpByGrpElab 0 +fHsimGrpByGrpElabMaster 0 +fHsimNoParentSplitPC 0 +fHsimNusymMode 0 +fHsimOneIntfPart 0 +fHsimCompressInSingleDb 2 +fHsimCompressFlatDb 0 +fHsimNoTime0Sched 1 +fHsimMdbVectorizeInstances 0 +fHsimMdbSplitGates 0 +fHsimDeleteInstances 0 +fHsimUserDeleteInstances 0 +fHsimDeleteGdb 0 +fHsimDeleteInstancesMdb 0 +fHsimShortInstMap 0 +fHsimMdbVectorizationDump 0 +fHsimScanVectorize 0 +fHsimParallelScanVectorize 0 +noInstsInVectorization 0 +cHsimNonReplicatedInstances 0 +fHsimScanRaptor 0 +fHsimConfigFileCount 0 +fHsimVectorConstProp 0 +fHsimPromoteParam 0 +fHsimNoVecInRaptor 0 +fRaptorDumpVal 0 +fRaptorVecNodes 0 +fRaptorVecNodes2 0 +fRaptorNonVecNodes 0 +fRaptorBdrNodes 0 +fRaptorVecGates 0 +fRaptorNonVecGates 0 +fRaptorTotalNodesBeforeVect 0 +fRaptorTotalGatesBeforeVect 0 +fHsimCountRaptorBits 0 +fHsimNewEvcd 1 +fHsimNewEvcdMX 0 +fHsimNewEvcdVecRoot 1 +fHsimNewEvcdForce 1 +fHsimNewEvcdTest 0 +fHsimNewEvcdObnDrv 1 +fHsimNewEvcdW 1 +fHsimNewEvcdWTest 0 +fHsimEvcdDbgFlags 0 +fHsimDumpOffsetData 1 +fFlopGlitchDetect 0 +fHsimClkGlitch 0 +fHsimGlitchDumpOnce 0 +fHsimDynamicElab 1 +fHsimCgVectors2Debug 0 +fHsimOdeDynElab 0 +fHsimOdeDynElabDiag 0 +fHsimOdeSeqUdp 0 +fHsimOdeSeqUdpXEdge 0 +fHsimOdeSeqUdpDbg 0 +fHsimOdeRmvSched0 0 +fHsimAllLevelSame 0 +fHsimRtlDbsList 0 +fHsimPePort 0 +fHsimPeXmr 0 +fHsimPePortDiag 0 +fHsimUdpDbs 0 +fHsimRemoveDbgCaps 0 +fFsdbGateOnepassTraverse 0 +fHsimAllowVecGateInVpd 1 +fHsimAllowAllVecGateInVpd 0 +fHsimAllowUdpInVpd 1 +fHsimAllowAlwaysCombInVpd 1 +fHsimAllowAlwaysCombCmpDvcSimv 0 +fHsimAllowAlwaysCombDbg 0 +fHsimMakeAllP2SPrimary 0 +fHsimMakeAllSeqPrimary 0 +fHsimNoCcnDump 0 +fHsimFsdbProfDiag 0 +fVpdSeqGate 0 +fVpdHsIntVecGate 0 +fVpdHsCmplxVecGate 0 +fVpdHsVecGateDiags 0 +fSeqGateCodePatch 0 +fVpdLongFaninOpt 0 +fVpdSeqLongFaninOpt 0 +fVpdNoLoopDetect 0 +fVpdNoSeqLoopDetect 0 +fVpdOptAllowConstDriver 0 +fVpdAllowCellReconstruction 0 +fVpdRtlForSharedLib 0 +fHsimVpdOptGate 1 +fHsimVpdOptDelay 0 +fHsimVpdOptMPDelay 0 +fHsimCbkOptDiag 0 +fHsimSK 0 +fHsimSharedKernel 1 +fHsimOnepass 0 +fHsimStitchNew 0 +fHsimParallelLevelize 0 +fHsimParallelLevelizeDbg 0 +fHsimSeqUdpDbsByteArray 0 +fHsimCoLocate 0 +fHsimSeqUdpEblkOpt 0 +fHsimSeqUdpEblkOptDiag 0 +fHsimGateInputAndDbsOffsetsOpt 1 +fHsimUdpDynElab 0 +fHsimCompressData 4 +fHsimIgnoreZForDfuse 1 +fHsimIgnoreDifferentCaps 0 +fHandleGlitchQC 1 +fGlitchDetectForAllRtlLoads 0 +fHsimFuseConstDriversOpt 1 +fHsimIgnoreReElab 0 +fHsimFuseMultiDrivers 0 +fHsimNoSched0Reg 0 +fHsimAmsFusionEnabled 0 +fHsimRtlDbs 0 +fHsimWakeupId 0 +fHsimPassiveIbn 0 +fHsimBcOpt 1 +fHsimCertitude 0 +fHsimCertRapAutoTest 0 +fHsimRaceDetect 0 +fCheckTcCond 0 +fHsimScanOptRelaxDbg 0 +fHsimScanOptRelaxDbgDynamic 0 +fHsimScanOptRelaxDbgDynamicPli 0 +fHsimScanOptRelaxDbgDiag 0 +fHsimScanOptRelaxDbgDiagHi 0 +fHsimScanOptNoErrorOnPliAccess 0 +fHsimScanOptTiming 0 +fRelaxIbnSchedCheck 0 +fHsimScanOptNoDumpCombo 0 +fHsimScanOptPrintSwitchState 0 +fHsimScanOptSelectiveSwitchOn 0 +fHsimScanOptSingleSEPliOpt 1 +fHsimScanOptDesignHasDebugAccessOnly 0 +fHsimScanOptPrintPcode 0 +fHsimScanDbgPerf 0 +fHsimNoStitchMap 0 +fHsimUnifiedModName 0 +fHsimCbkMemOptDebug 0 +fHsimMasterModuleOnly 0 +fHsimMdbOptimizeSelects 0 +fHsimMdbScalarizePorts 0 +fHsimMdbOptimizeSelectsHeuristic 1 +fHsimMdb1006Partition 0 +fHsimVectorPgate 0 +fHsimNoHs 0 +fHsimXmrPartition 0 +fHsimNewPartition 0 +fHsimElabPart 0 +fHsimNewPartTHold 0 +fHsimParitionCellInstNum 1000 +fHsimParitionCellNodeNum 1000 +fHsimParitionCellXMRNum 1000 +fHsimNewPartCutSingleInstLimit 268435455 +fHsimElabModDistNum 0 +fHsimNewPartAutoUpperLimit 0 +fHsimPCPortPartition 0 +fHsimPortPartition 0 +fHsimDumpMdb 0 +fHsimElabDiag 0 +fHsimSimpCollect 0 +fHsimPcodeDiag 0 +fHsimFastelab 0 +fHsimMacroOpt 0 +fHsimSkipOpt 0 +fHsimSkipOptFanoutlimit 0 +fHsimSkipOptRootlimit 0 +fHsimFuseDelayChains 0 +fFusempchainsFanoutlimit 0 +fFusempchainsDiagCount 0 +fHsimCgVectorGates 0 +fHsimCgVectorGates1 0 +fHsimCgVectorGates2 0 +fHsimCgVectorGatesNoReElab 0 +fHsimCgScalarGates 0 +fHsimCgScalarGatesExpr 0 +fHsimCgScalarGatesLut 0 +fHsimCgRtl 1 +fHsimCgRtlFilter 0 +fHsimCgRtlDebug 0 +fHsimCgRtlSize 15 +fHsimNewCgRt 0 +fHsimNewCgMPRt 0 +fHsimNewCgMPRetain 0 +fHsimCgRtlInfra 1 +fHsimGlueOpt 0 +fHsimPGatePatchOpt 0 +fHsimCgNoPic 0 +fHsimElabModCg 0 +fPossibleNullChecks 0 +fHsimProcessNoSplit 1 +fHsimMdbOptInSchedDelta 0 +fScaleTimeValue 0 +fDebugTimeScale 0 +fPartCompSDF 0 +fHsimNbaGate 1 +fDumpSDFBasedMod 1 +fOptimisticNtcSolver 0 +fHsimAllMtm 0 +fHsimAllMtmPat 0 +fHsimSdgOptEnable 0 +fHsimSVTypesRefPorts 0 +fHsimGrpByGrpElabIncr 0 +fHsimMarkRefereeInVcsElab 0 +fHsimStreamOpFix 1 +fHsimInterface 0 +fHsimMxWrapOpt 0 +fHsimMxTopBdryOpt 0 +fHsimClasses 0 +fHsimAggressiveDce 0 +fHsimDceDebug 1 +fHsimDceDebugUseHeuristics 1 +fHsimMdbNewDebugOpt 0 +fHsimMdbNewDebugOptExitOnError 1 +fHsimNewDebugOptMemDiag 0 +hsGlobalVerboseLevel 0 +fHsimMdbVectorConstProp 1 +fHsimEnableSeqUdpWrite 1 +fHsimDumpMDBOnlyForSeqUdp 0 +fHsimInitRegRandom 0 +fHsimInitRegRandomVcs 1 +fEnableNewFinalStrHash 0 +fEnableNewAssert 1 +fRunDbgDmma 0 +fAssrtCtrlSigChk 1 +fCheckSigValidity 0 +fUniqPriToAstRewrite 0 +fUniqPriToAstCtrl 0 +fAssertcontrolUniqPriNewImpl 0 +fRTLoopDectEna 0 +fCmplLoopDectEna 0 +fHsimMopFlow 1 +fUCaseLabelCtrl 0 +fUniSolRtSvaEna 1 +fUniSolSvaEna 1 +fXpropRtCtrlCallerOnly 0 +fHsimRaptorPart 0 +fHsimEnableDbsMemOpt 1 +fHsimDebugDbsMemOpt 0 +fHsimRenPart 0 +fHsimShortElabInsts 0 +fHsimXmrAllWires 0 +fHsimXmrDiag 0 +fHsimXmrPort 0 +fHsimFalcon 1 +fHsimGenForProfile 0 +fCompressSDF 0 +fDlpSvtbExclElab 0 +fHsimGates1209 0 +fHsimCgRtlNoShareSmd 0 +fHsimGenForErSum 0 +fVpdOpt 1 +fHsimMdbCell 0 +fHsimCellDebug 0 +fHsimNoPeekInMdbCell 0 +igetOpcodeSmdPtrLayoutId -1 +igetFieldSmdPtr -1 +fDebugDump 1 +fHsimOrigNodeNames 0 +fHsimCgVectors2VOnly 0 +fHsimMdbDeltaGate 0 +fHsimMdbVecDeltaGate 1 +fHsimVpdOptVfsDB 1 +fHsimMdbPruneVpdGates 1 +fHsimPcPe 0 +fHsimVpdGateOnlyFlag 1 +fHsimMxConnFrc 0 +fHsimNewForceCbkVec 0 +fHsimNewForceCbkVecDiag 0 +fHsimMdbReplaceVpdHighConn 1 +fHsimVpdOptSVTypes 1 +fHsHasPeUpXmr 0 +fHsimCompactVpdFn 1 +fHsimPIP 0 +fHsimRTLoopDectOrgName 0 +fHsimVpdOptPC 0 +fHsimFusePeXmrFo 0 +fHsimXmrSched 0 +fHsimNoMdg 0 +fHsimVectorGates 0 +fHsimRtlLite 0 +fHsimMdbcgLut 0 +fHsimMdbcgSelective 0 +fHsimVcselabGates 0 +fHsimMdbcgLevelize 0 +fHsimParGateEvalMode 0 +fHsimDFuseVectors 0 +fHsimDFuseZero 0 +fHsimDFuseOpt 1 +fHsimPruneOpt 0 +fHsimSeqUdpPruneWithConstInputs 0 +fHsimSafeDFuse 0 +fHsimVpdOptExpVec 0 +fHsimVpdOptSelGate 1 +fHsimVpdOptSkipFuncPorts 0 +fHsimVpdOptAlways 1 +fHsimVpdOptMdbCell 0 +fHsimVpdOptPartialMdb 1 +fHsimVpdOptPartitionGate 1 +fHsimVpdOptXmr 1 +fHsimVpdHilRtl 0 +fHsimSWave 0 +fHsimNoSched0InCell 1 +fHsimPartialMdb 0 +hsimPdbLargeOffsetThreshold 1048576 +fHsimFlatCell 0 +fHsimFlatCellLimit 0 +fHsimRegBank 0 +fHsimHmetisMaxPartSize 0 +fHsimHmetisGateWt 0 +fHsimHmetisUbFactor 0 +fHsimHmetis 0 +fHsimHmetisDiag 0 +fHsimRenumGatesForMdbCell 0 +fHsimHmetisMinPart 0 +fHsim2stCell 0 +fHsim2stCellMinSize 0 +fHsimMdbcgDebug 0 +fHsimMdbcgDebugLite 0 +fHsimMdbcgDistrib 0 +fHsimMdbcgSepmem 1 +fHsimMdbcgObjDiag 0 +fHsimMdbcg2stDiag 0 +fHsimMdbcgRttrace 0 +fHsimMdbVectorGateGroup 1 +fHsimMdbProcDfuse 1 +fHsimMdbHilPrune 0 +fHsCgOpt 1 +fHsCgOptUdp 1 +fHsCgOptRtl 1 +fHsCgOptDiag 0 +fHsCgOptAggr 0 +fHsCgOptNoZCheck 0 +fHsCgOptEnableZSupport 0 +fHsCgOpt4StateInfra 0 +fHsCgOptUdpChkDataForWakeup 1 +fHsCgOptXprop 0 +fHsimMdbcgDiag 0 +fHsCgMaxInputs 6 +fHsCgOptFwdPass 1 +fHsimHpnodes 0 +fLightDump 0 +fHDLCosim 0 +fHDLCosimDebug 0 +fHDLCosimTimeCoupled 0 +fHDLCosimTimeCoupledPorts 0 +HDLCosimMaxDataPerDpi 1 +HDLCosimMaxCallsPerDpi 2147483647 +fHDLCosimCompileDUT 0 +fHDLCosimCustomCompile 0 +fHDLCosimBoundaryAnalysis 0 +fVpdBeforeScan 1 +fHsCgOptMiSched0 0 +fgcAddSched0 0 +fParamClassOptRtDiag 0 +fHsRegress 0 +fHsBenchmark 0 +fHsimCgScalarVerilogForce 1 +fVcsElabToRoot 1 +fHilIbnObnCallByName 0 +fHsimMdbcgCellPartition 0 +fHsimCompressVpdSig 0 +fHsimLowPowerOpt 0 +fHsimUdpOpt 1 +fHsVecOneld 0 +fNativeVpdDebug 0 +fHsimVcsGenTLS 1 +fAssertSuccDebugLevelDump 0 +fHsimMinputsChangeCheck 0 +fHsimClkLayout 0 +fHsimIslandLayout 0 +fHsimConfigSched0 0 +fHsimSelectFuseAfterDfuse 0 +fHsimFoldedCell 0 +fHsimSWaveEmul 0 +fHsimSWaveDumpMDB 0 +fHsimSWaveDumpFlatData 0 +fHsimRenumberAlias 0 +fHsimAliasRenumbered 0 +fHilCgMode 115 +fHsimUnionOpt 0 +fHsimFuseSGDBoundaryNodes 0 +fHsimRemoveCapsVec 0 +fHsimCertRaptScal 0 +fHsimCertRaptMdbClock 0 +fHsCgOptMux 0 +fHsCgOptFrc 0 +fHsCgOpt30 0 +fHsLpNoCapsOpt 0 +fHsCgOpt4State 1 +fSkipStrChangeOnDelay 1 +fHsimTcheckOpt 0 +fHsCgOptMuxMClk 0 +fHsCgOptMuxFrc 0 +fHsCgOptNoPcb 0 +fHsCgOptMin1 0 +fHsCgOptUdpChk 0 +fHsChkXForSlowSigProp 1 +fHsimVcsParallelDbg 0 +fHsimVcsParallelStrategy 0 +fHsimVcsParallelOpt 0 +fHsimVcsParallelSubLevel 4 +fHsimParallelEblk 0 +fHsimByteCodeParts 1 +fFgpNovlInComp 0 +fFutEventPRL 0 +fFgpNbaDelay 0 +fHsimDbsFlagsByteArray 0 +fHsimDbsFlagsByteArrayTC 0 +fHsimDbsFlagsThreadArray 0 +fHsimGateEdgeEventSched 0 +fHsimEgschedDynelab 0 +fHsimUdpClkDynelab 0 +fUdpLayoutOnClk 0 +fDbsPreCheck 0 +fHsimSched0Analysis 0 +fHsimMultiDriverSched0 0 +fHsimLargeIbnSched 0 +fFgpHierarchical 0 +fFgpHierAllElabModAsRoot 0 +fFgpHierPCElabModAsRoot 0 +fFgpAdjustDataLevelOfLatch 1 +fHsimUdpXedgeEval 0 +fFgpRaceCheck 0 +fFgpUnifyClk 0 +fFgpSmallClkTree 0 +fFgpSmallRtlClkTree 4 +fFgpNoRtlUnlink 0 +fFgpNoRtlAuxLevel 0 +fFgpNumPartitions 8 +fFgpMultiSocketCompile 0 +fFgpDataDepOn 0 +fFgpDDIgnore 0 +fFgpTbCbOn 0 +fFgpTbEvOn 1 +fFgpTbNoVSA 0 +fFgpTbEvXmr 0 +fFgpDisabledLevel 512 +fFgpSched0User 0 +fFgpNoSdDelayedNbas 1 +fFgpTimingFlags 0 +fFgpSched0Level 0 +fHsimFgpMultiClock 0 +fFgpScanOptFix 0 +fFgpSched0UdpData 0 +fFgpDepositDiag 0 +fFgpEvtDiag.diagOn 0 +fFgpEvtDiag.printAllNodes 0 +fFgpMangleDiagLog 0 +fFgpMultiExclDiag 0 +fFgpSingleExclReason 0 +fHsDoFaninFanoutSanity 0 +fHsFgpNonDbsOva 1 +fFgpParallelTask 1 +fFgpIbnSched 0 +fFgpIbnSchedOpt 0 +fFgpIbnSchedThreshold 0 +fFgpIbnSchedDyn 0 +fFgpMpStateByte 0 +fFgpTcStateByte 0 +fHsimVirtIntfDynLoadSched 0 +fFgpNoRtimeFgp 0 +fHsFgpGlSched0 0 +fFgpExclReason 0 +fHsimIslandByIslandElab 0 +fHsimIslandByIslandFlat 151652416 +fHsimIslandByIslandFlat1 4 +fHsimVpdIBIF 0 +fHsimXmrIBIF 0 +fHsimReportTime 0 +fHsimElabJ 0 +hf_fHsimElabJ 0 +fHsimElabJOpt 0 +fHsimSchedMinput 0 +fHsimSchedSeqPrim 0 +fHsimSchedSelectFanout 0 +fHsimSchedSelectFanoutDebug 0 +fSpecifyInDesign 0 +fFgpDynamicReadOn 0 +fHsCgOptAllUc 0 +fHsimXmrRepl 0 +fZoix 0 +fHsimDfuseNewOpt 0 +fHsimBfuseNewOpt 0 +fFgpXmrSched 0 +fHsimClearClkCaps 0 +fHsimDiagClkConfig 0 +fHsimDiagClkConfigDebug 0 +fHsimDiagClkConfigDumpAll 0 +fHsDiagClkConfigPara 0 +fHsimDiagClkConfigAn 0 +fHsimCanDumpClkConfig 0 +fFgpInitRout 0 +fFgpIgnoreExclSD 0 +fHsCgOptNoClockFusing 0 +fHsClkWheelLimit 50000 +fHsimPCSharedLibSpecified 0 +fHsFgpSchedCgUcLoads 1 +fHsCgOptNewSelCheck 1 +fFgpReportUnsafeFuncs 0 +fHsCgOptUncPrlThreshold 4 +fHsimLowPowerRetAnalysisInChild 0 diff --git a/sim/simv.daidir/vcselab_misc_hsdef.db b/sim/simv.daidir/vcselab_misc_hsdef.db new file mode 100644 index 0000000000000000000000000000000000000000..1b1cb4d44c57c2d7a5122870fa6ac3e62ff7e94e GIT binary patch literal 8 KcmZQzfB*mh2mk>9 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/vcselab_misc_hsim_elab.db b/sim/simv.daidir/vcselab_misc_hsim_elab.db new file mode 100644 index 0000000..e5d98e2 --- /dev/null +++ b/sim/simv.daidir/vcselab_misc_hsim_elab.db @@ -0,0 +1,1190 @@ +psSimBaseName simv +psLogFileName NULL +pDaiDir /home/ICer/ic_prjs/IPA/sim/simv.daidir +destPath csrc/ +fSharedMaster 0 +fHsimPCSharedLibSpecified 0 +hsMainFileCount 0 +hsMainFileName dummy +hsAuxFileName dummy +hsimDlpPartitionFilename 0 +partitionName 6 MASTER +hsimInitRegValue 3 +fNSParam 1024 +hsim_noschedinl 0 +hsim_hdbs 4096 +eval_order_seq 0 +simorder_light 0 +partialelab 0 +hsim_csdf -2147483648 +fHsimRuntimeElabSdf 0 +fNtcNewSolver 0 +fHsimSdfFileOpt 0 +fHsimTransUsingdoMpd32 0 +hsDirType 1 +fHsimClasses 0 +fHsimPulseMPDelay 1 +fHsimMvsimDb 0 +fHsimMvsimDebug 0 +fHsimAllXmrs 1 +fHsimTaskFuncXmrs 0 +fHsimTaskFuncXmrsDbg 0 +fHsimAllTaskFuncXmrs 0 +fHsimDoXmrProcessing 1 +fNoMergeDelays 0 +uGlblTimeUnit 4 +fHsimAllMtm 0 +fSimprofileNew 0 +fHsimVhVlOpt 0 +fHsimMdbVhVlInputFuseOpt 0 +fHsimMdbVhVlInoutFuseOpt 0 +fHsimMdbVhVlCcnOpt 0 +fHsimVlVhOpt 0 +fHsimVlVhVlOpt 0 +fHsimVlVhBfuseOpt 0 +xpropMergeMode 0 +xpropUnifiedInferenceMode 0 +xpropOverride 0 +isXpropConfigEnabled 0 +fHsimVectorConst 0 +fHsimAllMtmPat 0 +fHsimCertRaptMode 0 +fNewCBSemantics 1 +fSchedAtEnd 0 +fSpecifyInDesign 0 +fHsimDumpFlatData 1 +fHsimCompressDiag 1 +fHsimPowerOpt 0 +fLoopReportElab 0 +fHsimRtl 0 +fHsimCbkOptVec 1 +fHsimDynamicCcnHeur 1 +fHsimPvcs 0 +fHsimPvcsCcn 0 +fHsimOldLdr 0 +fHsimSingleDB 1 +uVfsGcLimit 50 +fHsimCompatSched 0 +fHsimCompatOrder 0 +fHsimDynamicElabForGates 1 +fHsimDynamicElabForVectors 0 +fHsimDynamicElabForVectorsAlways 0 +fHsimDynamicElabForVectorsMinputs 0 +fHsimDeferForceSelTillReElab 0 +fHsimModByModElab 1 +fSvNettRealResType 0 +fHsimExprID 1 +fHsimSequdpon 0 +fHsimDatapinOpt 0 +fHsimExprPrune 0 +fHsimMimoGate 0 +fHsimNewChangeCheckFrankch 1 +fHsimNoSched0Front 0 +fHsimNoSched0FrontForMd 1 +fHsimScalReg 0 +fHsimNtbVl 0 +fHsimICTimeStamp 0 +fHsimICDiag 0 +fHsimNewCSDF 1 +vcselabIncrMode 2 +fHsimMPPackDelay 0 +fHsimMultDriver 0 +fHsimPart 0 +fHsimPrlComp 0 +fHsimPartTest 0 +fHsimTestChangeCheck 0 +fHsimTestFlatNodeOrder 0 +fHsimTestNState 0 +fHsimPartDebug 0 +fHsimPartFlags 0 +fHsimOdeSched0 0 +fHsimNewRootSig 1 +fHsimDisableRootSigModeOpt 0 +fHsimTestRootSigModeOpt 0 +fHsimIncrWriteOnce 0 +fHsimUnifInterfaceStrId 1 +fHsimUnifInterfaceFlow 1 +fHsimUnifInterfaceFlowDiag 0 +fHsimUnifInterfaceFlowXmrDiag 0 +fHsimUnifInterfaceMultiDrvChk 1 +fHsimXVirForGenerateScope 0 +fHsimCongruencyIntTestI 0 +fHsimCongruencySVA 0 +fHsimCongruencySVADbg 0 +fHsimCongruencyLatchEdgeFix 0 +fHsimCongruencyFlopEdgeFix 0 +fHsimCongruencyXprop 0 +fHsimCongruencyXpropFix 0 +fHsimCongruencyXpropDbsEdge 0 +fHsimCongruencyResetRecoveryDbs 0 +fHsimCongruencyClockControlDiag 0 +fHsimCongruencySampleUpdate 0 +fHsimCongruencyFFDbsFix 0 +fHsimCongruency 0 +fHsimCongruencySlave 0 +fHsimCongruencyCombinedLoads 0 +fHsimCongruencyFGP 0 +fHsimDeraceClockDataUdp 0 +fHsimDeraceClockDataLERUpdate 0 +fHsimCongruencyPC 0 +fHsimCongruencyPCInl 0 +fHsimCongruencyPCDbg 0 +fHsimCongruencyPCNoReuse 0 +fHsimCongruencyDumpHier 0 +fHsimCongruencyResolution 0 +fHsimCongruencyEveBus 0 +fHsimHcExpr 0 +fHsCgOptModOpt 0 +fHsCgOptSlowProp 0 +fHsimCcnOpt 1 +fHsimCcnOpt2 1 +fHsimCcnOpt3 0 +fHsimSmdMap 0 +fHsimSmdDiag 0 +fHsimSmdSimProf 0 +fHsimSgdDiag 0 +fHsimRtDiagLite 0 +fHsimRtDiagLiteCevent 100 +fHsimRtDiag 0 +fHsimSkRtDiag 0 +fHsimDDBSRtdiag 0 +fHsimDbg 0 +fHsimCompWithGates 0 +fHsimMdbDebugOpt 0 +fHsimMdbDebugOptP1 0 +fHsimMdbDebugOptP2 0 +fHsimMdbPruneOpt 1 +fHsimMdbMemOpt 0 +hsimRandValue 0 +fHsimSimMemProfile 0 +fHsimSimTimeProfile 0 +fHsimElabMemProfile 0 +fHsimElabTimeProfile 0 +fHsimElabMemNodesProfile 0 +fHsimElabMemAllNodesProfile 0 +fHsimDisableVpdGatesProfile 0 +fHsimFileProfile 0 +fHsimCountProfile 0 +fHsimXmrDefault 1 +fHsimFuseWireAndReg 0 +fHsimFuseSelfDrvLogic 0 +fHsimFuseProcess 0 +fHsimPageArray 16383 +fHsimPageControls 16383 +hsDfsNodePageElems 0 +hsNodePageElems 0 +hsFlatNodePageElems 0 +hsGateMapPageElems 0 +hsGateOffsetPageElems 0 +hsGateInputOffsetPageElems 0 +hsDbsOffsetPageElems 0 +hsMinPulseWidthPageElems 0 +hsNodeUpPatternPageElems 0 +hsNodeDownPatternPageElems 0 +hsNodeUpOffsetPageElems 0 +hsNodeEblkOffsetPageElems 0 +hsNodeDownOffsetPageElems 0 +hsNodeUpdateOffsetPageElems 0 +hsSdfOffsetPageElems 0 +fHsimPageAllLevelData 0 +fHsimAggrCg 0 +fHsimViWire 1 +fHsimPcCbOpt 1 +fHsimAmsTunneling 0 +fHsimAmsTunnelingDiag 0 +fHsimAmsNewDrs 0 +fHsimScUpwardXmrNoSplit 1 +fHsimOrigNdbViewOnly 0 +fHsimVcsInterface 1 +fHsimVcsInterfaceAlias 1 +fHsimSVTypesIntf 1 +fUnifiedAssertCtrlDiag 0 +fHsimEnable2StateScal 0 +fHsimDisable2StateScalIbn 0 +fHsimVcsInterfaceAliasDbg 0 +fHsimVcsInterfaceDbg 0 +fHsimVcsVirtIntfDbg 0 +fHsimVcsAllIntfVarMem 0 +fHsimCheckVIDynLoadOffsets 0 +fHsimModInline 1 +fHsimModInlineDbg 0 +fHsimPCDrvLoadDbg 0 +fHsimDrvChk 1 +fHsimRtlProcessingNeeded 0 +fHsimGrpByGrpElab 0 +fHsimGrpByGrpElabMaster 0 +fHsimNoParentSplitPC 0 +fHsimNusymMode 0 +fHsimOneIntfPart 0 +fHsimCompressInSingleDb 2 +fHsimCompressFlatDb 0 +fHsimNoTime0Sched 1 +fHsimMdbVectorizeInstances 0 +fHsimMdbSplitGates 0 +fHsimDeleteInstances 0 +fHsimUserDeleteInstances 0 +fHsimDeleteGdb 0 +fHsimDeleteInstancesMdb 0 +fHsimShortInstMap 0 +fHsimMdbVectorizationDump 0 +fHsimScanVectorize 0 +fHsimParallelScanVectorize 0 +noInstsInVectorization 0 +cHsimNonReplicatedInstances 0 +fHsimScanRaptor 0 +fHsimConfigFileCount 0 +fHsimVectorConstProp 0 +fHsimPromoteParam 0 +fHsimNoVecInRaptor 0 +fRaptorDumpVal 0 +fRaptorVecNodes 0 +fRaptorVecNodes2 0 +fRaptorNonVecNodes 0 +fRaptorBdrNodes 0 +fRaptorVecGates 0 +fRaptorNonVecGates 0 +fRaptorTotalNodesBeforeVect 0 +fRaptorTotalGatesBeforeVect 0 +fHsimCountRaptorBits 0 +fHsimNewEvcd 1 +fHsimNewEvcdMX 0 +fHsimNewEvcdVecRoot 1 +fHsimNewEvcdForce 1 +fHsimNewEvcdTest 0 +fHsimNewEvcdObnDrv 1 +fHsimNewEvcdW 1 +fHsimNewEvcdWTest 0 +fHsimEvcdDbgFlags 0 +fHsimDumpElabData 1 +fHsimNoDeposit 0 +fHsimDumpOffsetData 1 +fNoOfsOpt 0 +fFlopGlitchDetect 0 +fHsimClkGlitch 0 +fHsimGlitchDumpOnce 0 +fHsimDynamicElab 1 +fHsimDynamicElabDiag 0 +fHsimPrintPats 1 +fHsimInterpreted 0 +fHsimAggressiveCodegenForDelays 1 +fHsimAggressiveCgNtcDelays 1 +fHsimCgDelaysDiag 0 +fHsimCodegenForVectors 1 +fHsimCgVectors2E 1 +fHsimCgVectors2W 1 +fHsimCgVectors2Cbk 1 +fHsimCgVectors2Force 0 +fHsimCgVectors2Debug 0 +fHsimCgVectors2Diag 0 +fHsimHdlForceInfoDiag 0 +fHsimHdlForceInfo 0 +fHsimCodegenForTcheck 1 +fHsimUdpsched 0 +fHsimUdpTetramax 0 +fHsimUdpDelta 0 +fHsimMasterNodesOpt 0 +fHsimTransOpt 1 +fHsimNoPortOBN 0 +fHsimGateGroup 0 +fHsimOldXmr 0 +fHsimConst 1 +fHsimOptimizeSeqUdp 1 +fHsimOptimizeNotifier 0 +fHsimPrintUdpTable 0 +fHsimConstDelay 0 +fHsimConstForce 0 +fHsimCcnOpt4 0 +fHsimCcnOptDiag 0 +fHsimCcn 1 +fHsimDynamicCcn 0 +fHsimTestBoundaryConditions1 0 +fHsimTestBoundaryConditions2 0 +fHsimTestBoundaryConditions3 0 +fHsimTestElabNodeLimit 0 +fHsimInsertSched0ForLhsSelects 1 +fHsimVectors 1 +fHsimOde 0 +fHsimOdeDynElab 0 +fHsimOdeDynElabDiag 0 +fHsimOdeUdp 0 +fHsimOdeSeqUdp 0 +fHsimOdeSeqUdpXEdge 0 +fHsimOdeSeqUdpDbg 0 +fHsimOdeRmvSched0 0 +fHsimOde4State 0 +fHsimOdeDiag 0 +fHsimOdeWithVecNew 0 +fHsimOdeAcceptDeadGates 0 +fHsimOdeAcceptValue4Loads 0 +fHsimOdeAmdSRLatch 0 +fHsimRmvSched0OnDataOfFlop 0 +fHsimRmvSched0OnMpd 0 +fHsimAllLevelSame 0 +fHsimDbsList 0 +fHsimRtlDbsList 0 +fHsimPePort 0 +fHsimPeXmr 0 +fHsimPePortDiag 0 +fHsimUdpDbs 0 +fHsimCodeShare 0 +fHsimRemoveDbgCaps 0 +fFsdbGateOnepassTraverse 0 +fHsimAllowVecGateInVpd 1 +fHsimAllowAllVecGateInVpd 0 +fHsimAllowUdpInVpd 1 +fHsimAllowAlwaysCombInVpd 1 +fHsimAllowAlwaysCombCmpDvcSimv 0 +fHsimAllowAlwaysCombDbg 0 +fHsimMakeAllP2SPrimary 0 +fHsimMakeAllSeqPrimary 0 +fHsimNoCcnDump 0 +fHsimFsdbProfDiag 0 +fVpdSeqGate 0 +fVpdHsIntVecGate 0 +fVpdHsCmplxVecGate 0 +fVpdHsVecGateDiags 0 +fSeqGateCodePatch 0 +fVpdLongFaninOpt 0 +fVpdSeqLongFaninOpt 0 +fVpdNoLoopDetect 0 +fVpdNoSeqLoopDetect 0 +fVpdOptAllowConstDriver 0 +fVpdAllowCellReconstruction 0 +fVpdRtlForSharedLib 0 +fRaptorProf 0 +fHsimVpdOptGateMustDisable 0 +fHsimVpdOptGate 1 +fHsimVpdOptDelay 0 +fHsimVpdOptMPDelay 0 +fHsimVpdOptDiag 0 +fHsimVpdOptRtlIncrFix 0 +fHsimVpdOptDiagV 0 +fHsimCbkOptVecWithVcsd 0 +fHsimCbkOptDiag 0 +fHsimByRefIBN 1 +fHsimWireMda 1 +fHsimUniqifyElabDiag 0 +fHsimForceCbkVec 1 +fHsimSplitForceCbkVec 1 +fHsimLowPower 0 +fHsimLowPowerDumpOnly 0 +fHsimLowPowerDiag 0 +fHsimXpropFix 1 +fHsimXpropConfigTrace 0 +fHsimNameBasedInterface 1 +fHsimVcsInterfaceHierDiag 0 +fHsimCbSchedFix 0 +fHsimIncrDebug 0 +fHsimSK 0 +fHsimSharedKernel 1 +fHsimSKIncr 0 +fElabModTimeProfCount 0 +fHsimChangeSharedLib 0 +fHsimNewIncr 1 +fHsimIncrSkip 0 +fHsimSecondCheckMdb 0 +fHsimIntraXmrNotMaster 0 +fHsimExtNodeDiag 0 +fHsimExtIntfXmrDebug 0 +fPartTopElabModName 0 +fHsimPreResolveXmr 1 +fHsimNoIntfXmrNonMaster 1 +fHsimXmrPropDebug 0 +fHsimXmrElabDebug 0 +fHsimXmrNoMaster 1 +fHsimXmrNoMasterIBIF 1 +fHsimIncrMaster 0 +fHsimEffTest 0 +fHsimIncrTest 0 +fHsimIncrTesting 0 +fHsimOnepass 0 +fHsimPartModSplit 0 +fHsimNoIncrMatch 0 +fHsimMergeOnly 0 +fHsimStitchNew 0 +fHsimCbkOpt 1 +fFrcRelCbk 1 +fPulserrWarn 1 +hsMtmSpec 0 +fprofile 0 +fPreserveDaidir 1 +fHsimLevelize 1 +fHsimSelectLevelize 0 +fHsimSelectEdgeData 0 +fHsimSelectEdgeDataDbg 0 +fHsimSelectEdgeDataSched0 0 +fHsimSelectEdgeDataSanity 0 +fHsimLevelizeFlatNodeLimit 22 +fHsimLevelizeNoSizeLimit 1 +fHsimLevelizeForce 0 +fHsimParallelLevelize 0 +fHsimParallelLevelizeDbg 0 +fHsimLevelizeNoCgDump 0 +fHsimReuseVcs1Sem 0 +semLevelizeVar -1 +fHsimLevelizeDbg 0 +fHsimMinputsPostEval 0 +fHsimSeqUdpDbsByteArray 0 +fHsimHilRtlAny 0 +fHsimHilRtlAll 0 +fHsimCoLocate 0 +fHsimNoinlSched0lq 0 +fHsimUdpOutputOpt 0 +fHsimSeqUdpEblkOpt 0 +fHsimSeqUdpEblkOptDiag 0 +fHsimGateInputAndDbsOffsetsOpt 1 +fHsimRelaxSched0 0 +fHsimLocalVar 0 +fHsimUdpDynElab 0 +fHsimCbDynElab 0 +fHsimCompressData 4 +fHsimIgnoreCaps 0 +fHsimMdbIgnoreCaps 0 +fHsimIgnoreZForDfuse 1 +fHsimIgnoreDifferentCaps 0 +fHsimIgnoreDifferentNStates 0 +fHandleGlitchQC 1 +fGlitchDetectForAllRtlLoads 0 +fHsimAllowFuseOnRegWithMultDrivers 0 +fHsimFuseConstDriversOpt 1 +fHsimIgnoreReElab 0 +fHsimFuseMultiDrivers 0 +fHsimSched0 0 +fHsimPulseFilter 0 +fHsimNoSched0Reg 0 +fHsimAddSched0 0 +fHsimLargeBc 0 +fHsimLargePdbModule 0 +fHsimMMDebug 0 +fHsimMMLimit 0 +hsimMMLimit 0 +fHsimAmsFusionEnabled 0 +fHsimAmsWrealMdrEnabled 0 +fHsimAmsWrealInitValZero 1 +fWrealForce 0 +fHsimCgMarkers 0 +fHsimSplitRmaCode 1 +rmapatsPattCountThreshold 1000 +fHsimElab64 0 +fHsimTestFnn64 0 +fHsimTestDgn64 0 +fHsimRtlDbs 0 +fHsimWakeupId 0 +fHsimPassiveIbn 0 +fHsimInitialConst 0 +fHsimForceRtlDbs 0 +fHsimBcOpt 1 +fHsimBcOptDebug 0 +fHsimBfuseFast 1 +fHsimParallelElab 0 +fHsimParallelElabVcs1 0 +fpicArchive 1 +fCsrcInTmpDir 0 +fHsimInterconFE 1 +fHsimMxOpt 1 +fHsimModpathFE 1 +fHsimOptMPDelayLoad 0 +fHsimTransMPDelay 1 +fLargeSizeSdfTest 0 +fAllMtm 0 +fHsimDelayGateMbme 0 +fHsimDelayGateMbmeOld 0 +fHsimNdb 1 +fHsimNdbDebug 0 +fHsimNdbTest 0 +fHsimGrpByGrpElabIncrTest 0 +fHsimGrpByGrpElabIncrTest2 0 +fHsimTestAggrCg 0 +fHsimOneInputGateAggrCg 0 +fHsimCertitude 0 +fHsimCertRapAutoTest 0 +fHsimRaceDetect 0 +fCheckTcCond 0 +fHsimSimlearnDdce 0 +fHsimSimlearnDdce_diag 0 +fHsimScanOpt 0 +fHsimScanOptPartComp 0 +fHsimHsoptNoScanOpt 0 +fHsimNoScanOptDeadLogic 1 +fHsimScanOptFixForDInSIPath 1 +fHsimNoScanOptForNonScanLoad 0 +fHsimScanOptLoopFix 1 +fHsimScanOptLoopFix2 0 +fHsimScanOptRelaxDbg 0 +fHsimScanOptRelaxDbgDynamic 0 +fHsimScanOptRelaxDbgDynamicPli 0 +fHsimScanOptRelaxDbgDiag 0 +fHsimScanOptRelaxDbgDiagHi 0 +fHsimScanOptNoErrorOnPliAccess 0 +fHsimScanOptTiming 0 +fRelaxIbnSchedCheck 0 +fHsimScanOptNoDumpCombo 0 +fHsimScanOptPrintSwitchState 0 +fHsimScanOptSelectiveSwitchOn 0 +fHsimScanOptSingleSEPliOpt 1 +fHsimScanOptDesignHasDebugAccessOnly 0 +fHsimScanOptPrintPcode 0 +fHsimNettypeOneDrvPerfOpt 0 +fHsimOldNettypeResFnOffset 0 +fHsimScanoptDump 0 +fHsimScanDbgFunc 0 +fHsimScanDbgPerf 0 +fHsimAutoScanSuppWarn 0 +fHsimScanOptAggr 0 +fHsimScanOptFuse 1 +fHsimScanMemOpt 1 +fHsimScanChainOpt 0 +fHsimForceChangeCheck 0 +fHsimFuseConsts 0 +fHsimMemBusOpt 0 +fHsimDefLevelElab 0 +fHsimOneInstElabMods 0 +fHsimOneInstElabModsHeur 1 +fHsimOneInstElabModsAllowDbg 0 +fHsimTopElabMods 0 +fHsimPVCS 0 +fHsimNoStitchMap 0 +fHsimUnifiedModName 0 +fHsimVIIntegrityCheck 0 +fHsimOrigViewType 0 +fHsimXmrDumpFullDR 0 +fHsimXmrDumpDebug 0 +fHsimRTLoopDectEna 0 +fHsimAssertInActive 0 +dGblTeE 1.000000 +dGblTeR 1.000000 +dGblPeE 1.000000 +dGblPeR 1.000000 +fNewdaidirpath 0 +fHsimDelayMbmeCheck 4 +fHsimMdbPartInputLimit 1 +fHsimSdfData 0 +fHsimDesignHasSdfAnnotation 0 +fHsimDesignUsesParallelVcs 0 +fHsimCMEnabled 0 +fGblMSah 0 +fGblMSTe 0 +fGblIntPe 0 +fGblTe 0 +fGblPe 0 +iPulseR 100 +iPulseE 100 +iTransR 100 +iTransE 100 +fPulseOpt 0 +fGblPulseOnD 0 +fGblPulseOnE 0 +fVCSiFlow 0 +fSystemVCSEnabled 1 +fHsimForcedPort 0 +fpicOption 1 +fModelSave 0 +fHsimGenObj 1 +fHsimCbkMemOpt 1 +fHsimCbkMemOptDebug 0 +fHsimMasterModuleOnly 0 +fHsimDumpOriginalFlatNodeNumsMap 0 +fHsimRecordPli 0 +fHsimPlaybackPli 0 +fHsimModByModElabForGates 0 +fHsimMdbOpts 0 +fHsimMdbInlineNew 0 +fHsimMdbSelUdp2Rtl 0 +fHsimMdbUdp2Rtl 0 +fHsimZeroDelayDelta 1 +fHsimMdbUdp2Rtl_3state 0 +fHsimMdbUdp2Rtl_noxedge 0 +fHsimMdbUdp2Rtl_dfsr 0 +fHsimMdbInsertComplexSelect 0 +fHsimMdbNoComplexSelect 0 +fHsimMdbScalarization 0 +fHsimCmplxOperScalarization 0 +fHsimMdbVectorizeInstances2 0 +fHsimMdbVectorizeInstancesCfg 0 +fHsimMdbVectorizeInstDiag 0 +fHsimMdbVectorizeInstances3 0 +fHsimMdbOptimizeSeqUdp 0 +fHsimMdbB2BLatch 0 +fHsimMdbAggr 0 +fHsimMdbGateGroupNew 0 +fHsimMdbUdpGroup 0 +fHsimMdbOptimizeConstants 0 +fHsimMdbDfuse 0 +fHsimMdbBfuse 0 +fHsimMdbDce 0 +fHsimMdbMpopt 0 +fHsimMdbCondMpOpt 0 +fHsimMdbSimplifyMpCond 0 +fHsimDceIgnorecaps 0 +fHsimCondModPathDbs 0 +fHsimCondModPathCompact 0 +fHsimMdbCondMpMerge 0 +fHsimModPathCg 0 +fHsimNoCondModPathCg 0 +fHsimCompactCode 0 +fHsimCondTC 0 +fHsimMacroTC 0 +fHsimCondMPConst 0 +fHsimCondTCConst 0 +fHsimMergeDelay 0 +fHsimDelayOpt 0 +fRemoveDelonTrans 1 +fHsimModPathLoadOpt 1 +fHsimMdbTranOpt 0 +fHsimMdbTranMerge 0 +fHsimRmapatsCsh 0 +fHsimLrmSupply 0 +fHsimNewMbmeFlow 0 +fHsimBackEndInteg 0 +fHsimBackEndIntegCapsOk 0 +fHsimBackEndIntegDiag 0 +fHsimBackEndIntegMaxIbns 1024 +fHsimBackEndIntegDeadObns 0 +fHsimTran2MosDriver 1 +fHsimDumpCcn 0 +fHsimMdbNStateAnalysis 0 +fHsimMdbAdjustWidth 0 +fHsimMdbOptimizeSelects 0 +fHsimMdbScalarizePorts 0 +fHsimMdbOptimizeSelectsHeuristic 1 +fHsimMdbPart 0 +fHsimMdb1006Partition 0 +fHsimVectorPgate 0 +fHsimNoHs 0 +fHsimXmrPartition 0 +fHsimNewPartition 0 +fHsimElabPart 0 +fHsimNewPartTHold 0 +fHsimParitionCellInstNum 1000 +fHsimParitionCellNodeNum 1000 +fHsimParitionCellXMRNum 1000 +fHsimNewPartCutSingleInstLimit 268435455 +fHsimElabModDistNum 0 +fHsimNewPartAutoUpperLimit 0 +fHsimPCPortPartition 0 +fHsimPortPartition 0 +fHsimMdbHdbsBehavior 0 +fHsimMdbHdbsBehaviorTC 0 +fHsimMdbIbnObnPartition 0 +fHsimMdbDebugOpt0 0 +fHsimMdbClockAnalysis 0 +fHsimMdbMimo 0 +fHsimMdbMimoLite 0 +fHsimMdbMimoAggr 0 +fHsimDumpMdb 0 +fHsimDumpMdbVpd 0 +fHsimElabDiag 0 +fHsimElabMasterDiag 0 +fHsimElabDiagSummary 0 +fHsimElabDiagMn 0 +fHsimElabDiagMnCount 0 +fHsimElabDiagLite 0 +fHsimSimpCollect 0 +fHsimPcodeDiag 0 +fHsimDbsAlwaysBlocks 1 +fHsimPrintNodeMap 0 +fHsimSvAggr 0 +fHsimDynamicFlatNode 0 +fHsimSeqPrimCg 1 +fHsimDiagPats 0 +fHsimDdPats 0 +fHsimPatOpt 3 +fHsimPatInline 0 +fHsimPatOutline 0 +fHsimFastelab 0 +fHsimMacroOpt 0 +fHsimSkipOpt 0 +fHsimSkipOptFanoutlimit 0 +fHsimSkipOptRootlimit 0 +fHsimFuseDelayChains 0 +fFusempchainsFanoutlimit 0 +fFusempchainsDiagCount 0 +fHsimCloadOpt 0 +fHsimNoICDelayPropPwEqDelay 0 +fHsimPrintMopComment 0 +fNewRace 0 +fHsimCgVectorGates 0 +fHsimCgVectorGates1 0 +fHsimCgVectorGates2 0 +fHsimCgVectorGatesNoReElab 0 +fHsimCgScalarGates 0 +fHsimCgScalarGatesExpr 0 +fHsimCgScalarGatesLut 0 +fHsimCgRtl 1 +fHsimCgRtlFilter 0 +fHsimCgRtlDebug 0 +fHsimCgRtlSize 15 +fHsimNewCg 0 +fHsimNewCgRt 0 +fHsimNewCgFg 0 +fHsimNewCgMinput 0 +fHsimNewCgUpdate 0 +fHsimNewCgMP 0 +fHsimNewCgMPRt 0 +fHsimNewCgMPRetain 0 +fHsimNewCgTC 0 +fHsimCgRtlInfra 1 +fHsimGlueOpt 0 +fHsimPGatePatchOpt 0 +fHsimCgNoPic 0 +fHsimElabModCg 0 +fPossibleNullChecks 0 +fHsimProcessNoSplit 1 +fHsimMdbInstDiag 0 +fHsimMdbOptInSchedDelta 0 +fScaleTimeValue 0 +fDebugTimeScale 0 +fPartCompSDF 0 +fHsimNbaGate 1 +fDumpSDFBasedMod 1 +fHsimMsvSdfInout 0 +fOptimisticNtcSolver 0 +fHsimAllMtm 0 +fHsimAllMtmPat 0 +fHsimSdgOptEnable 0 +fHsimSVTypesRefPorts 0 +fHsimGrpByGrpElabIncr 0 +fHsimGrpByGrpElabIncrDiag 0 +fHsimEvcdTranSeen 0 +fHsimMarkRefereeInVcsElab 0 +fHsimStreamOpFix 1 +fHsimInterface 0 +fHsimNoPruning 0 +fHsimNoVarBidirs 0 +fHsimMxWrapOpt 0 +fHsimMxTopBdryOpt 0 +fHsimAggressiveDce 0 +fHsimDceDebug 1 +fHsimDceDebugUseHeuristics 1 +fHsimMdbUnidirSelects 0 +fHsimMdbNewDebugOpt 0 +fHsimMdbNewDebugOptExitOnError 1 +fHsimNewDebugOptMemDiag 0 +hsGlobalVerboseLevel 0 +fHsimMdbVectorConstProp 1 +fHsimEnableSeqUdpWrite 1 +fHsimDumpMDBOnlyForSeqUdp 0 +fHsimInitRegRandom 0 +fHsimInitRegRandomVcs 1 +fEnableNewFinalStrHash 0 +fEnableNewAssert 1 +fRunDbgDmma 0 +fAssrtCtrlSigChk 1 +fCheckSigValidity 0 +fUniqPriToAstRewrite 0 +fUniqPriToAstCtrl 0 +fAssertcontrolUniqPriNewImpl 0 +fRTLoopDectEna 0 +fCmplLoopDectEna 0 +fHsimMopFlow 1 +fUCaseLabelCtrl 0 +fUniSolRtSvaEna 1 +fUniSolSvaEna 1 +fXpropRtCtrlCallerOnly 0 +fHsimRaptorPart 0 +fHsimEnableDbsMemOpt 1 +fHsimDebugDbsMemOpt 0 +fHsimRenPart 0 +fHsimShortElabInsts 0 +fHsimNoTcSched 0 +fHsimSchedOpt 0 +fHsimXmrAllWires 0 +fHsimXmrDiag 0 +fHsimXmrPort 0 +fHsimFalcon 1 +fHsimGenForProfile 0 +fHsimDumpMdbAll 0 +fHsimDumpMdbRaptor 0 +fHsimDumpMdbGates 0 +fHsimDumpMdbPrune 0 +fHsimDumpMdbInline 0 +fHsimDumpMdbCondTC 0 +fHsimDumpMdbNState 0 +fHsimDumpMdbVhVlInputFuseOpt 0 +fHsimDumpMdbVhVlInoutFuseOpt 0 +fHsimDumpMdbVhVlCcnOpt 0 +fCompressSDF 0 +fHsimDumpMdbSchedDelta 0 +fHsimDumpMdbNoVarBidirs 0 +fHsimDumpMdbScalarize 0 +fHsimDumpMdbVecInst 0 +fHsimDumpMdbVecInst2 0 +fHsimDumpMdbDce 0 +fHsimDumpMdbScanopt 0 +fHsimDumpMdbSelects 0 +fHsimDumpMdbAggr 0 +fHsimDumpMdbOptConst 0 +fHsimDumpMdbVcsInterface 0 +fHsimDumpMdbDfuse 0 +fHsimDumpMdbBfuse 0 +fHsimDumpMdbTranOpt 0 +fHsimDumpMdbOptLoops 0 +fHsimDumpMdbSeqUdp 0 +fHsimDumpMdbMpOpt 0 +fHsimDumpMdbGG 0 +fHsimDumpMdbUdpGG 0 +fHsimDumpMdbMimo 0 +fHsimDumpMdbUdp2rtl 0 +fHsimDumpMdbUdpDelta 0 +fHsimDumpMdbDebugOpt 0 +fHsimDumpMdbSplitGates 0 +fHsimDumpMdb1006Part 0 +fHsimDumpMdbPart 0 +fHsimDumpMdbSimplifyMpCond 0 +fDlpSvtbExclElab 0 +fHsimDumpMdbCondMpMerge 0 +fHsimDumpMdbCondMp 0 +fHsimDumpMdbCondModPathDbs 0 +fHsimSdfAltRetain 0 +fHsimDumpMdbCompress 1 +fHsimDumpMdbSummary 0 +fHsimBfuseOn 1 +fHsimBfuseHeur 0 +fHsimBfuseHash 1 +fHsimSelectCell 0 +fHsimBfuseNoRedundantFanout 1 +fHsimBFuseVectorMinputGates 0 +fHsimBFuseVectorAlways 0 +fHsimDfuseOn 1 +fHsimDumpMdbPruneVpdGates 0 +fHsimGates1209 0 +fHsimCgRtlNoShareSmd 0 +fHsimGenForErSum 0 +fVpdOpt 1 +fHsimMdbCell 0 +fHsimCellDebug 0 +fHsimMdbCellComplexity 1.500000 +fHsimMdbCellHeur 1 +fHsimNoPeekInMdbCell 0 +fDebugDump 1 +fHsimOrigNodeNames 0 +hsimSrcList filelist +fHsimCgVectors2VOnly 0 +fHsimPortCoerce 0 +fHsimBidirOpt 0 +fHsimCheckLoop 1 +fHsimCheckLoopDiag 0 +fHsimCheckLoopMore 0 +fHsimLoop 1 +fHsimMdbDeltaGate 0 +fHsimMdbVecDeltaGate 1 +fHsimVpdOptVfsDB 1 +fHsimMdbPruneVpdGates 1 +fHsimPcPe 0 +fHsimVpdGateOnlyFlag 1 +fHsimMxConnFrc 0 +fHsimNewForceCbkVec 0 +fHsimNewForceCbkVecDiag 0 +fHsimMdbReplaceVpdHighConn 1 +fHsimVpdHighConnReplaced 0 +fHsimVpdOptSVTypes 1 +fHsimDlyInitFrc 0 +fHsimCompactVpdFn 1 +fHsimPIP 0 +fHsimRTLoopDectOrgName 0 +fHsimVpdOptPC 0 +fHsimFusePeXmrFo 0 +fHsimXmrSched 0 +fHsimNoMdg 0 +fHsimUseBidirSelectsInVectorGates 0 +fHsimGates2 0 +fHsimVectorGates 0 +fHsimHilCg 0 +fHsimHilVecAndRtl 0 +fHsimRtlLite 0 +fHsimMdbcgLut 0 +fHsimMdbcgSelective 0 +fHsimVcselabGates 0 +fHsimMdbcgUnidirSel 0 +fHsimMdbcgLhsConcat 0 +fHsimMdbcgSelectSplit 0 +fHsimMdbcgProcessSelSplit 0 +fHsimMdbcgEdgeop 0 +fHsimMdbcgMultiDelayControl 1 +fHsimParGateEvalMode 0 +fHsimDFuseVectors 0 +fHsimDFuseVecIgnoreFrc 0 +fHsimDFuseZero 0 +fHsimDFuseOpt 1 +fHsimAllPortsDiag 0 +fHsimPruneOpt 0 +fHsimSeqUdpPruneWithConstInputs 0 +fHsimSafeDFuse 0 +fHsimVpdOptExpVec 0 +fHsimVpdOptSelGate 1 +fHsimVpdOptSkipFuncPorts 0 +fHsimVpdOptAlways 1 +fHsimVpdOptMdbCell 0 +fHsimVpdOptPartialMdb 1 +fHsimVpdOptPartitionGate 1 +fHsimVpdOptXmr 1 +fHsimVpdOptConst 1 +fHsimVpdHilRtl 0 +fHsimSWave 0 +fHsimNoSched0InCell 1 +fHsimPartialMdb 0 +hsimPdbLargeOffsetThreshold 1048576 +fHsimFlatCell 0 +fHsimFlatCellLimit 0 +fHsimRegBank 0 +fHsimHmetisMaxPartSize 0 +fHsimHmetisGateWt 0 +fHsimHmetisUbFactor 0 +fHsimHmetis 0 +fHsimHmetisDiag 0 +fHsimRenumGatesForMdbCell 0 +fHsimHmetisMinPart 0 +fHsim2stCell 0 +fHsim2stCellMinSize 0 +fHsimMdbcgDebug 0 +fHsimMdbcgDebugLite 0 +fHsimMdbcgDistrib 0 +fHsimMdbcgSepmem 0 +fHsimMdbcgObjDiag 0 +fHsimMdbcg2stDiag 0 +fHsimMdbcgRttrace 0 +fHsimMdbVectorGateGroup 1 +fHsimMdbProcDfuse 1 +fHsimMdbHilPrune 0 +fHsimNewConstProp 0 +fHsimSignedOp 0 +fHsimVarIndex 0 +fHsimNewMdbNstate 0 +fHsimProcessNstate 0 +fHsimMdbModpathNstate 0 +fHsimPgateConst 0 +fHsCgOpt 1 +fHsCgOptUdp 1 +fHsCgOptRtl 1 +fHsCgOptDiag 0 +fHsCgOptAggr 0 +fHsCgOptNoZCheck 0 +fHsCgOptEnableZSupport 0 +fHsCgOpt4StateInfra 0 +fHsCgOptUdpChkDataForWakeup 1 +fHsNBACgOpt 1 +fHsCgOptXprop 0 +fHsimMdbcgDiag 0 +fHsCgMaxInputs 6 +fHsimMemory 0 +fHsCgOptFwdPass 1 +fHsimHpnodes 0 +fLightDump 0 +fRtdbgAccess 0 +fRtdbgOption 0 +fHDLCosim 0 +fHDLCosimDebug 0 +fHDLCosimTimeCoupled 0 +fHDLCosimTimeCoupledPorts 0 +HDLCosimMaxDataPerDpi 1 +HDLCosimMaxCallsPerDpi 2147483647 +fHDLCosimCompileDUT 0 +fHDLCosimCustomCompile 0 +fHDLCosimBoundaryAnalysis 0 +fVpdBeforeScan 1 +fHsCgOptMiSched0 0 +fgcAddSched0 0 +fParamClassOptRtDiag 0 +fHsRegress 0 +fHsBenchmark 0 +fHsimCgScalarVerilogForce 1 +fVcsElabToRoot 1 +fHilIbnObnCallByName 0 +fHsimMdbcgCellPartition 0 +fHsimCompressVpdSig 0 +fHsimLowPowerOpt 0 +fHsimUdpOpt 1 +fHsVecOneld 0 +fNativeVpdDebug 0 +fHsimVcsGenTLS 1 +fAssertSuccDebugLevelDump 0 +fHsimMinputsChangeCheck 0 +fHsimClkLayout 0 +fHsimIslandLayout 0 +fHsimConfigSched0 0 +fHsimSelectFuseAfterDfuse 0 +vcsNettypeDbgOpt 4 +fHsimFoldedCell 0 +fHsimSimon2Mdb 0 +fHsimSWaveEmul 0 +fHsimSWaveDumpMDB 0 +fHsimSWaveDumpFlatData 0 +fHsimRenumberAlias 0 +fHsimAliasRenumbered 0 +fHilCgMode 115 +fHsimUnionOpt 0 +fHsimFuseSGDBoundaryNodes 0 +fHsimRemoveCapsVec 0 +fHsimSlowNfsRmapats 0 +fHsimCertRaptScal 0 +fHsimCertRaptMdbClock 0 +fHsCgOptMux 0 +fHsCgOptFrc 0 +fHsCgOpt30 0 +fHsLpNoCapsOpt 0 +fHsCgOpt4State 1 +fHashTableSize 12 +fSkipStrChangeOnDelay 1 +fHsimTcheckOpt 0 +fHsCgOptMuxMClk 0 +fHsCgOptMuxFrc 0 +fHsCgOptNoPcb 0 +fHsCgOptMin1 0 +fHsCgOptUdpChk 0 +fHsChkXForSlowSigProp 1 +fHsimVcsParallelDbg 0 +fHsimVcsParallelStrategy 0 +fHsimVcsParallelOpt 0 +fHsimVcsParallelSubLevel 4 +fHsimParallelEblk 0 +fHsimByteCodeParts 1 +fHsimByteCodePartTesting 0 +fHsimByteCodePartAssert 0 +fFgpNovlInComp 0 +fFutEventPRL 0 +fFgpNbaDelay 0 +fHsimDbsFlagsByteArray 0 +fHsimDbsFlagsByteArrayTC 0 +fHsimDbsFlagsThreadArray 0 +fHsimLevelCompaction 0 +fHsimLevelCompactionThreshold 0 +fHsimGateEdgeEventSched 0 +fHsimGateEdgeEventSchedThreshold 0 +fHsimGateEdgeEventSchedSanity 0 +fHsimSelectEdgeEventSched 0 +fHsimSelectEdgeEventSchedNoTempReuse 0 +fHsimSelectEdgeEventSchedThreshold 0 +fHsimMaxComboLevels 0 +fHsimEgschedDynelab 0 +fHsimUdpClkDynelab 0 +fUdpLayoutOnClk 0 +fDbsPreCheck 0 +fHsimSched0Analysis 0 +fHsimMultiDriverSched0 0 +fHsimLargeIbnSched 0 +fFgpHierarchical 0 +fFgpHierAllElabModAsRoot 0 +fFgpHierPCElabModAsRoot 0 +fFgpAdjustDataLevelOfLatch 1 +fHsimUdpXedgeEval 0 +fFgpRaceCheck 0 +fFgpUnifyClk 0 +fFgpSmallClkTree 0 +fFgpSmallRtlClkTree 4 +fFgpNoRtlUnlink 0 +fFgpNoRtlAuxLevel 0 +fFgpNumPartitions 8 +fFgpMultiSocketCompile 0 +fFgpMultiSocketAfterGrping 0 +fFgpMultiSocketNCuts 1 +fFgpMultiSocketDiag 0 +fFgpMultiSocketRecomputePart 1 +fFgpDataDepOn 0 +fFgpDDIgnore 0 +fFgpXmrDepOn 0 +fFgpTbCbOn 0 +fFgpTbEvOn 1 +fFgpTbNoVSA 0 +fFgpTbEvXmr 0 +fFgpDisabledLevel 512 +fFgpSched0User 0 +fFgpNoSdDelayedNbas 1 +fFgpTimingFlags 0 +fFgpTcLoadThreshold 0 +fFgpSched0Level 0 +fHsimFgpMultiClock 0 +fFgpScanOptFix 0 +fFgpSched0UdpData 0 +fFgpSanityTest 0 +fFgpHighFanoutThreshold 1024 +fFgpSplitGroupLevels 1 +fFgpSplitGroupIbn 1 +fFgpSplitGroupGateEdge 1 +fFgpSplitGroupEval 3 +fFgpGroupingPerfDiag 0 +fFgpSplitGroupDiag 0 +fFgpStricDepModDiag 0 +fFgpIPProtect 0 +fFgpIPProtectStrict 0 +fFgpNoVirtualThreads 0 +fFgpLoadBalance0DiagComp 0 +fFgpDepositDiag 0 +fFgpEvtDiag.diagOn 0 +fFgpEvtDiag.printAllNodes 0 +fFgpMangleDiagLog 0 +fFgpMultiExclDiag 0 +fFgpSingleExclReason 0 +fHsDoFaninFanoutSanity 0 +fHsFgpNonDbsOva 1 +fFgpParallelTask 1 +fFgpIbnSched 0 +fFgpIbnSchedOpt 0 +fFgpIbnSchedNoLevel 0 +fFgpIbnSchedThreshold 0 +fFgpIbnSchedDyn 0 +fFgpObnSched 0 +fFgpMpStateByte 0 +fFgpTcStateByte 0 +fHsimVirtIntfDynLoadSched 0 +fHsimNetXmrDrvChk 0 +fFgpNoRtimeFgp 0 +fHsFgpGlSched0 0 +fFgpExclReason 0 +fHsimIslandByIslandElab 0 +fHsimIslandByIslandFlat 0 +fHsimIslandByIslandFlat1 0 +fHsimVpdIBIF 0 +fHsimXmrIBIF 0 +fHsimReportTime 0 +fHsimElabJ 0 +fHsimElabJ4SDF 0 +cElabProcs 0 +hf_fHsimElabJ 0 +fHsimElabJOpt 0 +fHsimElabJMMFactor 0 +fHsimOneInstCap 0 +fHsimSchedMinput 0 +fHsimSchedSeqPrim 0 +fHsimSchedRandom 0 +fHsimSchedAll 0 +fHsimSchedSelectFanout 0 +fHsimSchedSelectFanoutDebug 0 +fHsimSchedSelectFanoutRandom 0 +fFgpDynamicReadOn 0 +fHsCgOptAllUc 0 +fHsimNoReconvergenceSched0 0 +fHsimXmrRepl 0 +fZoix 0 +fHsimDfuseNewOpt 0 +fHsimBfuseNewOpt 0 +fFgpMbme 0 +fFgpXmrSched 0 +fHsimClearClkCaps 0 +fFgpHideXmrNodes 0 +fHsimDiagClkConfig 0 +fHsimDiagClkConfigDebug 0 +fHsimDiagClkConfigDumpAll 0 +fHsDiagClkConfigPara 0 +fHsimDiagClkConfigAn 0 +fHsimCanDumpClkConfig 0 +fFgpInitRout 0 +fFgpIgnoreExclSD 0 +fHsimAggrTCOpt 0 +fFgpNewAggrXmrIterFlow 0 +fFgpNoLocalReferer 0 +fHsCgOptNoClockFusing 0 +fHsClkWheelLimit 50000 +fHsFgpSchedCgUcLoads 1 +fHsimAdvanceUdpInfer 0 +fFgpIbnSchedIntf 0 +fHsCgOptNewSelCheck 1 +fFgpReportUnsafeFuncs 0 +fHsCgOptUncPrlThreshold 4 +fHsimCosimGatesProp 0 +fHsCgOptHashFixMap 1 +fHsimLowPowerRetAnalysisInChild 0 +fHsimCongruencyConfigFile 0 +fHsimCongruencyLogFile 0 +fHsimCoverageEnabled 0 +fHsimCoverageOptions 0 +fHsimCoverageDir NULL diff --git a/sim/simv.daidir/vcselab_misc_hsim_fegate.db b/sim/simv.daidir/vcselab_misc_hsim_fegate.db new file mode 100644 index 0000000000000000000000000000000000000000..dca7e28949f42c977cd664bfcb9292c95bb239d7 GIT binary patch literal 9692 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 literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/vcselab_misc_hsim_lvl.db b/sim/simv.daidir/vcselab_misc_hsim_lvl.db new file mode 100644 index 0000000000000000000000000000000000000000..719a2791efa5be6ce03245297a6561b6e3643a86 GIT binary patch literal 448 zcmZQ$fB<$V4Ws@80V9yZ1jH~JCU+Vr$i&b9=7Qw@0o8&yc3=?*0g?yFfdEY262b+O WFgcJtNWu)x$Q&$ekor-82mt^iw;_)J literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/vcselab_misc_hsim_name.db b/sim/simv.daidir/vcselab_misc_hsim_name.db new file mode 100644 index 0000000000000000000000000000000000000000..8cc11e08886f6ac31f5f1cf47c58add5c1df822b GIT binary patch literal 97 zcmb2|=3oE==H#S=gansE{~H?`IS#b6I94V6y4g5Gy2G|%hOpK#7SZReuS8oeZ3>7I y^y+rX^wn6~eZEK_fiX!?K~K*!QNy##-&4o4$KTKAoCj+cBSZ85-^XqOO$GqI{Uh=K literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/vcselab_misc_hsim_uds.db b/sim/simv.daidir/vcselab_misc_hsim_uds.db new file mode 100644 index 0000000..311d7af --- /dev/null +++ b/sim/simv.daidir/vcselab_misc_hsim_uds.db @@ -0,0 +1,3 @@ +vcselab_misc_midd.db 749 +vcselab_misc_mnmn.db 26 +vcselab_misc_hsim_name.db 217 diff --git a/sim/simv.daidir/vcselab_misc_midd.db b/sim/simv.daidir/vcselab_misc_midd.db new file mode 100644 index 0000000000000000000000000000000000000000..528ffbbb1829a2704d365a044f62f35eea88d9ba GIT binary patch literal 256 zcmV+b0ssCViwFP!0000019gzwO~Wu0hFu7^a_u`KFajfVfW93$PC_juRI(jGHs}Zp z!3Z6J0T_W1`q=+OCyEo{U-}gN&bce4)D2h&DV+%^oeL>tLP{4xN|!=PS3*kHLMoSU zFzmp4E~B2zZ8RhAai_+eIOl#g!$aixu8(TGA=h{k{u9Tq<}lZYU-d#dtWwrU2^QFr4MIA zDgT`h#OXX+A8WMPBCw^nYVT*6{5GxL(!4vz3?0b2srQ{{Keh=u#Ul*$2dhpRQ9Bjw G0ssI2-ETbr literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/vcselab_misc_mnmn.db b/sim/simv.daidir/vcselab_misc_mnmn.db new file mode 100644 index 0000000000000000000000000000000000000000..b33071836aa333ca37d698cb44e97e1523cd6e23 GIT binary patch literal 54 zcmd=1#q+DUB!!_QDLy5!Br!fYF*zfZfkBEvjDdlH5r{c~7zCss6oc4@&{g~Zg;5IL literal 0 HcmV?d00001 diff --git a/sim/simv.daidir/vcselab_misc_partition.db b/sim/simv.daidir/vcselab_misc_partition.db new file mode 100644 index 0000000000000000000000000000000000000000..a453c687019a0790946b7b44c0b252a8da282b10 GIT binary patch literal 7912 zcmai(UvOPj6^BoyK!E@u1PD;@C{YWdf>wQKLqU8l?&*DPAyY zlthab2pTm)fr#-BOlNXaqecxgdFTTVeej_()|ou;&~bF8Gxhu3yEk2Dd2{xj`MU1e z-&yJ}T<{p71;zVsnU%LVJVCC#e%nr)Aj| zxB+&-9@q!-unKF?v@y%Bg>D#t3d}$ij=%|MJ3Y&`LJthWILyK_9EFUDZiWu%g+UmH zSy+Oju<^_+%b^o?!Z1w29IU`G*tCi9!Vc(%3e3O~`~yxv+gXeSdSDPHU=CK{8E8H` z%dUeS7=#I!gH?D2n$N*Q4-7yBW?>nQLe|7wpcDFF2qs}34#RP1J(n>+FATvX%)=_I zLDPAxDeQpVFa|TQ1V>@x`B~Nu+h8XQ!z9eX3LJxtY3G;9mjzjAOj01XM z2qxeFtiT#HwJ;9oh5@L+3{>F=oPf<2(g*B>J+L1R!V&lnw6(IY&{E`TUMPMIIOc_7+vSKCifxzU zT_~6FWOLo|F1T>ipUt;adb9@RVI^}JNmCh;e>RMgnylY%u z9IM)Vv2%8f`Mh!+r@U7=7uQL7uXfIUN6L33{A&{awF&>agzrrF*C+fN68?<|zb)b4 zl<-{%|7Pd)n-lj(dv}BL_MB^f-r~H^-|oEf?Kys{^VaQf&YtnNIcM*u#{KpNKAv;= z8=a3%bLw8lDeoQ5*|mD7b2-np-J6_`PVM$M7u(f%-sPOXBkxZ5_c)*PY}@Zm_?w;A z-(fcYmW036dHr2s^ZOG1z0R{EN+Un=p+|8j{} z{#Q!8@`p>j^1oW*mH)K{KCZX&Z*x969BY$p6^+oaZ<$`JXs%-Trl)=5yaVPHo=rT%3>c9&paj zXS&2I|3T;JuW&wp+Q7#-DgS5AN2hVmc(>uyfA{)%iTj0f+sVtRQ=7kZt~OueXA}Nc z3I9;SKb-If68@2de>CAAOZd5j|8>GY-oSU6efy2`_AJgjXMfXmR(_lCzjNMypZwl= zdsfx{ADp*$LH-Hnl^@H6d}zO{{?rj-cZj<}915`#;{FilLR<>*=@8dK%r39D+Zy7Q z5IaNc32}Fb!y%4`sO%irhFa0M^*Ilbkev>y&mq32?zM)t?oyuhJ#Op%dGh2*<=eVT zcs|3`{fqa`baiT9>zu;|P&pgUf*fMqzsXg-thCv)xFy7`A#Mw? zJH-AF$3mPA@nDEghj={1?8?x7i0vVEgxDM6V2I-(PKUT0qFT}ZjaC}gCRW7WkLqS~C|1&v=h8tYV8JIz7;+d6&L`rC174(dbWz1TU8GdkUCn-|wXdAet| tAFZ*zFLdlQM~zSIXn$&Z{pY_d|MhQwUwMjWeb*>o?`eK|uLa_J{{x2%Dr=6adhNODQhFJ-9=0cXxMpD_Y#$-QC?Od;(jh*ab zH+$I2KK65vLmcJ^M>)oEPH>V~*J;iW>pRayVttpn$~CTYgPYvq4)=J#L;g1^r5{|U zjXkPCZ8oum9JaHA?)0QLed*6YB1%$<(qvGUGE8JLQ<=_8W^S@ERHQnOc+3-?@{B6fq!!PqL!5bCUecMa)T2I)Xh>rkFrJZ& z;u9aK%xIeOnPikmC$YE95(AO9NaRsZvX&T%`jR!Zk++Kh(U$gqdVgO!NITLgeLLO} z^~QNd&98`>UlTRIA%{5ME@aV-9`vFQ{TRR(3X5EWUlR|+w__jU+i!Wtdp^*L))W>o z|6hAQ$k-4DGn9y7j9_>qBIb`_Ecs_PPJaTEn8Gw>FpG#ec};4bHvY#2EMf`ESV6)6 Mag}?kX+pvH4f{}20ssI2 literal 0 HcmV?d00001 diff --git a/sim/tb.f b/sim/tb.f new file mode 100644 index 0000000..96cda98 --- /dev/null +++ b/sim/tb.f @@ -0,0 +1,5 @@ +// ../tb/data_cache/tb_sync_fifo.v +// ../tb/data_cache/tb_histogram_ctrl.v +// ../tb/data_cache/tb_data_assemble.v +// ../tb/data_cache/tb_axi_write_ctrl.v +../tb/data_cache/tb_data_cache.v diff --git a/sim/tb.fsdb b/sim/tb.fsdb new file mode 100644 index 0000000000000000000000000000000000000000..c973637520177b55bd33ecd8ff0ef76fae7e1bdc GIT binary patch literal 69669 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

@zuie8IihkSZL|)7? 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 z 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 PKOEx1ObtbErhESfp0HR~ literal 0 HcmV?d00001 diff --git a/sim/ucli.key b/sim/ucli.key new file mode 100644 index 0000000..e69de29 diff --git a/sim/vcs.log b/sim/vcs.log new file mode 100644 index 0000000..8b422e4 --- /dev/null +++ b/sim/vcs.log @@ -0,0 +1,201 @@ + Chronologic VCS (TM) + Version O-2018.09-1_Full64 -- Tue Aug 26 16:45:55 2025 + Copyright (c) 1991-2018 by Synopsys Inc. + ALL RIGHTS RESERVED + +This program is proprietary and confidential information of Synopsys Inc. +and may be used and disclosed only as authorized in a license agreement +controlling such use and disclosure. + +Parsing design file '../rtl/data_cache/sync_fifo.v' +Parsing design file '../rtl/data_cache/async_fifo.v' +Parsing design file '../rtl/data_cache/histogram_ctrl.v' +Parsing design file '../rtl/data_cache/data_assemble.v' +Parsing design file '../rtl/data_cache/axi_write_ctrl.v' +Parsing design file '../rtl/data_cache/rst_sync.v' +Parsing design file '../rtl/data_cache/data_cache.v' +Parsing design file '../tb/data_cache/tb_data_cache.v' +Top Level Modules: + tb_data_cache +TimeScale is 1 ns / 1 ps + +Warning-[PCWM-W] Port connection width mismatch +../rtl/data_cache/data_cache.v, 245 +"axi_write_ctrl #(AXI_ID_W, AXI_ADDR_W, AXI_DATA_W, AXI_STRB_W, , , , ) u_axi_write_ctrl( .clk (clk), .rst_n (rst_n_sys), .start_en (((!sync_fifo_empty) && (!axi_write_busy))), .sram_base_addr (32'b0), .fifo_rd_data (sync_fifo_rd_data), .fifo_empty (sync_fifo_empty), .fifo_rd_en (sync_fifo_rd_en), .axi_m_awid (axi_m_awid), .axi_m_awaddr (axi_m_awaddr), .axi_m_awlen (axi_m_awlen), .axi_m_awsize (axi_m_awsize), .axi_m_awburst (axi_m_awburst), .axi_m_awlock (axi_m_awlock), .axi_m_awcache (axi_m_awcache), .axi_m_awprot (axi_m_awprot), .axi_m_awqos (axi_m_awqos), .axi_m_awvalid (axi_m_awvalid), .axi_m_awready (axi_m_awready), .axi_m_wid (axi_m_wid), .axi_m_wdata (axi_m_wdata), .axi_m_wstrb (axi_m_wstrb), .axi_m_wlast (axi_m_wlast), .axi_ ... " + The following 4-bit expression is connected to 5-bit port "axi_m_awcache" of + module "axi_write_ctrl", instance "u_axi_write_ctrl". + Expression: axi_m_awcache + use +lint=PCWM for more details + + +Warning-[PCWM-W] Port connection width mismatch +../rtl/data_cache/data_cache.v, 245 +"axi_write_ctrl #(AXI_ID_W, AXI_ADDR_W, AXI_DATA_W, AXI_STRB_W, , , , ) u_axi_write_ctrl( .clk (clk), .rst_n (rst_n_sys), .start_en (((!sync_fifo_empty) && (!axi_write_busy))), .sram_base_addr (32'b0), .fifo_rd_data (sync_fifo_rd_data), .fifo_empty (sync_fifo_empty), .fifo_rd_en (sync_fifo_rd_en), .axi_m_awid (axi_m_awid), .axi_m_awaddr (axi_m_awaddr), .axi_m_awlen (axi_m_awlen), .axi_m_awsize (axi_m_awsize), .axi_m_awburst (axi_m_awburst), .axi_m_awlock (axi_m_awlock), .axi_m_awcache (axi_m_awcache), .axi_m_awprot (axi_m_awprot), .axi_m_awqos (axi_m_awqos), .axi_m_awvalid (axi_m_awvalid), .axi_m_awready (axi_m_awready), .axi_m_wid (axi_m_wid), .axi_m_wdata (axi_m_wdata), .axi_m_wstrb (axi_m_wstrb), .axi_m_wlast (axi_m_wlast), .axi_ ... " + The following 4-bit expression is connected to 5-bit port "axi_m_awqos" of + module "axi_write_ctrl", instance "u_axi_write_ctrl". + Expression: axi_m_awqos + use +lint=PCWM for more details + +Starting vcs inline pass... +1 module and 0 UDP read. +recompiling module tb_data_cache +make[1]: Entering directory '/home/ICer/ic_prjs/IPA/sim/csrc' +make[1]: Leaving directory '/home/ICer/ic_prjs/IPA/sim/csrc' +make[1]: Entering directory '/home/ICer/ic_prjs/IPA/sim/csrc' +rm -f _csrc*.so pre_vcsobj_*.so share_vcsobj_*.so +if [ -x ../simv ]; then chmod -x ../simv; fi +g++ -o ../simv -Wl,-rpath-link=./ -Wl,-rpath='$ORIGIN'/simv.daidir/ -Wl,-rpath=./simv.daidir/ -Wl,-rpath='$ORIGIN'/simv.daidir//scsim.db.dir -rdynamic -Wl,-rpath=/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib -L/home/synopsys/vcs-mx/O-2018.09-1/linux64/lib objs/amcQw_d.o _16331_archive_1.so SIM_l.o rmapats_mop.o rmapats.o rmar.o rmar_nd.o rmar_llvm_0_1.o rmar_llvm_0_0.o -lzerosoft_rt_stubs -lvirsim -lerrorinf -lsnpsmalloc -lvfs -lvcsnew -lsimprofile -luclinative /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcs_tls.o -Wl,-whole-archive -lvcsucli -Wl,-no-whole-archive _vcs_pli_stub_.o /home/synopsys/vcs-mx/O-2018.09-1/linux64/lib/vcs_save_restore_new.o /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/PLI/VCS/LINUX64/pli.a -ldl -lc -lm -lpthread -ldl +../simv up to date +make[1]: Leaving directory '/home/ICer/ic_prjs/IPA/sim/csrc' +Chronologic VCS simulator copyright 1991-2018 +Contains Synopsys proprietary information. +Compiler version O-2018.09-1_Full64; Runtime version O-2018.09-1_Full64; Aug 26 16:45 2025 +*Verdi* Loading libsscore_vcs201809.so +FSDB Dumper for VCS, Release Verdi_O-2018.09-SP2, Linux x86_64/64bit, 02/21/2019 +(C) 1996 - 2019 by Synopsys, Inc. +*Verdi* : Create FSDB file 'tb.fsdb' +*Verdi* : Begin traversing the scope (tb_data_cache), layer (0). +*Verdi* : End of traversing. +*Verdi* : Begin traversing the MDAs under scope (tb_data_cache), layer (0). +*Verdi* : Enable +mda and +packedmda dumping. +*Verdi* : End of traversing the MDAs. +[150000] Test 1: Gray scale single frame test +[165000] Data Cache State: WAIT_VS +[185000] Data Cache State: RECEIVE_DATA +[595000] AXI Write Transaction: Address=0x00000000, Length= 0 +[605000] AXI Write Transaction: Address=0x00000000, Length= 0 +[615000] AXI Write Data: ID= 0, Data[31:0]=0x3c3d3e3f, Last=1 +[935000] AXI Write Transaction: Address=0x00000020, Length= 0 +[955000] AXI Write Data: ID= 0, Data[31:0]=0x5c5d5e5f, Last=1 +[1285000] AXI Write Transaction: Address=0x00000040, Length= 0 +[1295000] AXI Write Transaction: Address=0x00000040, Length= 0 +[1305000] AXI Write Data: ID= 0, Data[31:0]=0x7c7d7e7f, Last=1 +[1635000] AXI Write Transaction: Address=0x00000060, Length= 0 +[1655000] AXI Write Data: ID= 0, Data[31:0]=0x9c9d9e9f, Last=1 +[1985000] AXI Write Transaction: Address=0x00000080, Length= 0 +[2015000] AXI Write Data: ID= 0, Data[31:0]=0xbcbdbebf, Last=1 +[2335000] AXI Write Transaction: Address=0x000000a0, Length= 0 +[2345000] AXI Write Transaction: Address=0x000000a0, Length= 0 +[2355000] AXI Write Data: ID= 0, Data[31:0]=0x3b3c3d3e, Last=1 +[2715000] AXI Write Transaction: Address=0x000000c0, Length= 0 +[2735000] AXI Write Data: ID= 0, Data[31:0]=0x5b5c5d5e, Last=1 +[3035000] AXI Write Transaction: Address=0x000000e0, Length= 0 +[3045000] AXI Write Transaction: Address=0x000000e0, Length= 0 +[3065000] AXI Write Data: ID= 0, Data[31:0]=0x7b7c7d7e, Last=1 +[3385000] AXI Write Transaction: Address=0x00000100, Length= 0 +[3435000] AXI Write Data: ID= 0, Data[31:0]=0x9b9c9d9e, Last=1 +[3745000] AXI Write Transaction: Address=0x00000120, Length= 0 +[3755000] AXI Write Transaction: Address=0x00000120, Length= 0 +[3805000] AXI Write Data: ID= 0, Data[31:0]=0xbbbcbdbe, Last=1 +[4085000] AXI Write Transaction: Address=0x00000140, Length= 0 +[4095000] AXI Write Transaction: Address=0x00000140, Length= 0 +[4125000] AXI Write Data: ID= 0, Data[31:0]=0x3a3b3c3d, Last=1 +[4435000] AXI Write Transaction: Address=0x00000160, Length= 0 +[4455000] AXI Write Data: ID= 0, Data[31:0]=0x5a5b5c5d, Last=1 +[4795000] AXI Write Transaction: Address=0x00000180, Length= 0 +[4805000] AXI Write Transaction: Address=0x00000180, Length= 0 +[4815000] AXI Write Data: ID= 0, Data[31:0]=0x7a7b7c7d, Last=1 +[5135000] AXI Write Transaction: Address=0x000001a0, Length= 0 +[5155000] AXI Write Data: ID= 0, Data[31:0]=0x9a9b9c9d, Last=1 +[5515000] AXI Write Transaction: Address=0x000001c0, Length= 0 +[5525000] AXI Write Transaction: Address=0x000001c0, Length= 0 +[5545000] AXI Write Data: ID= 0, Data[31:0]=0xbabbbcbd, Last=1 +[5785000] Data Cache State: WRITE_FIFO +[5795000] Data Cache State: FRAME_DONE +[5835000] AXI Write Transaction: Address=0x000001e0, Length= 0 +[5845000] AXI Write Transaction: Address=0x000001e0, Length= 0 +[5865000] AXI Write Data: ID= 0, Data[31:0]=0x393a3b3c, Last=1 +[8375000] Data Cache State: WAIT_VS +[8455000] Test 1 Histogram Check: CH0 min=20 (exp=20), max=c0 (exp=c0) +[8455000] Test 1 Histogram Check PASSED! +[8505000] Test 2: RGB single frame test +[8515000] Data Cache State: IDLE +[8535000] Data Cache State: WAIT_VS +[8565000] Data Cache State: RECEIVE_DATA +[14165000] Data Cache State: WRITE_FIFO +[14175000] Data Cache State: FRAME_DONE +[16755000] Data Cache State: WAIT_VS +[16835000] Test 2 Histogram Check: CH0 min=37 (exp=30), max=3f (exp=70) +[16835000] Test 2 Histogram Check: CH1 min=50 (exp=50), max=6f (exp=90) +[16835000] Test 2 Histogram Check: CH2 min=78 (exp=70), max=9e (exp=b0) +[16835000] Test 2 Histogram Check FAILED! +[16885000] Test 3: Continuous frame test +[16895000] Data Cache State: IDLE +[16915000] Data Cache State: WAIT_VS +[16945000] Data Cache State: RECEIVE_DATA +[17345000] AXI Write Transaction: Address=0x00000200, Length= 0 +[17415000] AXI Write Data: ID= 0, Data[31:0]=0x5c5d5e5f, Last=1 +[17695000] AXI Write Transaction: Address=0x00000220, Length= 0 +[17705000] AXI Write Transaction: Address=0x00000220, Length= 0 +[17725000] AXI Write Data: ID= 0, Data[31:0]=0x7c7d7e7f, Last=1 +[18065000] AXI Write Transaction: Address=0x00000240, Length= 0 +[18075000] AXI Write Transaction: Address=0x00000240, Length= 0 +[18085000] AXI Write Data: ID= 0, Data[31:0]=0x9c9d9e9f, Last=1 +[18395000] AXI Write Transaction: Address=0x00000260, Length= 0 +[18405000] AXI Write Transaction: Address=0x00000260, Length= 0 +[18435000] AXI Write Data: ID= 0, Data[31:0]=0xbcbdbebf, Last=1 +[18765000] AXI Write Transaction: Address=0x00000280, Length= 0 +[18775000] AXI Write Transaction: Address=0x00000280, Length= 0 +[18795000] AXI Write Data: ID= 0, Data[31:0]=0xdcdddedf, Last=1 +[19115000] AXI Write Transaction: Address=0x000002a0, Length= 0 +[19135000] AXI Write Data: ID= 0, Data[31:0]=0x5b5c5d5e, Last=1 +[19445000] AXI Write Transaction: Address=0x000002c0, Length= 0 +[19455000] AXI Write Transaction: Address=0x000002c0, Length= 0 +[19465000] AXI Write Data: ID= 0, Data[31:0]=0x7b7c7d7e, Last=1 +[19825000] AXI Write Transaction: Address=0x000002e0, Length= 0 +[19845000] AXI Write Data: ID= 0, Data[31:0]=0x9b9c9d9e, Last=1 +[20175000] AXI Write Transaction: Address=0x00000300, Length= 0 +[20185000] AXI Write Transaction: Address=0x00000300, Length= 0 +[20215000] AXI Write Data: ID= 0, Data[31:0]=0xbbbcbdbe, Last=1 +[20525000] AXI Write Transaction: Address=0x00000320, Length= 0 +[20545000] AXI Write Data: ID= 0, Data[31:0]=0xdbdcddde, Last=1 +[20865000] AXI Write Transaction: Address=0x00000340, Length= 0 +[20885000] AXI Write Data: ID= 0, Data[31:0]=0x5a5b5c5d, Last=1 +[21225000] AXI Write Transaction: Address=0x00000360, Length= 0 +[21265000] AXI Write Data: ID= 0, Data[31:0]=0x7a7b7c7d, Last=1 +[21545000] AXI Write Transaction: Address=0x00000380, Length= 0 +[21565000] AXI Write Data: ID= 0, Data[31:0]=0x9a9b9c9d, Last=1 +[21915000] AXI Write Transaction: Address=0x000003a0, Length= 0 +[21925000] AXI Write Transaction: Address=0x000003a0, Length= 0 +[21935000] AXI Write Data: ID= 0, Data[31:0]=0xbabbbcbd, Last=1 +[22255000] AXI Write Transaction: Address=0x000003c0, Length= 0 +[22265000] AXI Write Transaction: Address=0x000003c0, Length= 0 +[22305000] AXI Write Data: ID= 0, Data[31:0]=0xdadbdcdd, Last=1 +[22545000] Data Cache State: WRITE_FIFO +[22555000] Data Cache State: FRAME_DONE +[22615000] AXI Write Transaction: Address=0x000003e0, Length= 0 +[22635000] AXI Write Data: ID= 0, Data[31:0]=0x595a5b5c, Last=1 +[25135000] Data Cache State: WAIT_VS +[25185000] Data Cache State: RECEIVE_DATA +[30785000] Data Cache State: WRITE_FIFO +[30795000] Data Cache State: FRAME_DONE +[33375000] Data Cache State: WAIT_VS +[33455000] Test 4: Update trigger test +[33475000] Data Cache State: RECEIVE_DATA +[33885000] AXI Write Transaction: Address=0x00000400, Length= 0 +[33905000] AXI Write Data: ID= 0, Data[31:0]=0x7c7d7e7f, Last=1 +[34225000] AXI Write Transaction: Address=0x00000420, Length= 0 +[34255000] AXI Write Data: ID= 0, Data[31:0]=0x9c9d9e9f, Last=1 +[34585000] AXI Write Transaction: Address=0x00000440, Length= 0 +[34625000] AXI Write Data: ID= 0, Data[31:0]=0xbcbdbebf, Last=1 +[34945000] AXI Write Transaction: Address=0x00000460, Length= 0 +[34955000] AXI Write Transaction: Address=0x00000460, Length= 0 +[34965000] AXI Write Data: ID= 0, Data[31:0]=0xdcdddedf, Last=1 +[35275000] AXI Write Transaction: Address=0x00000480, Length= 0 +[35285000] AXI Write Transaction: Address=0x00000480, Length= 0 +[35295000] AXI Write Data: ID= 0, Data[31:0]=0xfcfdfeff, Last=1 +[35625000] AXI Write Transaction: Address=0x000004a0, Length= 0 +[35645000] AXI Write Data: ID= 0, Data[31:0]=0x1c1d1e1f, Last=1 +[35945000] Data Cache State: IDLE +[35985000] AXI Write Transaction: Address=0x000004c0, Length= 0 +[35995000] AXI Write Transaction: Address=0x000004c0, Length= 0 +[35995000] Data Cache State: WAIT_VS +[36015000] AXI Write Data: ID= 0, Data[31:0]=0x3c3d3e3f, Last=1 +[36076000] All tests completed! +$finish called from file "../tb/data_cache/tb_data_cache.v", line 418. +$finish at simulation time 36076000 + V C S S i m u l a t i o n R e p o r t +Time: 36076000 ps +CPU Time: 0.740 seconds; Data structure size: 0.0Mb +Tue Aug 26 16:45:57 2025 +CPU time: .528 seconds to compile + .347 seconds to elab + .349 seconds to link + .789 seconds in simulation diff --git a/sim/verdiLog/.16693IC_EDA.conf b/sim/verdiLog/.16693IC_EDA.conf new file mode 100644 index 0000000..c7bcb5a --- /dev/null +++ b/sim/verdiLog/.16693IC_EDA.conf @@ -0,0 +1,336 @@ +[qBaseWindow_saveRestoreSession_group] +10=/home/ICer/ic_prjs/IPA/sim/verdiLog/novas_autosave.ses + +[qDockerWindow_C] +Verdi_1\position.x=-1 +Verdi_1\position.y=27 +Verdi_1\width=1280 +Verdi_1\height=921 + +[QwMainWindow] +window\nWave_2\layout="@ByteArray(\0\0\0\xff\0\x3\x14Q\xfd\0\0\0\0\0\0\x5\0\0\0\x2\xfe\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x2\0\0\0\x2\0\0\0\f\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0O\0P\0\x45\0N\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0\x45\0\x44\0I\0T\x1\0\0\0?\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x16\0W\0\x41\0V\0\x45\0_\0\x43\0U\0R\0S\0O\0R\x1\0\0\0\xb4\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0V\0I\0\x45\0W\x1\0\0\x2%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\"\0W\0\x41\0V\0\x45\0_\0S\0\x45\0\x41\0R\0\x43\0H\0_\0\x45\0V\0\x45\0N\0T\x1\0\0\x2\x7f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0W\0\x41\0V\0\x45\0_\0R\0\x45\0P\0L\0\x41\0Y\0_\0S\0I\0M\0\0\0\x2\xcb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x12\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\x1\0\0\x3\x1b\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0W\0\x41\0V\0\x45\0_\0G\0O\0T\0O\0_\0N\0\x41\0M\0\x45\0\x44\0_\0M\0\x41\0R\0K\0\x45\0R\0\0\0\x3\x32\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0T\0R\0\x41\0N\0S\0\x41\0\x43\0T\0I\0O\0N\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0W\0\x41\0V\0\x45\0_\0\x45\0X\0P\0L\0O\0R\0\x45\0_\0P\0R\0O\0P\0\x45\0R\0T\0Y\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0W\0\x41\0V\0\x45\0_\0\x46\0I\0N\0\x44\0_\0S\0I\0G\0N\0\x41\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x18\0W\0\x41\0V\0\x45\0_\0P\0R\0I\0M\0\x41\0R\0Y\0\0\0\x3\x99\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x32\0S\0\x45\0L\0\x45\0\x43\0T\0I\0O\0N\0_\0M\0\x45\0S\0S\0\x41\0G\0\x45\0_\0T\0O\0O\0L\0\x42\0\x41\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +window\nWave_2\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x1\0\0\0\0\0\0\0\0\0\x1b\0\0\x4\xff\0\0\x3J\0\0\0\0\0\0\0\x1b\0\0\x4\xff\0\0\x3J\0\0\0\0\0\0) +window\nWave_2\menubar=true +window\nWave_2\splitters\splitter_5\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\x1:\x1\0\0\0\x1\0\0\0\0\x2) +window\nWave_2\splitters\splitter_2\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\xe2\0\0\x4\x1e\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\splitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0[\0\0\0\0\0\0\x3\xbd\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\Pane_Upper\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\xe2\0\0\x4\x1b\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\splitter_3\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0[\0\0\x3\xbd\x1\0\0\0\x1\0\0\0\0\x1) +window\nWave_2\splitters\wholeSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x3\0\0\0O\0\0\0\xa3\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x1) +window\nWave_2\splitters\middleSplitter\layout=@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0\x4\x1\0\0\0\x6\x1\0\0\0\x2) + +[qBaseWindowStateGroup] +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\ProductVersion=201809 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xdc\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1N\xfc\x1\0\0\0\x1\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\0\0\x5\0\0\0\0\xa0\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x43\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3g\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isNestedWindow=0 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\size=@Size(1280 921) +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_x=-1 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_y=27 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_width=1280 +Verdi_1\qBaseWindowRestoreStateGroup\qDockerWindow_defaultLayout\geometry_height=921 +Verdi_1\qBaseWindowNextStateGroup\0\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\0\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\0\ProductVersion=201809 +Verdi_1\qBaseWindowNextStateGroup\0\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\0\0\x5\0\0\0\0\xa0\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3\x43\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowNextStateGroup\0\isNestedWindow=0 +Verdi_1\qBaseWindowNextStateGroup\0\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\0\size=@Size(1280 921) +Verdi_1\qBaseWindowNextStateGroup\0\geometry_x=0 +Verdi_1\qBaseWindowNextStateGroup\0\geometry_y=0 +Verdi_1\qBaseWindowNextStateGroup\0\geometry_width=1280 +Verdi_1\qBaseWindowNextStateGroup\0\geometry_height=921 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\ProductVersion=201809 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\xd5\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isNestedWindow=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\size=@Size(1280 921) +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_x=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_y=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_width=1280 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\geometry_height=921 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\1\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\1\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\1\ProductVersion=201809 +Verdi_1\qBaseWindowNextStateGroup\1\Layout="@ByteArray(\0\0\0\xff\0\0\0\x1\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowNextStateGroup\1\isNestedWindow=0 +Verdi_1\qBaseWindowNextStateGroup\1\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\1\size=@Size(1280 921) +Verdi_1\qBaseWindowNextStateGroup\1\geometry_x=0 +Verdi_1\qBaseWindowNextStateGroup\1\geometry_y=0 +Verdi_1\qBaseWindowNextStateGroup\1\geometry_width=1280 +Verdi_1\qBaseWindowNextStateGroup\1\geometry_height=921 +Verdi_1\qBaseWindowNextStateGroup\2\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\2\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\2\ProductVersion=201809 +Verdi_1\qBaseWindowNextStateGroup\2\Layout="@ByteArray(\0\0\0\xff\0\0\0\x2\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\0\xa0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0\0\0\0\0\xff\xff\xff\xff\0\0\0k\0\0\0k\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowNextStateGroup\2\isNestedWindow=0 +Verdi_1\qBaseWindowNextStateGroup\2\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\2\size=@Size(1280 921) +Verdi_1\qBaseWindowNextStateGroup\2\geometry_x=0 +Verdi_1\qBaseWindowNextStateGroup\2\geometry_y=0 +Verdi_1\qBaseWindowNextStateGroup\2\geometry_width=1280 +Verdi_1\qBaseWindowNextStateGroup\2\geometry_height=921 +Verdi_1\qBaseWindowNextStateGroup\3\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\3\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\3\ProductVersion=201809 +Verdi_1\qBaseWindowNextStateGroup\3\Layout="@ByteArray(\0\0\0\xff\0\0\0\x3\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowNextStateGroup\3\isNestedWindow=0 +Verdi_1\qBaseWindowNextStateGroup\3\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\3\size=@Size(1280 921) +Verdi_1\qBaseWindowNextStateGroup\3\geometry_x=0 +Verdi_1\qBaseWindowNextStateGroup\3\geometry_y=0 +Verdi_1\qBaseWindowNextStateGroup\3\geometry_width=1280 +Verdi_1\qBaseWindowNextStateGroup\3\geometry_height=921 +Verdi_1\qBaseWindowNextStateGroup\4\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\4\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\4\ProductVersion=201809 +Verdi_1\qBaseWindowNextStateGroup\4\Layout="@ByteArray(\0\0\0\xff\0\0\0\x4\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x1\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowNextStateGroup\4\isNestedWindow=0 +Verdi_1\qBaseWindowNextStateGroup\4\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\4\size=@Size(1280 921) +Verdi_1\qBaseWindowNextStateGroup\4\geometry_x=0 +Verdi_1\qBaseWindowNextStateGroup\4\geometry_y=0 +Verdi_1\qBaseWindowNextStateGroup\4\geometry_width=1280 +Verdi_1\qBaseWindowNextStateGroup\4\geometry_height=921 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\5\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowRestoreStateGroup\backup_layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowNextStateGroup\5\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\5\ProductVersion=201809 +Verdi_1\qBaseWindowNextStateGroup\5\Layout="@ByteArray(\0\0\0\xff\0\0\0\x5\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1\xd5\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowNextStateGroup\5\isNestedWindow=0 +Verdi_1\qBaseWindowNextStateGroup\5\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\5\size=@Size(1280 921) +Verdi_1\qBaseWindowNextStateGroup\5\geometry_x=0 +Verdi_1\qBaseWindowNextStateGroup\5\geometry_y=0 +Verdi_1\qBaseWindowNextStateGroup\5\geometry_width=1280 +Verdi_1\qBaseWindowNextStateGroup\5\geometry_height=921 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_OneSearch\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\ProductVersion=201809 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\x89\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\x1\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x2,\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\isNestedWindow=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\size=@Size(1280 921) +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\geometry_x=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\geometry_y=0 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\geometry_width=1280 +Verdi_1\qBaseWindowRestoreStateGroup\layout_to_restore\geometry_height=921 +Verdi_1\qBaseWindowNextStateGroup\6\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CInst._Tree%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CMessage%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_MTB_SOURCE_TAB_1\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CSignal_List%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\widgetDock_%3CDecl._Tree%3E\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_OneSearch\isVisible=false +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\isNestedWindow=1 +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\SELECTION_MESSAGE_TOOLBAR=false +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeMax=1 +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\qBaseWindowBeFix=1 +Verdi_1\qBaseWindowNextStateGroup\6\qBaseDockWidgetGroup\windowDock_nWave_2\dockIsFloating=false +Verdi_1\qBaseWindowNextStateGroup\6\ProductVersion=201809 +Verdi_1\qBaseWindowNextStateGroup\6\Layout="@ByteArray(\0\0\0\xff\0\0\0\x6\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\0\0\xff\xff\xff\xfa\0\0\0\0\x1\0\0\0\x2\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0I\0n\0s\0t\0.\0_\0T\0r\0\x65\0\x65\0>\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0\x44\0\x65\0\x63\0l\0.\0_\0T\0r\0\x65\0\x65\0>\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x30\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0S\0i\0g\0n\0\x61\0l\0_\0L\0i\0s\0t\0>\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0\x36\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0M\0T\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0T\0\x41\0\x42\0_\0\x31\0\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x1\xa2\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x1-\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0<\0M\0\x65\0s\0s\0\x61\0g\0\x65\0>\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0(\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x32\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x16\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowNextStateGroup\6\isNestedWindow=0 +Verdi_1\qBaseWindowNextStateGroup\6\isVisible=true +Verdi_1\qBaseWindowNextStateGroup\6\size=@Size(1280 921) +Verdi_1\qBaseWindowNextStateGroup\6\geometry_x=0 +Verdi_1\qBaseWindowNextStateGroup\6\geometry_y=0 +Verdi_1\qBaseWindowNextStateGroup\6\geometry_width=1280 +Verdi_1\qBaseWindowNextStateGroup\6\geometry_height=921 diff --git a/sim/verdiLog/.diagnose.oneSearch b/sim/verdiLog/.diagnose.oneSearch new file mode 100644 index 0000000..e69de29 diff --git a/sim/verdiLog/ToNetlist.log b/sim/verdiLog/ToNetlist.log new file mode 100644 index 0000000..e69de29 diff --git a/sim/verdiLog/compiler.log b/sim/verdiLog/compiler.log new file mode 100644 index 0000000..a8a917e --- /dev/null +++ b/sim/verdiLog/compiler.log @@ -0,0 +1,107 @@ +*design* DebussyLib (btIdent Verdi_O-2018.09-SP2) +Command arguments: + +define+verilog + -f rtl.f + ../rtl/data_cache/sync_fifo.v + ../rtl/data_cache/async_fifo.v + ../rtl/data_cache/histogram_ctrl.v + ../rtl/data_cache/data_assemble.v + ../rtl/data_cache/axi_write_ctrl.v + ../rtl/data_cache/rst_sync.v + ../rtl/data_cache/data_cache.v + tb.f + + +*Error* nonconstant index +"../rtl/data_cache/async_fifo.v", 79: + +*Error* nonconstant index +"../rtl/data_cache/async_fifo.v", 80: + +*Error* nonconstant index +"../rtl/data_cache/async_fifo.v", 82: + +*Error* nonconstant index +"../rtl/data_cache/async_fifo.v", 83: + +*Error* Syntax error at . +"tb.f", 5: +Highest level modules: +data_cache + + +*Error* illegal output port on instance 'u_histogram_ctrl' port 'dwidth_conv_min_ch0' +"../rtl/data_cache/data_cache.v", 198: + +*Error* illegal output port on instance 'u_histogram_ctrl' port 'dwidth_conv_max_ch0' +"../rtl/data_cache/data_cache.v", 199: + +*Error* illegal output port on instance 'u_histogram_ctrl' port 'dwidth_conv_min_ch1' +"../rtl/data_cache/data_cache.v", 200: + +*Error* illegal output port on instance 'u_histogram_ctrl' port 'dwidth_conv_max_ch1' +"../rtl/data_cache/data_cache.v", 201: + +*Error* illegal output port on instance 'u_histogram_ctrl' port 'dwidth_conv_min_ch2' +"../rtl/data_cache/data_cache.v", 202: + +*Error* illegal output port on instance 'u_histogram_ctrl' port 'dwidth_conv_max_ch2' +"../rtl/data_cache/data_cache.v", 203: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awid' +"../rtl/data_cache/data_cache.v", 253: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awaddr' +"../rtl/data_cache/data_cache.v", 254: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awlen' +"../rtl/data_cache/data_cache.v", 255: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awsize' +"../rtl/data_cache/data_cache.v", 256: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awburst' +"../rtl/data_cache/data_cache.v", 257: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awlock' +"../rtl/data_cache/data_cache.v", 258: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awcache' +"../rtl/data_cache/data_cache.v", 259: + +*Warning* port sizes differ (5 vs 4) in port connection (port axi_m_awcache) +"../rtl/data_cache/data_cache.v", 259: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awprot' +"../rtl/data_cache/data_cache.v", 260: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awqos' +"../rtl/data_cache/data_cache.v", 261: + +*Warning* port sizes differ (5 vs 4) in port connection (port axi_m_awqos) +"../rtl/data_cache/data_cache.v", 261: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_awvalid' +"../rtl/data_cache/data_cache.v", 262: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_wid' +"../rtl/data_cache/data_cache.v", 264: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_wdata' +"../rtl/data_cache/data_cache.v", 265: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_wstrb' +"../rtl/data_cache/data_cache.v", 266: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_wlast' +"../rtl/data_cache/data_cache.v", 267: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_wvalid' +"../rtl/data_cache/data_cache.v", 268: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_m_bready' +"../rtl/data_cache/data_cache.v", 273: + +*Error* illegal output port on instance 'u_axi_write_ctrl' port 'axi_busy' +"../rtl/data_cache/data_cache.v", 274: +Total 28 error(s), 2 warning(s) diff --git a/sim/verdiLog/exe.log b/sim/verdiLog/exe.log new file mode 100644 index 0000000..e69de29 diff --git a/sim/verdiLog/novas.log b/sim/verdiLog/novas.log new file mode 100644 index 0000000..157ce72 --- /dev/null +++ b/sim/verdiLog/novas.log @@ -0,0 +1,10 @@ +Verdi (R) + +Release Verdi_O-2018.09-SP2 for (RH Linux x86_64/64bit) -- Thu Feb 21 04:40:56 PDT 2019 + +Copyright (c) 1999 - 2019 Synopsys, Inc. +This software and the associated documentation are proprietary to Synopsys, Inc. +This software may only be used in accordance with the terms and conditions of a written license agreement with Synopsys, Inc. +All other use, reproduction, or distribution of this software is strictly prohibited. + + diff --git a/sim/verdiLog/novas.rc b/sim/verdiLog/novas.rc new file mode 100644 index 0000000..c9dcadb --- /dev/null +++ b/sim/verdiLog/novas.rc @@ -0,0 +1,1369 @@ +@verdi rc file Version 1.0 +[Library] +work = ./work +[Annotation] +3D_Active_Annotation = FALSE +[CommandSyntax.finsim] +InvokeCommand = +FullFileName = TRUE +Separator = . +SimPromptSign = ">" +HierNameLevel = 1 +RunContinue = "continue" +Finish = "quit" +UseAbsTime = FALSE +NextTime = "run 1" +NextNTime = "run ${SimBPTime}" +NextEvent = "run 1" +Reset = +ObjPosBreak = "break posedge ${SimBPObj}" +ObjNegBreak = "break negedge ${SimBPObj}" +ObjAnyBreak = "break change ${SimBPObj}" +ObjLevelBreak = +LineBreak = "breakline ${SimBPFile} ${SimBPLine}" +AbsTimeBreak = "break abstimeaf ${SimBPTime}" +RelTimeBreak = "break reltimeaf ${SimBPTime}" +EnableBP = "breakon ${SimBPId}" +DisableBP = "breakoff ${SimBPId}" +DeleteBP = "breakclr ${SimBPId}" +DeleteAllBP = "breakclr" +SimSetScope = "cd ${SimDmpObj}" +[CommandSyntax.ikos] +InvokeCommand = "setvar debussy true;elaborate -p ${SimTop} -s ${SimArch}; run until 0;fsdbInteractive; " +FullFileName = TRUE +NeedTimeUnit = TRUE +NormalizeTimeUnit = TRUE +Separator = / +HierNameLevel = 2 +RunContinue = "run" +Finish = "exit" +NextTime = "run ${SimBPTime} ${SimTimeUnit}" +NextNTime = "run for ${SimBPTime} ${SimTimeUnit}" +NextEvent = "step 1" +Reset = "reset" +ObjPosBreak = "stop if ${SimBPObj} = \"'1'\"" +ObjNegBreak = "stop if ${SimBPObj} = \"'0'\"" +ObjAnyBreak = +ObjLevelBreak = "stop if ${SimBPObj} = ${SimBPValue}" +LineBreak = "stop at ${SimBPFile}:${SimBPLine}" +AbsTimeBreak = +RelTimeBreak = +EnableBP = "enable ${SimBPId}" +DisableBP = "disable ${SimBPId}" +DeleteBP = "delete ${SimBPId}" +DeleteAllBP = "delete *" +[CommandSyntax.verisity] +InvokeCommand = +FullFileName = FALSE +Separator = . +SimPromptSign = "> " +HierNameLevel = 1 +RunContinue = "." +Finish = "$finish;" +NextTime = "$db_steptime(1);" +NextNTime = "$db_steptime(${SimBPTime});" +NextEvent = "$db_step;" +SimSetScope = "$scope(${SimDmpObj});" +Reset = "$reset;" +ObjPosBreak = "$db_breakonposedge(${SimBPObj});" +ObjNegBreak = "$db_breakonnegedge(${SimBPObj});" +ObjAnyBreak = "$db_breakwhen(${SimBPObj});" +ObjLevelBreak = "$db_breakwhen(${SimBPObj}, ${SimBPValue});" +LineBreak = "$db_breakatline(${SimBPLine}, ${SimBPScope}, \"${SimBPFile}\");" +AbsTimeBreak = "$db_breakbeforetime(${SimBPTime});" +RelTimeBreak = "$db_breakbeforetime(${SimBPTime});" +EnableBP = "$db_enablebreak(${SimBPId});" +DisableBP = "$db_disablebreak(${SimBPId});" +DeleteBP = "$db_deletebreak(${SimBPId});" +DeleteAllBP = "$db_deletebreak;" +FSDBInit = "$novasInteractive;" +FSDBDumpvars = "$novasDumpvars(0, ${SimDmpObj});" +FSDBDumpsingle = "$novasDumpsingle(${SimDmpObj});" +FSDBDumpvarsInFile = "$novasDumpvarsToFile(\"${SimDmpFile}\");" +FSDBDumpMem = "$novasDumpMemNow(${SimDmpObj}, ${SimDmpBegin}, ${SimDmpSize});" +[CoverageDetail] +cross_filter_limit = 1000 +branch_limit_vector_display = 50 +showgrid = TRUE +reuseFirst = TRUE +justify = TRUE +scrollbar_mode = per pane +test_combo_left_truncate = TRUE +instance_combo_left_truncate = TRUE +loop_navigation = TRUE +condSubExpr = 20 +tglMda = 1000 +linecoverable = 100000 +lineuncovered = 50000 +tglcoverable = 30000 +tgluncovered = 30000 +pendingMax = 1000 +show_full_more = FALSE +[CoverageHier] +showgrid = FALSE +[CoverageWeight] +Assert = 1 +Covergroup = 1 +Line = 1 +Condition = 1 +Toggle = 1 +FSM = 1 +Branch = 1 +[DesignTree] +IfShowModule = {TRUE, FALSE} +[DisabledMessages] +version = Verdi_O-2018.09-SP2 +[Editor] +editorName = TurboEditor +[Emacs] +EmacsFont = "Clean 14" +EmacsBG = white +EmacsFG = black +[Exclusion] +enableAsDefault = TRUE +saveAsDefault = TRUE +saveManually = TRUE +illegalBehavior = FALSE +DisplayExcludedItem = FALSE +adaptiveExclusion = TRUE +warningExcludeInstance = TRUE +favorite_exclude_annotation = "" +[FSM] +viewport = 65 336 387 479 +WndBk-FillColor = Gray3 +Background-FillColor = gray5 +prefKey_Link-FillColor = yellow4 +prefKey_Link-TextColor = black +Trap = red3 +Hilight = blue4 +Window = Gray3 +Selected = white +Trans. = green2 +State = black +Init. = black +SmartTips = TRUE +VectorFont = FALSE +StopAskBkgndColor = FALSE +ShowStateAction = FALSE +ShowTransAction = FALSE +ShowTransCond = FALSE +StateLable = NAME +StateValueRadix = ORIG +State-LineColor = ID_BLACK +State-LineWidth = 1 +State-FillColor = ID_BLUE2 +State-TextColor = ID_WHITE +Init_State-LineColor = ID_BLACK +Init_State-LineWidth = 2 +Init_State-FillColor = ID_YELLOW2 +Init_State-TextColor = ID_BLACK +Reset_State-LineColor = ID_BLACK +Reset_State-LineWidth = 2 +Reset_State-FillColor = ID_YELLOW7 +Reset_State-TextColor = ID_BLACK +Trap_State-LineColor = ID_RED2 +Trap_State-LineWidth = 2 +Trap_State-FillColor = ID_CYAN5 +Trap_State-TextColor = ID_RED2 +State_Action-LineColor = ID_BLACK +State_Action-LineWidth = 1 +State_Action-FillColor = ID_WHITE +State_Action-TextColor = ID_BLACK +Junction-LineColor = ID_BLACK +Junction-LineWidth = 1 +Junction-FillColor = ID_GREEN2 +Junction-TextColor = ID_BLACK +Connection-LineColor = ID_BLACK +Connection-LineWidth = 1 +Connection-FillColor = ID_GRAY5 +Connection-TextColor = ID_BLACK +prefKey_Port-LineColor = ID_BLACK +prefKey_Port-LineWidth = 1 +prefKey_Port-FillColor = ID_ORANGE6 +prefKey_Port-TextColor = ID_YELLOW2 +Transition-LineColor = ID_BLACK +Transition-LineWidth = 1 +Transition-FillColor = ID_WHITE +Transition-TextColor = ID_BLACK +Trans_Condition-LineColor = ID_BLACK +Trans_Condition-LineWidth = 1 +Trans_Condition-FillColor = ID_WHITE +Trans_Condition-TextColor = ID_ORANGE2 +Trans_Action-LineColor = ID_BLACK +Trans_Action-LineWidth = 1 +Trans_Action-FillColor = ID_WHITE +Trans_Action-TextColor = ID_GREEN2 +SelectedSet-LineColor = ID_RED2 +SelectedSet-LineWidth = 1 +SelectedSet-FillColor = ID_RED2 +SelectedSet-TextColor = ID_WHITE +StickSet-LineColor = ID_ORANGE5 +StickSet-LineWidth = 1 +StickSet-FillColor = ID_PURPLE6 +StickSet-TextColor = ID_BLACK +HilightSet-LineColor = ID_RED5 +HilightSet-LineWidth = 1 +HilightSet-FillColor = ID_RED7 +HilightSet-TextColor = ID_BLUE5 +ControlPoint-LineColor = ID_BLACK +ControlPoint-LineWidth = 1 +ControlPoint-FillColor = ID_WHITE +Bundle-LineColor = ID_BLACK +Bundle-LineWidth = 1 +Bundle-FillColor = ID_WHITE +Bundle-TextColor = ID_BLUE4 +QtBackground-FillColor = ID_GRAY6 +prefKey_Link-LineColor = ID_ORANGE2 +prefKey_Link-LineWidth = 1 +Selection-LineColor = ID_BLUE2 +Selection-LineWidth = 1 +[FSM_Dlg-Print] +Orientation = Landscape +[FileBrowser] +nWaveOpenFsdbDirHistory = "\"/home/ICer/ic_prjs/IPA/sim/tb.fsdb\"" +[Form] +version = Verdi_O-2018.09-SP2 +[General] +autoSaveSession = FALSE +TclAutoSource = +cmd_enter_form = FALSE +SyncBrowserDir = TRUE +version = Verdi_O-2018.09-SP2 +SignalCaseInSensitive = FALSE +ShowWndCtntDuringResizing = FALSE +[GlobalProp] +ErrWindow_Font = Helvetica_M_R_12 +[Globals] +app_default_font = Bitstream Vera Sans,10,-1,5,50,0,0,0,0,0 +app_fixed_width_font = Courier,10,-1,5,50,0,0,0,0,0 +text_encoding = Unicode(utf8) +smart_resize = TRUE +smart_resize_child_limit = 2000 +tooltip_max_width = 200 +tooltip_max_height = 20 +tooltip_viewer_key = F3 +tooltip_display_time = 1000 +bookmark_name_length_limit = 12 +disable_tooltip = FALSE +auto_load_source = TRUE +max_array_size = 4096 +filter_when_typing = TRUE +filter_keep_children = TRUE +filter_syntax = Wildcards +filter_keystroke_interval = 800 +filter_case_sensitive = FALSE +filter_full_path = FALSE +load_detail_for_funcov = FALSE +sort_limit = 100000 +ignoreDBVersionChecking = FALSE +[HB] +ViewSchematic = FALSE +windowLayout = 0 0 804 500 182 214 804 148 +import_filter = *.v; *.vc; *.f +designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-* +import_filter_vhdl = *.vhd; *.vhdl; *.f +import_default_language = Verilog +import_filter_verilog = *.v; *.vc; *.f +simulation_file_type = *.fsdb;*.fsdb.gz;*.fsdb.bz2;*.ff;*.dump +PrefetchViewableAnnot = TRUE +[Hier] +filterTimeout = 1500 +[ImportLiberty] +SearchPriority = .lib++ +bSkipStateCell = False +bImportPowerInfo = False +bSkipFFCell = False +bScpecifyCellNameCase = False +bSpecifyPinNameCase = False +CellNameToCase = +PinNameToCase = +[InteractiveDebug] +tbvLocalWatchArrayLimit = 50 +Watch_0 = 150 80 1032 0 +Watch_1 = 150 80 80 948 +Watch_2 = 150 80 80 200 +Watch_3 = 150 80 80 200 +Watch_4 = 150 80 80 200 +Watch_5 = 150 80 80 200 +[Language] +EditWindow_Font = COURIER12 +Background = ID_WHITE +Comment = ID_GRAY4 +Keyword = ID_BLUE5 +UserKeyword = ID_GREEN2 +Text = ID_BLACK +SelText = ID_WHITE +SelBackground = ID_BLUE2 +[Library.Ikos] +pack = ./work.lib++ +vital = ./work.lib++ +work = ./work.lib++ +std = ${dls_std}.lib++ +ieee = ${dls_ieee}.lib++ +synopsys = ${dls_synopsys}.lib++ +silc = ${dls_silc}.lib++ +ikos = ${dls_ikos}.lib++ +novas = ${VOYAGER_LIB_VHDL}/${VOYAGER_MACHINE}/novas.lib++ +[MDT] +ART_RF_SP = spr[0-9]*bx[0-9]* +ART_RF_2P = dpr[0-9]*bx[0-9]* +ART_SRAM_SP = spm[0-9]*bx[0-9]* +ART_SRAM_DP = dpm[0-9]*bx[0-9]* +VIR_SRAM_SP = hdsd1_[0-9]*x[0-9]*cm4sw1 +VIR_SRAM_DP = hdsd2_[0-9]*x[0-9]*cm4sw1 +VIR_RF_SP = rfsd1_[0-9]*x[0-9]*cm2sw0 +VIR_RF_DP = rfsd2_[0-9]*x[0-9]*cm2sw1 +VIR_STAR_SRAM_SP = shsd1_[0-9]*x[0-9]*cm4sw0 +[NPExpanding] +functiongroups = FALSE +modules = FALSE +[NPFilter] +showAssertion = TRUE +showCoverGroup = TRUE +showProperty = TRUE +showSequence = TRUE +showDollarUnit = TRUE +[OldFontRC] +Wave_legend_window_font = -f COURIER12 -c ID_CYAN5 +Wave_value_window_font = -f COURIER12 -c ID_CYAN5 +Wave_curve_window_font = -f COURIER12 -c ID_CYAN5 +Wave_group_name_font = -f COURIER12 -c ID_GREEN5 +Wave_ruler_value_font = -f COURIER12 -c ID_CYAN5 +Wave_analog_ruler_value_font = -f COURIER12 -c ID_CYAN5 +Wave_comment_string_font = -f COURIER12 -c ID_RED5 +HB_designTreeFont = *-adobe-courier-medium-r-*-*-12-*-*-*-*-*-iso8859-* +Text_font = COURIER12 +nMemory_font = Fixed 14 +Wave_getsignal_form_font = -f COURIER12 +Text_annotFont = Helvetica_M_R_10 +[OtherEditor] +cmd1 = "xterm -font 9x15 -fg black -bg gray -e" +name = "vi" +options = "+${CurLine} ${CurFullFileName}" +[Power] +PowerDownInstance = ID_GRAY1 +RetentionSignal = ID_YELLOW2 +IsolationSignal = ID_RED6 +LevelShiftedSignal = ID_GREEN6 +PowerSwitchObject = ID_ORANGE5 +AlwaysOnObject = ID_GREEN5 +PowerNet = ID_RED2 +GroundNet = ID_RED2 +SimulationOnly = ID_CYAN3 +SRSN/SPA = ID_CYAN3 +CNSSignal = ID_CYAN3 +RPTRSignal = ID_CYAN3 +AcknowledgeSignal = ID_CYAN3 +BoundaryPort = ID_CYAN3 +DisplayInstrumentedCell = TRUE +ShowCmdByFile = FALSE +ShowPstAnnot = FALSE +ShowIsoSymbol = TRUE +ExtractIsoSameNets = FALSE +AnnotateSignal = TRUE +HighlightPowerObject = TRUE +HighlightPowerDomain = TRUE +TraceThroughInstruLowPower = FALSE +BrightenPowerColorInSchematicWindow = FALSE +ShowAlias = FALSE +ShowVoltage = TRUE +MatchTreeNodesCaseInsensitive = FALSE +SearchHBNodeDynamically = FALSE +ContinueTracingSupplyOrLogicNet = FALSE +[Print] +PrinterName = lp +FileName = test.ps +PaperSize = A4 - 210x297 (mm) +ColorPrint = FALSE +[PropertyTools] +saveWaveformStat = TRUE +savePropStat = FALSE +savePropDtl = TRUE +[QtDialog] +highlightColor = 301,361,675,327 +ActiveFileDialog = 410,388,458,272 +SignalTypeDialog = 365,239,507,391 +importDesignForm = 281,237,715,574 +QwWarnMsgDlg = 330,736,600,250 +openFileDlg = 338,283,602,483 +qWaveSignalDialog = 239,285,800,479 +QwUserAskDlg = 478,459,324,134 +[Relationship] +hideRecursiceNode = FALSE +[Session Cache] +2 = string (session file name) +3 = string (session file name) +4 = string (session file name) +5 = string (session file name) +1 = /home/ICer/ic_prjs/IPA/sim/verdiLog/novas_autosave.ses +[Simulation] +scsPath = scsim +scsOption = +xlPath = verilog +xlOption = +ncPath = ncsim +ncOption = -f ncsim.args +osciPath = gdb +osciOption = +vcsPath = simv +vcsOption = +mtiPath = vsim +mtiOption = +vhncPath = ncsim +vhncOption = -log debussy.nc.log +mixncPath = ncsim +mixncOption = -log debussy.mixnc.log +speedsimPath = +speedsimOption = +mti_vlogPath = vsim +mti_vlogOption = novas_vlog +vcs_mixPath = simv +vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd" +scs_mixPath = scsim +scs_mixOption = -vhpi debussy:FSDBDumpCmd +interactiveDebugging = {True, False} +KeepBreakPoints = False +ScsDebugAll = False +simType = {vcssv, xl, nc, vcs, mti, mti_vlog, vhnc, scs, mixnc} +thirdpartyIdx = -1 +iscCmdSep = FALSE +NoAppendOption = False +[SimulationPlus] +xlPath = verilog +xlOption = +ncPath = ncsim +ncOption = -f ncsim.args +vcsPath = simv +vcsOption = +mti_vlogPath = vsim +mti_vlogOption = novas_vlog +mtiPath = vsim +mtiOption = +vhncPath = ncsim +vhncOption = -log debussy.nc.log +speedsimPath = verilog +speedsimOption = +mixncPath = ncsim +mixncOption = -log debussy.mixnc.log +scsPath = scsim +scsOption = +vcs_mixPath = simv +vcs_mixOption = -vhdlrun "-vhpi debussy:FSDBDumpCmd" +scs_mixPath = scsim +scs_mixOption = -vhpi debussy:FSDBDumpCmd +vcs_svPath = simv +simType = vcssv +thirdpartyIdx = -1 +interactiveDebugging = FALSE +KeepBreakPoints = FALSE +iscCmdSep = FALSE +ScsDebugAll = FALSE +NoAppendOption = FALSE +invokeSimPath = work +vcs_svOption = -sml=verdi +smartlog = TRUE +[SimulationPlus2] +dumpPowerRoot = FALSE +eventDumpUnfinish = FALSE +[Source] +wordWrapOn = TRUE +viewReuse = TRUE +lineNumberOn = TRUE +warnOutdatedDlg = TRUE +showEncrypt = FALSE +loadInclude = FALSE +showColorForActive = FALSE +tabWidth = 8 +editor = vi +reload = Never +sync_active_to_source = TRUE +navigateAsColored = FALSE +navigateCovered = FALSE +navigateUncovered = TRUE +navigateExcluded = FALSE +not_ask_for_source_path = FALSE +expandMacroOn = TRUE +expandMacroInstancesThreshold = 10000 +[SourceVHDL] +vhSimType = ModelSim +ohSimType = VCS +[TclShell] +nLineSize = 1024 +[Test] +verbose_progress = FALSE +[TestBenchBrowser] +DataViewTooltip = TRUE +-showUVMDynamicHierTreeWin = FALSE +[Text] +hdlTypeName = blue4 +hdlLibrary = blue4 +viewport = 396 392 445 487 +hdlOther = ID_BLACK +hdlComment = ID_GRAY1 +hdlKeyword = ID_BLUE5 +hdlEntity = ID_BLACK +hdlEntityInst = ID_BLACK +hdlSignal = ID_RED2 +hdlInSignal = ID_RED2 +hdlOutSignal = ID_RED2 +hdlInOutSignal = ID_RED2 +hdlOperator = ID_BLACK +hdlMinus = ID_BLACK +hdlSymbol = ID_BLACK +hdlString = ID_BLACK +hdlNumberBase = ID_BLACK +hdlNumber = ID_BLACK +hdlLiteral = ID_BLACK +hdlIdentifier = ID_BLACK +hdlSystemTask = ID_BLACK +hdlParameter = ID_BLACK +hdlIncFile = ID_BLACK +hdlDataFile = ID_BLACK +hdlCDSkipIf = ID_GRAY1 +hdlMacro = ID_BLACK +hdlMacroValue = ID_BLACK +hdlPlainText = ID_BLACK +hdlOvaId = ID_PURPLE2 +hdlPslId = ID_PURPLE2 +HvlEId = ID_BLACK +HvlVERAId = ID_BLACK +hdlEscSignal = ID_BLACK +hdlEscInSignal = ID_BLACK +hdlEscOutSignal = ID_BLACK +hdlEscInOutSignal = ID_BLACK +textBackgroundColor = ID_GRAY6 +textHiliteBK = ID_BLUE5 +textHiliteText = ID_WHITE +textTracedMark = ID_GREEN2 +textLineNo = ID_BLACK +textFoldedLineNo = ID_RED5 +textUserKeyword = ID_GREEN2 +textParaAnnotText = ID_BLACK +textFuncAnnotText = ID_BLUE2 +textAnnotText = ID_BLACK +textUserDefAnnotText = ID_BLACK +ComputedSignal = ID_PURPLE5 +textAnnotTextShadow = ID_WHITE +parenthesisBGColor = ID_YELLOW5 +codeInParenthesis = ID_CYAN5 +text3DLight = ID_WHITE +text3DShadow = ID_BLACK +textHvlDriver = ID_GREEN3 +textHvlLoad = ID_YELLOW3 +textHvlDriverLoad = ID_BLUE3 +irOutline = ID_RED2 +irDriver = ID_YELLOW5 +irLoad = ID_BLACK +irBookMark = ID_YELLOW2 +irIndicator = ID_WHITE +irBreakpoint = ID_GREEN5 +irCurLine = ID_BLUE5 +hdlVhEntity = ID_BLACK +hdlArchitecture = ID_BLACK +hdlPackage = ID_BLUE5 +hdlRefPackage = ID_BLUE5 +hdlAlias = ID_BLACK +hdlGeneric = ID_BLUE5 +specialAnnotShadow = ID_BLUE1 +hdlZeroInHead = ID_GREEN2 +hdlZeroInComment = ID_GREEN2 +hdlPslHead = ID_BLACK +hdlPslComment = ID_BLACK +hdlSynopsysHead = ID_GREEN2 +hdlSynopsysComment = ID_GREEN2 +pdmlIdentifier = ID_BLACK +pdmlCommand = ID_BLACK +pdmlMacro = ID_BLACK +font = COURIER12 +annotFont = Helvetica_M_R_10 +[Text.1] +viewport = -1 27 1280 921 45 +[TextPrinter] +Orientation = Landscape +Indicator = FALSE +LineNum = TRUE +FontSize = 7 +Column = 2 +Annotation = TRUE +[Texteditor] +TexteditorFont = "Clean 14" +TexteditorBG = white +TexteditorFG = black +[ThirdParty] +ThirdPartySimTool = verisity surefire ikos finsim +[TurboEditor] +autoBackup = TRUE +[UserButton.mixnc] +Button1 = "Dump All Signals" "call fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000 -relative\n" +Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n" +Button4 = "Run Next" "run -next\n" +Button5 = "Run Step" "run -step\n" +Button6 = "Run Return" "run -return\n" +Button7 = "Show Variables" "value {${NCSelVars}}\n" +Button8 = "FSDB Ver" "call fsdbVersion" +Button9 = "Dump On" "call fsdbDumpon" +Button10 = "Dump Off" "call fsdbDumpoff" +Button11 = "All Tasks" "call" +Button12 = "Dump Selected Instance" "call fsdbDumpvars 1 ${SelInst}" +[UserButton.mti] +Button1 = "Dump All Signals" "fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000\n" +Button3 = "Next ? Time" "run ${Arg:Next Time}\n" +Button4 = "Show Variables" "exa ${SelVars}\n" +Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n" +Button6 = "Release Variable" "noforce ${SelVar}\n" +Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n" +[UserButton.mti_vlog] +Button1 = "Dump All Signals" "fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000\n" +Button3 = "Next ? Time" "run ${Arg:Next Time}\n" +Button4 = "Show Variables" "exa ${SelVars}\n" +Button5 = "Force Variable" "force -freeze ${SelVar} ${Arg:New Value} 0\n" +Button6 = "Release Variable" "noforce ${SelVar}\n" +Button7 = "Deposit Variable" "force -deposit ${SelVar} ${Arg:New Value} 0\n" +[UserButton.nc] +Button1 = "Dump All Signals" "call fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000 -relative\n" +Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n" +Button4 = "Run Next" "run -next\n" +Button5 = "Run Step" "run -step\n" +Button6 = "Run Return" "run -return\n" +Button7 = "Show Variables" "value {${NCSelVars}}\n" +[UserButton.scs] +Button1 = "Dump All Signals" "call fsdbDumpvars(0, \"${TopScope}\");\n" +Button2 = "Next 1000 Time" "run 1000 \n" +Button3 = "Next ? Time" "run ${Arg:Next Time} \n" +Button4 = "Run Step" "step\n" +Button5 = "Show Variables" "ls -v {${SelVars}}\n" +[UserButton.vhnc] +Button1 = "Dump All Signals" "call fsdbDumpvars\n" +Button2 = "Next 1000 Time" "run 1000 -relative\n" +Button3 = "Next ? Time" "run ${Arg:Next Time} -relative\n" +Button4 = "Run Next" "run -next\n" +Button5 = "Run Step" "run -step\n" +Button6 = "Run Return" "run -return\n" +Button7 = "Show Variables" "value {${NCSelVars}}\n" +[UserButton.xl] +Button13 = "Dump Off" "$fsdbDumpoff;\n" +Button12 = "Dump On" "$fsdbDumpon;\n" +Button11 = "Delete Focus" "$db_deletefocus(${treeSelScope});\n" +Button10 = "Set Focus" "$db_setfocus(${treeSelScope});\n" +Button9 = "Deposit Variable" "$deposit(${SelVar},${Arg:New Value});\n" +Button8 = "Release Variable" "release ${SelVar};\n" +Button7 = "Force Variable" "force ${SelVar} = ${Arg:New Value};\n" +Button6 = "Show Variables" "$showvars(${SelVars});\n" +Button5 = "Next ? Event" "$db_step(${Arg:Next Event});\n" +Button4 = "Next Event" "$db_step(1);\n" +Button3 = "Next ? Time" "#${Arg:Next Time} $stop;.\n" +Button2 = "Next 1000 Time" "#1000 $stop;.\n" +Button1 = "Dump All Signals" "$fsdbDumpvars;\n" +[VIA] +viaLogViewerDefaultRuleInterForm = "share/VIA/Apps/PredefinedRules/UVM_OVM_i_rule.rc" +viaLogViewerDefaultRuleOneSearchForm = "share/VIA/Apps/PredefinedRules/Misc/Onesearch_rule.rc" +[VIA.interactiveDebug.preference] +DefaultDisplayTimeUnit = "1.000000ns" +DefaultLogTimeUnit = "1.000000ns" +[VIA.interactiveDebug.preference.vgifColumnSettingRC] +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0] +parRuleSets = "/home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRules/par_rule_OVM.rc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRules/par_rule_UVM.rc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRule\ +s/par_rule_LP.rc /home/synopsys/verdi/Verdi_O-2018.09-SP2/share/VIA/Apps/PredefinedParRules/par_rule_VCS.rc " +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column0] +name = Time +width = 60 +visualIndex = 0 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column1] +name = Message +width = 2000 +visualIndex = 4 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column2] +name = Code +width = 60 +visualIndex = 2 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column3] +name = Type +width = 60 +visualIndex = 3 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.interactiveDebug.preference.vgifColumnSettingRC.setting0.column4] +name = Severity +width = 60 +visualIndex = 1 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference] +DefaultDisplayTimeUnit = "1.000000ns" +DefaultLogTimeUnit = "1.000000ns" +[VIA.oneSearch.preference.vgifColumnSettingRC] +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0] +parRuleSets = "" +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column0] +name = Time +width = 60 +visualIndex = 0 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column1] +name = Severity +width = 60 +visualIndex = 1 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column2] +name = Code +width = 60 +visualIndex = 2 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column3] +name = Type +width = 60 +visualIndex = 3 +isHidden = TRUE +isUserChangeColumnVisible = FALSE +[VIA.oneSearch.preference.vgifColumnSettingRC.setting0.column4] +name = Message +width = 2000 +visualIndex = 4 +isHidden = FALSE +isUserChangeColumnVisible = FALSE +[VIA.parRule] +parRulePathInterForm = "" +[Vi] +ViFont = "Clean 14" +ViBG = white +ViFG = black +[Wave] +ovaEventSuccessColor = -c ID_CYAN5 +ovaEventFailureColor = -c ID_RED5 +ovaBooleanSuccessColor = -c ID_CYAN5 +ovaBooleanFailureColor = -c ID_RED5 +ovaAssertSuccessColor = -c ID_GREEN5 +ovaAssertFailureColor = -c ID_RED5 +ovaForbidSuccessColor = -c ID_GREEN5 +SigGroupRuleFile = +DisplayFileName = FALSE +waveform_vertical_scroll_bar = TRUE +scope_to_save_with_macro +open_file_dir +open_rc_file_dir +getSignalForm = 239 248 800 479 245 381 505 183 +viewPort = 0 27 1280 816 226 91 +signalSpacing = 5 +digitalSignalHeight = 15 +analogSignalHeight = 98 +commentSignalHeight = 98 +transactionSignalHeight = 98 +messageSignalHeight = 98 +minCompErrWidth = 4 +DragZoomTolerance = 4 +maxTransExpandedLayer = 10 +WaveMaxPoint = 512 +legendBackground = -c ID_BLACK +valueBackground = -c ID_BLACK +curveBackground = -c ID_BLACK +getSignalSignalList_BackgroundColor = -c ID_GRAY6 +glitchColor = -c ID_RED5 +cursor = -c ID_YELLOW5 -lw 1 -ls long_dashed +marker = -c ID_WHITE -lw 1 -ls dash_dot_l +usermarker = -c ID_GREEN5 -lw 1 -ls long_dashed +trace = -c ID_GRAY5 -lw 1 -ls long_dashed +grid = -c ID_WHITE -lw 1 -ls short_dashed +rulerBackground = -c ID_GRAY3 +rulerForeground = -c ID_YELLOW5 +busTextColor = -c ID_ORANGE8 +legendForeground = -c ID_CYAN5 +valueForeground = -c ID_CYAN5 +curveForeground = -c ID_CYAN5 +groupNameColor = -c ID_GREEN5 +commentStringColor = -c ID_RED5 +region(Active)Background = -c ID_YELLOW1 +region(NBA)Background = -c ID_RED1 +region(Re-Active)Background = -c ID_YELLOW3 +region(Re-NBA)Background = -c ID_RED3 +region(VHDL-Delta)Background = -c ID_ORANGE3 +region(Dump-Off)Background = -c ID_GRAY4 +High_Light = -c ID_GRAY2 +Input_Signal = -c ID_RED5 +Output_Signal = -c ID_GREEN5 +InOut_Signal = -c ID_BLUE5 +Net_Signal = -c ID_YELLOW5 +Register_Signal = -c ID_PURPLE5 +Verilog_Signal = -c ID_CYAN5 +VHDL_Signal = -c ID_ORANGE5 +SystemC_Signal = -c ID_BLUE7 +Dump_Off_Color = -c ID_BLUE2 +Compress_Bar_Color = -c ID_YELLOW4 +Vector_Dense_Block_Color = -c ID_ORANGE8 +Scalar_Dense_Block_Color = -c ID_GREEN6 +Analog_Dense_Block_Color = -c ID_PURPLE2 +Composite_Dense_Block_Color = -c ID_ORANGE5 +RPTR_Power_Off_Layer = -c ID_CYAN3 -stipple dots +DB_Power_Off_Layer = -c ID_BLUE4 -stipple dots +SPA_Driver_Power_Off_Layer = -c ID_ORANGE4 -stipple dots +SPA_Receiver_Power_Off_Layer = -c ID_GREEN5 -stipple dots +SRSN_Power_Off_Layer = -c ID_GREEN4 -stipple dots +Isolation_Power_Off_Layer = -c ID_RED4 -stipple dots +PD_Power_Off_Layer = -c ID_GRAY4 -stipple dots +Isolation_Layer = -c ID_RED4 -stipple vLine +Retention_Level_Trigger_Layer = -c ID_ORANGE1 -stipple fill_solid +Retention_Edge_Trigger_Layer = -c ID_YELLOW6 -stipple fill_solid +Driving_Power_Off_Layer = -c ID_YELLOW2 -stipple x +Toggle_Layer = -c ID_YELLOW4 -stipple slash +analogRealStyle = pwl +analogVoltageStyle = pwl +analogCurrentStyle = pwl +analogOthersStyle = pwl +busSignalLayer = -c ID_ORANGE8 +busXLayer = -c ID_RED5 +busZLayer = -c ID_ORANGE6 +busMixedLayer = -c ID_GREEN5 +busNotComputedLayer = -c ID_GRAY1 +busNoValueLayer = -c ID_BLUE2 +signalGridLayer = -c ID_WHITE +analogGridLayer = -c ID_GRAY6 +analogRulerLayer = -c ID_GRAY6 +keywordLayer = -c ID_RED5 +loadedLayer = -c ID_BLUE5 +loadingLayer = -c ID_BLACK +qdsCurMarkerLayer = -c ID_BLUE5 +qdsBrkMarkerLayer = -c ID_GREEN5 +qdsTrgMarkerLayer = -c ID_RED5 +arrowDefaultColor = -c ID_ORANGE6 +startNodeArrowColor = -c ID_WHITE +endNodeArrowColor = -c ID_YELLOW5 +propertyEventMatchColor = -c ID_GREEN5 +propertyEventNoMatchColor = -c ID_RED5 +propertyVacuousSuccessMatchColor = -c ID_YELLOW2 +propertyStatusBoundaryColor = -c ID_WHITE +propertyBooleanSuccessColor = -c ID_CYAN5 +propertyBooleanFailureColor = -c ID_RED5 +propertyAssertSuccessColor = -c ID_GREEN5 +propertyAssertFailureColor = -c ID_RED5 +propertyForbidSuccessColor = -c ID_GREEN5 +transactionForegroundColor = -c ID_YELLOW8 +transactionBackgroundColor = -c ID_BLACK +transactionHighLightColor = -c ID_CYAN6 +transactionRelationshipColor = -c ID_PURPLE6 +transactionErrorTypeColor = -c ID_RED5 +coverageFullyCoveredColor = -c ID_GREEN5 +coverageNoCoverageColor = -c ID_RED5 +coveragePartialCoverageColor = -c ID_YELLOW5 +coverageReferenceLineColor = -c ID_GRAY4 +messageForegroundColor = -c ID_YELLOW4 +messageBackgroundColor = -c ID_PURPLE1 +messageHighLightColor = -c ID_CYAN6 +messageInformationColor = -c ID_RED5 +ComputedAnnotColor = -c ID_PURPLE5 +fsvSecurityDataColor = -c ID_PURPLE3 +qdsAutoBusGroup = TRUE +qdsTimeStampMode = FALSE +qdsVbfBusOrderAscending = FALSE +openDumpFilter = *.fsdb;*.vf;*.jf +DumpFileFilter = *.vcd +RestoreSignalFilter = *.rc +SaveSignalFilter = *.rc +AddAliasFilter = *.alias;*.adb +CompareSignalFilter = *.err +ConvertFFFilter = *.vcd;*.out;*.tr0;*.xp;*.raw;*.wfm +Scroll_Ratio = 100 +Zoom_Ratio = 10 +EventSequence_SyncCursorTime = TRUE +EventSequence_Sorting = FALSE +EventSequence_RemoveGrid = FALSE +EventSequence_IsGridMode = FALSE +SetDefaultRadix_global = FALSE +DefaultRadix = Hex +SigSearchSignalMatchCase = FALSE +SigSearchSignalScopeOption = FALSE +SigSearchSignalSamenetInterface = FALSE +SigSearchSignalFullScope = FALSE +SigSearchSignalWithRegExp = FALSE +SigSearchDynamically = FALSE +SigDisplayBySelectionOrder = FALSE +SigDisplayRowMajor = FALSE +SigDragSelFollowColumn = FALSE +SigDisplayHierarchyBox = TRUE +SigDisplaySubscopeBox = TRUE +SigDisplayEmptyScope = TRUE +SigDisplaySignalNavigationBox = FALSE +SigDisplayFormBus = TRUE +SigShowSubProgram = TRUE +SigSearchScopeDynamically = TRUE +SigCollapseSubtreeNodes = FALSE +activeFileApplyToAnnotation = FALSE +GrpSelMode = TRUE +dispGridCount = FALSE +hierarchyName = FALSE +partial_level_name = FALSE +partial_level_head = 1 +partial_level_tail = 1 +displayMessageLabelOnly = TRUE +autoInsertDumpoffs = TRUE +displayMessageCallStack = FALSE +displayCallStackWithFullSections = TRUE +displayCallStackWithLastSection = FALSE +limitMessageMaxWidth = FALSE +messageMaxWidth = 50 +displayTransBySpecificColor = FALSE +fittedTransHeight = FALSE +snap = TRUE +gravitySnap = FALSE +displayLeadingZero = FALSE +displayGlitchs = FALSE +allfileTimeRange = FALSE +fixDelta = FALSE +displayCursorMarker = FALSE +autoUpdate = FALSE +restoreFromActiveFile = TRUE +restoreToEnd = FALSE +dispCompErr = TRUE +showMsgDes = TRUE +anaAutoFit = FALSE +anaAutoPattn = FALSE +anaAuto100VertFit = FALSE +displayDeltaY = FALSE +centerCursor = FALSE +denseBlockDrawing = TRUE +relativeFreqPrecision = 3 +showMarkerAbsolute = FALSE +showMarkerAdjacent = FALSE +showMarkerRelative = FALSE +showMarkerFrequency = FALSE +stickCursorMarkerOnWaveform = TRUE +keepMarkerAtEndTimeOfTransaction = FALSE +doubleClickToExpandTransaction = TRUE +expandTransactionAssociatedSignals = TRUE +expandTransactionAttributeSignals = FALSE +WaveExtendLastTick = TRUE +InOutSignal = FALSE +NetRegisterSignal = FALSE +VerilogVHDLSignal = FALSE +LabelMarker = TRUE +ResolveSymbolicLink = TRUE +signal_rc_abspath = TRUE +signal_rc_no_natural_bus_range = FALSE +save_scope_with_macro = FALSE +TipInSignalWin = FALSE +DisplayPackedSiganlInBitwiseManner = FALSE +DisplaySignalTypeAheadOfSignalName = TRUE ICON +TipInCurveWin = FALSE +MouseGesturesInCurveWin = TRUE +DisplayLSBsFirst = FALSE +PaintSpecificColorPattern = TRUE +ModuleName = TRUE +form_all_memory_signal = FALSE +formBusSignalFromPartSelects = FALSE +read_value_change_on_demand_for_drawing = FALSE +load_scopes_on_demand = on 5 +TransitionMode = TRUE +DisplayRadix = FALSE +SchemaX = FALSE +Hilight = TRUE +UseBeforeValue = FALSE +DisplayFileNameAheadOfSignalName = FALSE +DisplayFileNumberAheadOfSignalName = FALSE +DisplayValueSpace = TRUE +FitAnaByBusSize = FALSE +displayTransactionAttributeName = FALSE +expandOverlappedTrans = FALSE +dispSamplePointForAttrSig = TRUE +dispClassName = TRUE +ReloadActiveFileOnly = FALSE +NormalizeEVCD = FALSE +OverwriteAliasWithRC = TRUE +overlay_added_analog_signals = FALSE +case_insensitive = FALSE +vhdlVariableCalculate = TRUE +showError = TRUE +signal_vertical_scroll_bar = TRUE +showPortNameForDroppedInstance = FALSE +truncateFilePathInTitleBar = TRUE +filterPropVacuousSuccess = FALSE +includeLocalSignals = FALSE +encloseSignalsByGroup = TRUE +resaveSignals = TRUE +adjustBusPrefix = adjustBus_ +adjustBusBits = 1 +adjustBusSettings = 69889 +maskPowerOff = TRUE +maskIsolation = TRUE +maskRetention = TRUE +maskDrivingPowerOff = TRUE +maskToggle = TRUE +autoBackupSignals = off 5 "\"/home/ICer/ic_prjs/IPA/sim/verdiLog\"" "\"novas_autosave_sig\"" +signal_rc_attribute = 65535 +signal_rc_alias_attribute = 0 +ConvertAttr1 = -inc FALSE +ConvertAttr2 = -hier FALSE +ConvertAttr3 = -ucase FALSE +ConvertAttr4 = -lcase FALSE +ConvertAttr5 = -org FALSE +ConvertAttr6 = -mem 24 +ConvertAttr7 = -deli . +ConvertAttr8 = -hier_scope FALSE +ConvertAttr9 = -inst_array FALSE +ConvertAttr10 = -vhdlnaming FALSE +ConvertAttr11 = -orgScope FALSE +analogFmtPrecision = Automatic 2 +confirmOverwrite = TRUE +confirmExit = TRUE +confirmGetAll = TRUE +printTimeRange = TRUE 0.000000 0.000000 0.000000 +printPageRange = TRUE 1 1 +printOption = 0 +printBasic = 1 0 0 FALSE FALSE +printDest = -printer {} +printSignature = {%f %h %t} {} +curveWindow_Drag&Drop_Mode = TRUE +hspiceIncOpenMode = TRUE +pcSelectMode = TRUE +hierarchyDelimiter = / +RecentFile1 = "\"/home/ICer/ic_prjs/IPA/sim/tb.fsdb\"" +open_file_time_range = FALSE +value_window_aligment = Right +signal_window_alignment = Auto +ShowDeltaTime = TRUE +legend_window_font = -f COURIER12 -c ID_CYAN5 +value_window_font = -f COURIER12 -c ID_CYAN5 +curve_window_font = -f COURIER12 -c ID_CYAN5 +group_name_font = -f COURIER12 -c ID_GREEN5 +ruler_value_font = -f COURIER12 -c ID_CYAN5 +analog_ruler_value_font = -f COURIER12 -c ID_CYAN5 +comment_string_font = -f COURIER12 -c ID_RED5 +getsignal_form_font = -f COURIER12 +SigsCheckNum = on 1000 +filter_synthesized_net = off n +filterOutNet = on +filter_synthesized_instance = off +filterOutInstance = on +showGroupTree = TRUE +hierGroupDelim = / +MsgSeverityColor = {y \"Severity\"==\"1\" ID_RED5} {y \"Severity\"==\"2\" ID_RED6} {y \"Severity\"==\"3\" ID_RED7} {y \"Severity\"==\"4\" ID_RED8} {y \"Severity\"==\"5\" ID_ORANGE5} {y \"Severity\"==\"6\" ID_ORANGE6} {y \"Severity\"==\"7\" ID_ORANGE7} {y \"Severity\"==\"8\" \ +ID_GREEN7} {y \"Severity\"==\"9\" ID_GREEN6} {y \"Severity\"==\"10\" ID_GREEN5} +AutoApplySeverityColor = TRUE +AutoAdjustMsgWidthByLabel = off +verilogStrengthDispType = type1 +waveDblClkActiveTrace = on +autoConnectTBrowser = FALSE +connectTBrowserInContainer = TRUE +SEQShowComparisonIcon = TRUE +SEQAddDriverLoadInSameGroup = TRUE +autoSyncCursorMarker = FALSE +autoSyncHorizontalRange = FALSE +autoSyncVerticalScroll = FALSE +[cov_hier_name_column] +justify = TRUE +[coverageColors] +sou_uncov = TRUE +sou_pc = TRUE +sou_cov = TRUE +sou_exuncov = TRUE +sou_excov = TRUE +sou_unreach = TRUE +sou_unreachcon = TRUE +sou_fillColor_uncov = red +sou_fillColor_pc = yellow +sou_fillColor_cov = green3 +sou_fillColor_exuncov = grey +sou_fillColor_excov = #3C9371 +sou_fillColor_unreach = grey +sou_fillColor_unreachcon = orange +numberOfBins = 6 +rangeMin_0 = 0 +rangeMax_0 = 20 +fillColor_0 = #FF6464 +rangeMin_1 = 20 +rangeMax_1 = 40 +fillColor_1 = #FF9999 +rangeMin_2 = 40 +rangeMax_2 = 60 +fillColor_2 = #FF8040 +rangeMin_3 = 60 +rangeMax_3 = 80 +fillColor_3 = #FFFF99 +rangeMin_4 = 80 +rangeMax_4 = 100 +fillColor_4 = #99FF99 +rangeMin_5 = 100 +rangeMax_5 = 100 +fillColor_5 = #64FF64 +[coveragesetting] +assertTopoMode = FALSE +urgAppendOptions = +group_instance_new_format_name = TRUE +showvalue = FALSE +computeGroupsScoreByRatio = FALSE +computeGroupsScoreByInst = FALSE +showConditionId = FALSE +showfullhier = FALSE +nameLeftAlignment = TRUE +showAllInfoInTooltips = FALSE +copyItemHvpName = TRUE +ignoreGroupWeight = FALSE +absTestName = FALSE +HvpMergeTool = +ShowMergeMenuItem = FALSE +fsmScoreMode = transition +[eco] +NameRule = +IsFreezeSilicon = FALSE +cellQuantityManagement = FALSE +ManageMode = INSTANCE_NAME +SpareCellsPinsManagement = TRUE +LogCommitReport = FALSE +InputPinStatus = 1 +OutputPinStatus = 2 +RevisedComponentColor = ID_BLUE5 +SpareCellColor = ID_RED5 +UserName = ICer +CommentFormat = Novas ECO updated by ${UserName} ${Date} ${Time} +PrefixN = eco_n +PrefixP = eco_p +PrefixI = eco_i +DefaultTieUpNet = 1'b1 +DefaultTieDownNet = 1'b0 +MultipleInstantiations = TRUE +KeepClockPinConnection = FALSE +KeepAsyncResetPinConnection = FALSE +ScriptFileModeType = 1 +MagmaScriptPower = VDD +MagmaScriptGround = GND +ShowModeMsg = TRUE +AstroScriptPower = VDD +AstroScriptGround = VSS +ClearFloatingPorts = FALSE +[eco_connection] +Port/NetIsUnique = TRUE +SerialNet = 0 +SerialPort = 0 +SerialInst = 0 +[finsim] +TPLanguage = Verilog +TPName = Super-FinSim +TPPath = TOP.sim +TPOption = +AddImportArgument = FALSE +LineBreakWithScope = FALSE +StopAfterCompileOption = -i +[hvpsetting] +importExcelXMLOptions = +use_test_loca_as_source = FALSE +autoTurnOffHideMeetGoalInit = FALSE +autoTurnOffHideMeetGoal = TRUE +autoTurnOffModifierInit = FALSE +autoTurnOffModifier = TRUE +enableNumbering = TRUE +autoSaveCheck = TRUE +autoSaveTime = 5 +ShowMissingScore = TRUE +enableFeatureId = FALSE +enable_HVP_FEAT_ID = FALSE +enableMeasureConcealment = FALSE +HvpCloneHierShowMsgAgain = 1 +HvpCloneHierType = tree +HvpCloneHierMetrics = Line,Cond,FSM,Toggle,Branch,Assert +autoRecalPlanAfterLoadingCovDBUserDataPlan = false +warnMeAutoRecalPlanAfterLoadingCovDBUserDataPlan = true +autoRecalExclWithPlan = false +warnMeAutoRecalExclWithPlan = true +autoRecalPlanWithExcl = false +warnMeAutoRecalPlanWithExcl = true +warnPopupWarnWhenMultiFilters = true +warnPopupWarnIfHvpReadOnly = true +unmappedObjsReportLevel = def_var_inst +unmappedObjsReportInst = true +unmappedObjsNumOfObjs = High +[ikos] +TPLanguage = VHDL +TPName = Voyager +TPPath = vsh +TPOption = -X +AddImportArgument = FALSE +LineBreakWithScope = FALSE +StopAfterCompileOption = -i +[imp] +options = NULL +libPath = NULL +libDir = NULL +[nCompare] +ErrorViewport = 80 180 800 550 +EditorViewport = 409 287 676 475 +EditorHeightWidth = 802 380 +WaveCommand = "novas" +WaveArgs = "-nWave" +[nCompare.Wnd0] +ViewByHier = FALSE +[nMemory] +dispMode = ADDR_HINT +addrColWidth = 120 +valueColWidth = 100 +showCellBitRangeWithAddr = TRUE +wordsShownInOneRow = 8 +syncCursorTime = FALSE +fixCellColumnWidth = FALSE +font = Courier 12 +[planColors] +plan_fillColor_inactive = lightGray +plan_fillColor_warning = orange +plan_fillColor_error = red +plan_fillColor_invalid = #F0DCDB +plan_fillColor_subplan = lightGray +[schematics] +viewport = 178 262 638 516 +schBackgroundColor = black lineSolid +schBackgroundColor_qt = #000000 qt_solidLine 1 +schBodyColor = orange6 lineSolid +schBodyColor_qt = #ffb973 qt_solidLine 1 +schAsmBodyColor = blue7 lineSolid +schAsmBodyColor_qt = #a5a5ff qt_solidLine 1 +schPortColor = orange6 lineSolid +schPortColor_qt = #ffb973 qt_solidLine 1 +schCellNameColor = Gray6 lineSolid +schCellNameColor_qt = #e0e0e0 qt_solidLine 1 +schCLKNetColor = red6 lineSolid +schCLKNetColor_qt = #ff7373 qt_solidLine 1 +schPWRNetColor = red4 lineSolid +schPWRNetColor_qt = #ff0101 qt_solidLine 1 +schGNDNetColor = cyan4 lineSolid +schGNDNetColor_qt = #01ffff qt_solidLine 1 +schSIGNetColor = green8 lineSolid +schSIGNetColor_qt = #cdffcd qt_solidLine 1 +schTraceColor = yellow4 lineSolid +schTraceColor_qt = #ffff01 qt_solidLine 2 +schBackAnnotateColor = white lineSolid +schBackAnnotateColor_qt = #ffffff qt_solidLine 1 +schValue0 = yellow4 lineSolid +schValue0_qt = #ffff01 qt_solidLine 1 +schValue1 = green3 lineSolid +schValue1_qt = #008000 qt_solidLine 1 +schValueX = red4 lineSolid +schValueX_qt = #ff0101 qt_solidLine 1 +schValueZ = purple7 lineSolid +schValueZ_qt = #ffcdff qt_solidLine 1 +dimColor = cyan2 lineSolid +dimColor_qt = #008080 qt_solidLine 1 +schPreSelColor = green4 lineDash +schPreSelColor_qt = #01ff01 qt_dashLine 2 +schSIGBusNetColor = green8 lineSolid +schSIGBusNetColor_qt = #cdffcd qt_solidLine +schGNDBusNetColor = cyan4 lineSolid +schGNDBusNetColor_qt = #01ffff qt_solidLine +schPWRBusNetColor = red4 lineSolid +schPWRBusNetColor_qt = #ff0101 qt_solidLine +schCLKBusNetColor = red6 lineSolid +schCLKBusNetColor_qt = #ff7373 qt_solidLine +schEdgeSensitiveColor = orange6 lineSolid +schEdgeSensitiveColor_qt = #ffb973 qt_solidLine +schAnnotColor = cyan4 lineSolid +schAnnotColor_qt = #01ffff qt_solidLine +schInstNameColor = orange6 lineSolid +schInstNameColor_qt = #ffb973 qt_solidLine +schPortNameColor = cyan4 lineSolid +schPortNameColor_qt = #01ffff qt_solidLine +schAsmLatchColor = cyan4 lineSolid +schAsmLatchColor_qt = #01ffff qt_solidLine +schAsmRegColor = cyan4 lineSolid +schAsmRegColor_qt = #01ffff qt_solidLine +schAsmTriColor = cyan4 lineSolid +schAsmTriColor_qt = #01ffff qt_solidLine +pre_select = True +ShowPassThroughNet = False +ComputedAnnotColor = ID_PURPLE5 +[schematics_print] +Signature = FALSE +DesignName = PCU +DesignerName = bai +SignatureLocation = LowerRight +MultiPage = TRUE +AutoSliver = FALSE +[sourceColors] +BackgroundActive = gray88 +BackgroundInactive = lightgray +InactiveCode = dimgray +Selection = darkblue +Standard = black +Keyword = blue +Comment = gray25 +Number = black +String = black +Identifier = darkred +Inline = green +colorIdentifier = green +Value = darkgreen +MacroBackground = white +Missing = #400040 +[specColors] +top_plan_linked = #ADFFA6 +top_plan_ignore = #D3D3D3 +top_plan_todo = #EECBAD +sub_plan_ignore = #919191 +sub_plan_todo = #EFAFAF +sub_plan_linked = darkorange +[spec_link_setting] +use_spline = true +goto_section = false +exclude_ignore = true +truncate_abstract = false +abstract_length = 999 +compare_strategy = 2 +auto_apply_margin = FALSE +margin_top = 0.80 +margin_bottom = 0.80 +margin_left = 0.50 +margin_right = 0.50 +margin_unit = inches +[spiceDebug] +ThroughNet = ID_YELLOW5 +InstrumentSig = ID_GREEN5 +InterfaceElement = ID_GREEN5 +Run-timeInterfaceElement = ID_BLUE5 +HighlightThroughNet = TRUE +HighlightInterfaceElement = TRUE +HighlightRuntimeInterfaceElement = TRUE +HighlightSameNet = TRUE +[surefire] +TPLanguage = Verilog +TPName = SureFire +TPPath = verilog +TPOption = +AddImportArgument = TRUE +LineBreakWithScope = TRUE +StopAfterCompileOption = -tcl +[turboSchema_Printer_Options] +Orientation = Landscape +[turbo_library] +bdb_load_scope = +[vdCovFilteringSearchesStrings] +keepLastUsedFiltersMaxNum = 10 +[verisity] +TPLanguage = Verilog +TPName = "Verisity SpeXsim" +TPPath = vlg +TPOption = +AddImportArgument = FALSE +LineBreakWithScope = TRUE +StopAfterCompileOption = -s +[wave.0] +viewPort = 0 27 1280 816 226 91 +[wave.1] +viewPort = 127 219 960 332 100 65 +[wave.2] +viewPort = 38 314 686 205 100 65 +[wave.3] +viewPort = 63 63 700 400 65 41 +[wave.4] +viewPort = 84 84 700 400 65 41 +[wave.5] +viewPort = 92 105 700 400 65 41 +[wave.6] +viewPort = 0 0 700 400 65 41 +[wave.7] +viewPort = 21 21 700 400 65 41 diff --git a/sim/verdiLog/novas_autosave.ses.config b/sim/verdiLog/novas_autosave.ses.config new file mode 100644 index 0000000..eca9abe --- /dev/null +++ b/sim/verdiLog/novas_autosave.ses.config @@ -0,0 +1,35 @@ +[qBaseWindowStateGroup] +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\Verdi=1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_qDockContentType\nWave=1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1=7 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_0=widgetDock_hdlHier_1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_1=widgetDock_messageWindow_1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_2=widgetDock_hdlSrc_1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_3=widgetDock_signalList_1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_4=widgetDock_svtbHier_1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_5=windowDock_OneSearch_1 +qDockerWindowMgr_C\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindowMgr_saveDockerChildList\Verdi_1_6=windowDock_nWave_1 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_encode_to_relative_window_id_name=true +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qDockerWindow_restoreNewChildState=true +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlHier_1\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_messageWindow_1\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_hdlSrc_1\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_signalList_1\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\widgetDock_svtbHier_1\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isNestedWindow=1 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_OneSearch_1\isVisible=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isNestedWindow=1 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\SELECTION_MESSAGE_TOOLBAR=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeMax=1 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\qBaseWindowBeFix=1 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\qBaseDockWidgetGroup\windowDock_nWave_1\dockIsFloating=false +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\ProductVersion=201809 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\Layout="@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\x2\0\0\x5\0\0\0\x1\xa3\xfc\x1\0\0\0\x3\xfc\0\0\0\0\0\0\x1\xa5\0\0\0\0\0\xff\xff\xff\xfa\xff\xff\xff\xff\x1\0\0\0\x2\xfb\0\0\0(\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0H\0i\0\x65\0r\0_\0\x31\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0*\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0v\0t\0\x62\0H\0i\0\x65\0r\0_\0\x31\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0.\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0s\0i\0g\0n\0\x61\0l\0L\0i\0s\0t\0_\0\x31\0\0\0\x1\x63\0\0\0\xd4\0\0\0k\0\0\0k\xfb\0\0\0&\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0h\0\x64\0l\0S\0r\0\x63\0_\0\x31\0\0\0\x1\xab\0\0\x3U\0\0\0k\0\xff\xff\xff\0\0\0\x3\0\0\x5\0\0\0\x3K\xfc\x1\0\0\0\x1\xfc\0\0\0\0\0\0\x5\0\0\0\x1-\0\xff\xff\xff\xfa\0\0\0\x2\x1\0\0\0\x3\xfb\0\0\0\x34\0w\0i\0\x64\0g\0\x65\0t\0\x44\0o\0\x63\0k\0_\0m\0\x65\0s\0s\0\x61\0g\0\x65\0W\0i\0n\0\x64\0o\0w\0_\0\x31\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xa0\0\xff\xff\xff\xfb\0\0\0,\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0O\0n\0\x65\0S\0\x65\0\x61\0r\0\x63\0h\0_\0\x31\0\0\0\0\0\xff\xff\xff\xff\0\0\x2,\0\xff\xff\xff\xfb\0\0\0$\0w\0i\0n\0\x64\0o\0w\0\x44\0o\0\x63\0k\0_\0n\0W\0\x61\0v\0\x65\0_\0\x31\x1\0\0\0\0\xff\xff\xff\xff\0\0\x1-\0\xff\xff\xff\0\0\x5\0\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x6\0\0\0\x2\0\0\0\x10\0\0\0.\0H\0\x42\0_\0I\0M\0P\0O\0R\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0N\0\x45\0W\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0$\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0(\0H\0\x42\0_\0S\0I\0G\0N\0\x41\0L\0_\0P\0\x41\0N\0\x45\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0~\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0H\0\x42\0_\0M\0U\0L\0T\0I\0_\0T\0\x41\0\x42\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xa2\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0*\0H\0\x42\0_\0\x45\0\x44\0I\0T\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\0\xc6\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\x1\0\0\0\xea\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0H\0\x42\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x1\x18\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0.\0H\0\x42\0_\0S\0O\0U\0R\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\x1\0\0\x2/\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0,\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0T\0O\0G\0G\0L\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xe3\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x30\0t\0o\0o\0l\0\x62\0\x61\0r\0H\0\x42\0_\0P\0R\0O\0\x44\0T\0Y\0P\0\x45\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x2\xf8\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0<\0\x41\0\x42\0V\0_\0\x41\0\x44\0\x44\0_\0T\0\x45\0M\0P\0O\0R\0\x41\0R\0Y\0_\0\x41\0S\0S\0\x45\0R\0T\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x3\x1e\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1e\0U\0V\0M\0_\0\x41\0W\0\x41\0R\0\x45\0_\0\x44\0\x45\0\x42\0U\0G\0\0\0\x3\x1f\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0 \0V\0\x43\0_\0\x41\0P\0P\0S\0_\0T\0O\0O\0L\0_\0\x42\0O\0X\x1\0\0\x3\x1\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x14\0L\0O\0G\0_\0V\0I\0\x45\0W\0\x45\0R\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0$\0\x41\0M\0S\0_\0\x43\0O\0N\0\x46\0I\0G\0_\0T\0O\0O\0L\0\x42\0\x41\0R\x1\0\0\x3%\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x3\0\0\0\x30\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0&\0H\0\x42\0_\0\x42\0\x41\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\x1\xfb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x32\0t\0o\0o\0l\0\x42\0\x61\0r\0\x46\0o\0r\0m\0\x61\0l\0V\0\x65\0r\0i\0\x66\0i\0\x63\0\x61\0t\0i\0o\0n\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x4\0\0\0>\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0R\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0W\0I\0N\0\x44\0_\0U\0N\0\x44\0O\0_\0R\0\x45\0\x44\0O\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x5\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0@\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0R\0\x45\0V\0\x45\0R\0S\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\x1\x95\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x38\0H\0\x42\0_\0P\0O\0W\0\x45\0R\0_\0T\0R\0\x41\0\x43\0\x45\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0T\0\x42\0\x42\0R\0_\0\x44\0\x45\0\x42\0U\0G\0_\0V\0S\0I\0M\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0:\0N\0O\0V\0\x41\0S\0_\0\x45\0M\0U\0L\0\x41\0T\0I\0O\0N\0_\0\x44\0\x45\0\x42\0U\0G\0_\0\x43\0O\0M\0M\0\x41\0N\0\x44\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x2\0\0\0\x1\0\0\0\x1a\0\x43\0V\0G\0_\0\x43\0\x45\0R\0_\0P\0\x41\0N\0\x45\0L\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0)" +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isNestedWindow=0 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\isVisible=true +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\size=@Size(1280 921) +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_x=-1 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_y=27 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_width=1280 +Verdi_1\qBaseWindowRestoreStateGroup\qBaseWindow_saveRestoreSession_group\geometry_height=921 diff --git a/sim/verdiLog/novas_autosave.ses.png b/sim/verdiLog/novas_autosave.ses.png new file mode 100644 index 0000000000000000000000000000000000000000..ac388bd4d1d070dabab4eb9bbe97d76a5849a94a GIT binary patch literal 111918 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 t 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 C&J-8` literal 0 HcmV?d00001 diff --git a/sim/verdiLog/novas_ones_IC_EDA_16693.log.result b/sim/verdiLog/novas_ones_IC_EDA_16693.log.result new file mode 100644 index 0000000..e69de29 diff --git a/sim/verdiLog/pes.bat b/sim/verdiLog/pes.bat new file mode 100644 index 0000000..7c6e4ac --- /dev/null +++ b/sim/verdiLog/pes.bat @@ -0,0 +1,3 @@ +where +detach +quit diff --git a/sim/verdiLog/tdc.list.oneSearch b/sim/verdiLog/tdc.list.oneSearch new file mode 100644 index 0000000..8331d62 --- /dev/null +++ b/sim/verdiLog/tdc.list.oneSearch @@ -0,0 +1,8 @@ +tb.f +../rtl/data_cache/data_cache.v +../rtl/data_cache/async_fifo.v +../rtl/data_cache/data_assemble.v +../rtl/data_cache/rst_sync.v +../rtl/data_cache/axi_write_ctrl.v +../rtl/data_cache/histogram_ctrl.v +../rtl/data_cache/sync_fifo.v diff --git a/sim/verdiLog/turbo.log b/sim/verdiLog/turbo.log new file mode 100644 index 0000000..cbfea46 --- /dev/null +++ b/sim/verdiLog/turbo.log @@ -0,0 +1,2 @@ +Command Line: /home/synopsys/verdi/Verdi_O-2018.09-SP2/platform/LINUXAMD64/bin/Novas -f rtl.f tb.f -ssf tb.fsdb +uname(Linux IC_EDA 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64) diff --git a/sim/verdiLog/verdi.cmd b/sim/verdiLog/verdi.cmd new file mode 100644 index 0000000..3f844b5 --- /dev/null +++ b/sim/verdiLog/verdi.cmd @@ -0,0 +1,375 @@ +debImport "-f" "rtl.f" "tb.f" +debLoadSimResult /home/ICer/ic_prjs/IPA/sim/tb.fsdb +wvCreateWindow +wvGetSignalOpen -win $_nWave2 +wvGetSignalSetScope -win $_nWave2 "/tb_data_cache" +wvSetPosition -win $_nWave2 {("G1" 54)} +wvSetPosition -win $_nWave2 {("G1" 54)} +wvAddSignal -win $_nWave2 -clear +wvAddSignal -win $_nWave2 -group {"G1" \ +{/tb_data_cache/axi_m_awaddr\[31:0\]} \ +{/tb_data_cache/axi_m_awburst\[1:0\]} \ +{/tb_data_cache/axi_m_awcache\[3:0\]} \ +{/tb_data_cache/axi_m_awid\[7:0\]} \ +{/tb_data_cache/axi_m_awlen\[3:0\]} \ +{/tb_data_cache/axi_m_awlock} \ +{/tb_data_cache/axi_m_awprot\[2:0\]} \ +{/tb_data_cache/axi_m_awqos\[3:0\]} \ +{/tb_data_cache/axi_m_awready} \ +{/tb_data_cache/axi_m_awsize\[2:0\]} \ +{/tb_data_cache/axi_m_awvalid} \ +{/tb_data_cache/axi_m_bid\[7:0\]} \ +{/tb_data_cache/axi_m_bready} \ +{/tb_data_cache/axi_m_bresp\[1:0\]} \ +{/tb_data_cache/axi_m_bvalid} \ +{/tb_data_cache/axi_m_wdata\[255:0\]} \ +{/tb_data_cache/axi_m_wid\[7:0\]} \ +{/tb_data_cache/axi_m_wlast} \ +{/tb_data_cache/axi_m_wready} \ +{/tb_data_cache/axi_m_wstrb\[31:0\]} \ +{/tb_data_cache/axi_m_wvalid} \ +{/tb_data_cache/dwidth_conv_max_ch0\[7:0\]} \ +{/tb_data_cache/dwidth_conv_max_ch1\[7:0\]} \ +{/tb_data_cache/dwidth_conv_max_ch2\[7:0\]} \ +{/tb_data_cache/dwidth_conv_min_ch0\[7:0\]} \ +{/tb_data_cache/dwidth_conv_min_ch1\[7:0\]} \ +{/tb_data_cache/dwidth_conv_min_ch2\[7:0\]} \ +{/tb_data_cache/frame_cnt\[15:0\]} \ +{/tb_data_cache/golden_max_ch0\[7:0\]} \ +{/tb_data_cache/golden_max_ch1\[7:0\]} \ +{/tb_data_cache/golden_max_ch2\[7:0\]} \ +{/tb_data_cache/golden_min_ch0\[7:0\]} \ +{/tb_data_cache/golden_min_ch1\[7:0\]} \ +{/tb_data_cache/golden_min_ch2\[7:0\]} \ +{/tb_data_cache/histogram_high_num\[15:0\]} \ +{/tb_data_cache/histogram_low_num\[15:0\]} \ +{/tb_data_cache/input_pixel_type} \ +{/tb_data_cache/ipa_en} \ +{/tb_data_cache/ir_ch0\[7:0\]} \ +{/tb_data_cache/ir_ch1\[7:0\]} \ +{/tb_data_cache/ir_ch2\[7:0\]} \ +{/tb_data_cache/ir_clk} \ +{/tb_data_cache/ir_col_cnt\[15:0\]} \ +{/tb_data_cache/ir_hs} \ +{/tb_data_cache/ir_row_cnt\[15:0\]} \ +{/tb_data_cache/ir_valid} \ +{/tb_data_cache/ir_vs} \ +{/tb_data_cache/prev_state\[2:0\]} \ +{/tb_data_cache/rst_n} \ +{/tb_data_cache/src_image_cache_done} \ +{/tb_data_cache/src_pixel_height\[15:0\]} \ +{/tb_data_cache/src_pixel_width\[15:0\]} \ +{/tb_data_cache/sys_clk} \ +{/tb_data_cache/update_src_trig} \ +} +wvAddSignal -win $_nWave2 -group {"G2" \ +} +wvSelectSignal -win $_nWave2 {( "G1" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 \ + 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 \ + 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 )} +wvSetPosition -win $_nWave2 {("G1" 54)} +wvSetPosition -win $_nWave2 {("G1" 54)} +wvSetPosition -win $_nWave2 {("G1" 54)} +wvAddSignal -win $_nWave2 -clear +wvAddSignal -win $_nWave2 -group {"G1" \ +{/tb_data_cache/axi_m_awaddr\[31:0\]} \ +{/tb_data_cache/axi_m_awburst\[1:0\]} \ +{/tb_data_cache/axi_m_awcache\[3:0\]} \ +{/tb_data_cache/axi_m_awid\[7:0\]} \ +{/tb_data_cache/axi_m_awlen\[3:0\]} \ +{/tb_data_cache/axi_m_awlock} \ +{/tb_data_cache/axi_m_awprot\[2:0\]} \ +{/tb_data_cache/axi_m_awqos\[3:0\]} \ +{/tb_data_cache/axi_m_awready} \ +{/tb_data_cache/axi_m_awsize\[2:0\]} \ +{/tb_data_cache/axi_m_awvalid} \ +{/tb_data_cache/axi_m_bid\[7:0\]} \ +{/tb_data_cache/axi_m_bready} \ +{/tb_data_cache/axi_m_bresp\[1:0\]} \ +{/tb_data_cache/axi_m_bvalid} \ +{/tb_data_cache/axi_m_wdata\[255:0\]} \ +{/tb_data_cache/axi_m_wid\[7:0\]} \ +{/tb_data_cache/axi_m_wlast} \ +{/tb_data_cache/axi_m_wready} \ +{/tb_data_cache/axi_m_wstrb\[31:0\]} \ +{/tb_data_cache/axi_m_wvalid} \ +{/tb_data_cache/dwidth_conv_max_ch0\[7:0\]} \ +{/tb_data_cache/dwidth_conv_max_ch1\[7:0\]} \ +{/tb_data_cache/dwidth_conv_max_ch2\[7:0\]} \ +{/tb_data_cache/dwidth_conv_min_ch0\[7:0\]} \ +{/tb_data_cache/dwidth_conv_min_ch1\[7:0\]} \ +{/tb_data_cache/dwidth_conv_min_ch2\[7:0\]} \ +{/tb_data_cache/frame_cnt\[15:0\]} \ +{/tb_data_cache/golden_max_ch0\[7:0\]} \ +{/tb_data_cache/golden_max_ch1\[7:0\]} \ +{/tb_data_cache/golden_max_ch2\[7:0\]} \ +{/tb_data_cache/golden_min_ch0\[7:0\]} \ +{/tb_data_cache/golden_min_ch1\[7:0\]} \ +{/tb_data_cache/golden_min_ch2\[7:0\]} \ +{/tb_data_cache/histogram_high_num\[15:0\]} \ +{/tb_data_cache/histogram_low_num\[15:0\]} \ +{/tb_data_cache/input_pixel_type} \ +{/tb_data_cache/ipa_en} \ +{/tb_data_cache/ir_ch0\[7:0\]} \ +{/tb_data_cache/ir_ch1\[7:0\]} \ +{/tb_data_cache/ir_ch2\[7:0\]} \ +{/tb_data_cache/ir_clk} \ +{/tb_data_cache/ir_col_cnt\[15:0\]} \ +{/tb_data_cache/ir_hs} \ +{/tb_data_cache/ir_row_cnt\[15:0\]} \ +{/tb_data_cache/ir_valid} \ +{/tb_data_cache/ir_vs} \ +{/tb_data_cache/prev_state\[2:0\]} \ +{/tb_data_cache/rst_n} \ +{/tb_data_cache/src_image_cache_done} \ +{/tb_data_cache/src_pixel_height\[15:0\]} \ +{/tb_data_cache/src_pixel_width\[15:0\]} \ +{/tb_data_cache/sys_clk} \ +{/tb_data_cache/update_src_trig} \ +} +wvAddSignal -win $_nWave2 -group {"G2" \ +} +wvSelectSignal -win $_nWave2 {( "G1" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 \ + 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 \ + 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 )} +wvSetPosition -win $_nWave2 {("G1" 54)} +wvGetSignalClose -win $_nWave2 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +verdiDockWidgetMaximize -dock windowDock_nWave_2 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvSelectSignal -win $_nWave2 {( "G1" 22 )} +wvSelectSignal -win $_nWave2 {( "G1" 20 )} +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollUp -win $_nWave2 3 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 5 +wvScrollDown -win $_nWave2 4 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvSetCursor -win $_nWave2 622185.869797 -snap {("G1" 19)} +wvSetCursor -win $_nWave2 944944.789755 -snap {("G1" 19)} +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvZoomOut -win $_nWave2 +wvZoomOut -win $_nWave2 +wvZoomOut -win $_nWave2 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollUp -win $_nWave2 1 +wvScrollDown -win $_nWave2 1 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 +wvScrollDown -win $_nWave2 0 diff --git a/sim/verdiLog/verdi_perf_err.log b/sim/verdiLog/verdi_perf_err.log new file mode 100644 index 0000000..e69de29 diff --git a/tb/data_cache/tb_axi_write_ctrl.v b/tb/data_cache/tb_axi_write_ctrl.v new file mode 100644 index 0000000..4f4783c --- /dev/null +++ b/tb/data_cache/tb_axi_write_ctrl.v @@ -0,0 +1,314 @@ +`timescale 1ns/1ps + +module tb_axi_write_ctrl(); + +// -------------------------- 1. 参数定义 -------------------------- +parameter AXI_ID_W = 8; +parameter AXI_ADDR_W = 32; +parameter AXI_DATA_W = 256; +parameter AXI_STRB_W = AXI_DATA_W / 8; +parameter CLK_PERIOD = 10; +parameter FIFO_DEPTH = 4; + +// -------------------------- 2. 信号定义 -------------------------- +// 系统时钟/复位 +reg clk; +reg rst_n; + +// 控制与数据输入 +reg start_en; +reg [AXI_ADDR_W-1:0] sram_base_addr; +wire [AXI_DATA_W-1:0] fifo_rd_data; +wire fifo_empty; +wire fifo_rd_en_dut; // DUT输出的读使能(仅由DUT驱动) + +// Testbench控制的FIFO读使能(用于清空FIFO) +reg tb_fifo_rd_en; +// 合并后的FIFO读使能(仅驱动FIFO,避免直接驱动DUT输出) +wire fifo_rd_en = tb_fifo_rd_en | fifo_rd_en_dut; + +// AXI AW通道 +wire [AXI_ID_W-1:0] axi_m_awid; +wire [AXI_ADDR_W-1:0] axi_m_awaddr; +wire [3:0] axi_m_awlen; +wire [2:0] axi_m_awsize; +wire [1:0] axi_m_awburst; +wire axi_m_awlock; +wire [4:0] axi_m_awcache; +wire [2:0] axi_m_awprot; +wire [4:0] axi_m_awqos; +wire axi_m_awvalid; +reg axi_m_awready; + +// AXI W通道 +wire [AXI_ID_W-1:0] axi_m_wid; +wire [AXI_DATA_W-1:0] axi_m_wdata; +wire [AXI_STRB_W-1:0] axi_m_wstrb; +wire axi_m_wlast; +wire axi_m_wvalid; +reg axi_m_wready; + +// AXI B通道 +reg [AXI_ID_W-1:0] axi_m_bid; +reg [1:0] axi_m_bresp; +reg axi_m_bvalid; +wire axi_m_bready; + +// DUT状态输出 +wire axi_busy; +wire axi_done; + +// FIFO相关控制信号 +reg fifo_wr_en; +reg [AXI_DATA_W-1:0] fifo_wr_data; +wire fifo_full; +reg [$clog2(FIFO_DEPTH)-1:0] fifo_wr_ptr; + +// -------------------------- 3. 生成系统时钟 -------------------------- +initial begin + clk = 1'b0; + forever #(CLK_PERIOD/2) clk = ~clk; +end + +// -------------------------- 4. 实例化DUT(AXI写控制器) -------------------------- +axi_write_ctrl #( + .AXI_ID_W (AXI_ID_W), + .AXI_ADDR_W (AXI_ADDR_W), + .AXI_DATA_W (AXI_DATA_W), + .AXI_STRB_W (AXI_STRB_W) +) u_axi_write_ctrl ( + .clk (clk), + .rst_n (rst_n), + .start_en (start_en), + .sram_base_addr (sram_base_addr), + .fifo_rd_data (fifo_rd_data), + .fifo_empty (fifo_empty), + .fifo_rd_en (fifo_rd_en_dut), // DUT输出单独命名,避免冲突 + .axi_m_awid (axi_m_awid), + .axi_m_awaddr (axi_m_awaddr), + .axi_m_awlen (axi_m_awlen), + .axi_m_awsize (axi_m_awsize), + .axi_m_awburst (axi_m_awburst), + .axi_m_awlock (axi_m_awlock), + .axi_m_awcache (axi_m_awcache), + .axi_m_awprot (axi_m_awprot), + .axi_m_awqos (axi_m_awqos), + .axi_m_awvalid (axi_m_awvalid), + .axi_m_awready (axi_m_awready), + .axi_m_wid (axi_m_wid), + .axi_m_wdata (axi_m_wdata), + .axi_m_wstrb (axi_m_wstrb), + .axi_m_wlast (axi_m_wlast), + .axi_m_wvalid (axi_m_wvalid), + .axi_m_wready (axi_m_wready), + .axi_m_bid (axi_m_bid), + .axi_m_bresp (axi_m_bresp), + .axi_m_bvalid (axi_m_bvalid), + .axi_m_bready (axi_m_bready), + .axi_busy (axi_busy), + .axi_done (axi_done) +); + +// -------------------------- 5. 实例化sync_fifo模块 -------------------------- +sync_fifo #( + .DATA_WIDTH (AXI_DATA_W), + .FIFO_DEPTH (FIFO_DEPTH) +) u_sync_fifo ( + .clk (clk), + .rst_n (rst_n), + .wr_en (fifo_wr_en), + .wr_data (fifo_wr_data), + .full (fifo_full), + .rd_en (fifo_rd_en), // 使用合并后的读使能 + .rd_data (fifo_rd_data), + .empty (fifo_empty) +); + +// -------------------------- 6. 生成FSDB波形文件 -------------------------- +initial begin + $fsdbDumpfile("tb.fsdb"); + $fsdbDumpvars(0, tb_axi_write_ctrl); + $fsdbDumpMDA(0, tb_axi_write_ctrl); +end + +// -------------------------- 7. FIFO初始化与数据写入 -------------------------- +reg [AXI_DATA_W-1:0] fifo_init_data[FIFO_DEPTH-1:0]; + +initial begin + fifo_init_data[0] = 256'h00010203_04050607_08090a0b_0c0d0e0f_10111213_14151617_18191a1b_1c1d1e1f; + fifo_init_data[1] = 256'h20212223_24252627_28292a2b_2c2d2e2f_30313233_34353637_38393a3b_3c3d3e3f; + fifo_init_data[2] = 256'h40414243_44454647_48494a4b_4c4d4e4f_50515253_54555657_58595a5b_5c5d5e5f; + fifo_init_data[3] = 256'h60616263_64656667_68696a6b_6c6d6e6f_70717273_74757677_78797a7b_7c7d7e7f; +end + +task fill_fifo; + input integer count; + begin + fifo_wr_en = 1'b1; + repeat(count) begin + @(posedge clk); + if (!fifo_full) begin + fifo_wr_data = fifo_init_data[fifo_wr_ptr]; + fifo_wr_ptr = fifo_wr_ptr + 1'b1; + if (fifo_wr_ptr >= FIFO_DEPTH) fifo_wr_ptr = 0; + end + end + fifo_wr_en = 1'b0; + @(posedge clk); + end +endtask + +// -------------------------- 8. 模拟AXI从机 -------------------------- +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_awready <= 1'b0; + end else if (axi_m_awvalid) begin + axi_m_awready <= ($random % 2) ? 1'b1 : 1'b0; + if (!axi_m_awready && axi_m_awvalid) begin + axi_m_awready <= #(CLK_PERIOD) 1'b1; + end + end else begin + axi_m_awready <= 1'b0; + end +end + +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_wready <= 1'b0; + end else if (axi_m_wvalid) begin + axi_m_wready <= ($random % 2) ? 1'b1 : 1'b0; + if (!axi_m_wready && axi_m_wvalid) begin + axi_m_wready <= #(CLK_PERIOD) 1'b1; + end + end else begin + axi_m_wready <= 1'b0; + end +end + +always @(posedge clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_bvalid <= 1'b0; + axi_m_bid <= 8'd0; + axi_m_bresp <= 2'd0; + end else if (axi_m_wvalid && axi_m_wready) begin + axi_m_bvalid <= #(CLK_PERIOD) 1'b1; + axi_m_bid <= axi_m_wid; + end else if (axi_m_bvalid && axi_m_bready) begin + axi_m_bvalid <= 1'b0; + end +end + +// -------------------------- 9. 核心测试场景 -------------------------- +initial begin + rst_n = 1'b0; + start_en = 1'b0; + sram_base_addr = 32'h1000_0000; + fifo_wr_en = 1'b0; + fifo_wr_data = {AXI_DATA_W{1'b0}}; + fifo_wr_ptr = 0; + tb_fifo_rd_en = 1'b0; + axi_m_bid = 8'd0; + axi_m_bresp = 2'd0; + axi_m_bvalid = 1'b0; + + #(CLK_PERIOD * 5); + rst_n = 1'b1; + #(CLK_PERIOD * 2); + + // 测试1:单事务写 + $display("[%0t] Test 1: Single AXI Write Transaction", $time); + fill_fifo(FIFO_DEPTH); + start_en = 1'b1; + #(CLK_PERIOD); + start_en = 1'b0; + + wait(axi_done == 1'b1); + #(CLK_PERIOD); + $display("[%0t] Test 1 Result: AWAddr=0x%08h (Expected:0x10000000), WData Match=%b", + $time, axi_m_awaddr, (axi_m_wdata == fifo_init_data[0])); + #(CLK_PERIOD * 2); + + // 测试2:连续事务写 + $display("[%0t] Test 2: Continuous AXI Write Transactions", $time); + fill_fifo(FIFO_DEPTH); + #(CLK_PERIOD); + + start_en = 1'b1; + #(CLK_PERIOD); + start_en = 1'b0; + wait(axi_done == 1'b1); + #(CLK_PERIOD); + $display("[%0t] Test 2 Trans1: AWAddr=0x%08h (Expected:0x10000020), WData Match=%b", + $time, axi_m_awaddr, (axi_m_wdata == fifo_init_data[1])); + + fill_fifo(FIFO_DEPTH); + #(CLK_PERIOD); + + start_en = 1'b1; + #(CLK_PERIOD); + start_en = 1'b0; + wait(axi_done == 1'b1); + #(CLK_PERIOD); + $display("[%0t] Test 2 Trans2: AWAddr=0x%08h (Expected:0x10000040), WData Match=%b", + $time, axi_m_awaddr, (axi_m_wdata == fifo_init_data[2])); + #(CLK_PERIOD * 2); + + // 测试3:FIFO空阻塞 + $display("[%0t] Test 3: FIFO Empty Block Test", $time); + tb_fifo_rd_en = 1'b1; // 使用Testbench读使能清空FIFO + while (!fifo_empty) begin + @(posedge clk); + end + tb_fifo_rd_en = 1'b0; + #(CLK_PERIOD); + + start_en = 1'b1; + #(CLK_PERIOD * 3); + start_en = 1'b0; + + $display("[%0t] Test 3 Result: AXI Busy=%b (Expected:0), AWValid=%b (Expected:0)", + $time, axi_busy, axi_m_awvalid); + #(CLK_PERIOD * 2); + + // 测试4:AXI握手延迟 + $display("[%0t] Test 4: AXI Handshake Delay Test", $time); + fill_fifo(FIFO_DEPTH); + #(CLK_PERIOD); + + axi_m_awready <= 1'b0; + axi_m_wready <= 1'b0; + start_en = 1'b1; + #(CLK_PERIOD); + start_en = 1'b0; + + #(CLK_PERIOD * 2); + axi_m_awready <= 1'b1; + #(CLK_PERIOD); + axi_m_wready <= 1'b1; + + wait(axi_done == 1'b1); + #(CLK_PERIOD); + $display("[%0t] Test 4 Result: WData Match=%b (Expected:1), Done=%b (Expected:1)", + $time, (axi_m_wdata == fifo_init_data[3]), axi_done); + #(CLK_PERIOD * 2); + + $display("[%0t] All Tests Completed!", $time); + $finish; +end + +// -------------------------- 10. 状态监控 -------------------------- +reg [1:0] axi_state; +always @(posedge clk) begin + axi_state = u_axi_write_ctrl.axi_state; +end + +always @(posedge clk) begin + case (axi_state) + 2'd0: $display("[%0t] AXI State: IDLE", $time); + 2'd1: $display("[%0t] AXI State: AW (Address Channel)", $time); + 2'd2: $display("[%0t] AXI State: W (Data Channel)", $time); + 2'd3: $display("[%0t] AXI State: B (Response Channel)", $time); + endcase +end + +endmodule diff --git a/tb/data_cache/tb_data_assemble.v b/tb/data_cache/tb_data_assemble.v new file mode 100644 index 0000000..46e27ab --- /dev/null +++ b/tb/data_cache/tb_data_assemble.v @@ -0,0 +1,138 @@ +`timescale 1ns/1ps + +module tb_data_assemble(); + +// 参数定义 +parameter PIXEL_WIDTH = 8; +parameter GRAY_PIXEL_CNT = 32; +parameter RGB_PIXEL_CNT = 8; + +// 信号定义 +reg clk; +reg rst_n; +reg en; +reg input_pixel_type; +reg [PIXEL_WIDTH-1:0] ir_ch0; +reg [PIXEL_WIDTH-1:0] ir_ch1; +reg [PIXEL_WIDTH-1:0] ir_ch2; +reg pixel_valid; +wire done; +wire [255:0] assembled_data; + +// 生成时钟(100MHz) +initial begin + clk = 1'b0; + forever #5 clk = ~clk; +end + +// 实例化DUT +data_assemble #( + .PIXEL_WIDTH (PIXEL_WIDTH), + .GRAY_PIXEL_CNT (GRAY_PIXEL_CNT), + .RGB_PIXEL_CNT (RGB_PIXEL_CNT) +) u_data_assemble ( + .clk (clk), + .rst_n (rst_n), + .en (en), + .input_pixel_type(input_pixel_type), + .ir_ch0 (ir_ch0), + .ir_ch1 (ir_ch1), + .ir_ch2 (ir_ch2), + .pixel_valid (pixel_valid), + .done (done), + .assembled_data (assembled_data) +); + +// 生成FSDB波形 +initial begin + $fsdbDumpfile("tb.fsdb"); + $fsdbDumpvars(0, tb_data_assemble); + $fsdbDumpMDA(0, tb_data_assemble); +end + +// 测试场景 +initial begin + // 初始化 + rst_n = 1'b0; + en = 1'b0; + input_pixel_type = 1'b0; + ir_ch0 = 8'd0; + ir_ch1 = 8'd0; + ir_ch2 = 8'd0; + pixel_valid = 1'b0; + + // 释放复位 + #20; + rst_n = 1'b1; + #20; + + // -------------------------- 测试1:Gray模式拼接 -------------------------- + $display("[%0t] Test 1: Gray mode assembly", $time); + input_pixel_type = 1'b0; + en = 1'b1; + #10; + + // 输入32个数据(0x01~0x20) + repeat (GRAY_PIXEL_CNT) begin + @(posedge clk); + pixel_valid = 1'b1; + ir_ch0 = ir_ch0 + 8'd1; // 最后一个数据为0x20 + end + @(posedge clk); + pixel_valid = 1'b0; + + wait(done == 1'b1); + #10; + // 验证首8bit(0x01)和尾8bit(0x20) + $display("[%0t] Gray first 8bit: 0x%0h (Expected: 0x1)", + $time, assembled_data[255:248]); + $display("[%0t] Gray last 8bit: 0x%0h (Expected: 0x20)", + $time, assembled_data[7:0]); + #20; + + // -------------------------- 测试2:RGB模式拼接 -------------------------- + $display("[%0t] Test 2: RGB mode assembly", $time); + input_pixel_type = 1'b1; + ir_ch0 = 8'd0; + ir_ch1 = 8'd0; + ir_ch2 = 8'd0; + #10; + + // 输入8组数据:CH0=10*N, CH1=20*N, CH2=30*N(N=1~8) + repeat (RGB_PIXEL_CNT) begin + @(posedge clk); + pixel_valid = 1'b1; + ir_ch0 = ir_ch0 + 8'd10; // 10,20,...,80(0x0a,0x14,...,0x50) + ir_ch1 = ir_ch1 + 8'd20; // 20,40,...,160(0x14,0x28,...,0xa0) + ir_ch2 = ir_ch2 + 8'd30; // 30,60,...,240(0x1e,0x3c,...,0xf0) + end + @(posedge clk); + pixel_valid = 1'b0; + + wait(done == 1'b1); + #10; + // 验证首32bit({8'd0,30,20,10}=0x00_1e_14_0a)和尾32bit({8'd0,240,160,80}=0x00_f0_a0_50) + $display("[%0t] RGB first 32bit: 0x%08h (Expected: 0x001e140a)", + $time, assembled_data[255:224]); + $display("[%0t] RGB last 32bit: 0x%08h (Expected: 0x00f0a050)", + $time, assembled_data[31:0]); + #20; + + // -------------------------- 测试3:关闭使能 -------------------------- + $display("[%0t] Test 3: Disable assembly", $time); + en = 1'b0; + input_pixel_type = 1'b0; + @(posedge clk); + pixel_valid = 1'b1; + ir_ch0 = 8'd1; + @(posedge clk); + pixel_valid = 1'b0; + #10; + $display("[%0t] Disable check: done=%b (Expected:0)", $time, done); + #20; + + $display("[%0t] All tests completed!", $time); + $finish; +end + +endmodule \ No newline at end of file diff --git a/tb/data_cache/tb_data_cache.v b/tb/data_cache/tb_data_cache.v new file mode 100644 index 0000000..4444578 --- /dev/null +++ b/tb/data_cache/tb_data_cache.v @@ -0,0 +1,450 @@ +`timescale 1ns/1ps + +module tb_data_cache(); + +// -------------------------- 参数定义 -------------------------- +parameter ASYNC_FIFO_DEPTH = 1024; +parameter ASYNC_FIFO_DATA_W = 27; +parameter SYNC_FIFO_DEPTH = 2048; +parameter SYNC_FIFO_DATA_W = 256; +parameter HIST_RAM_DEPTH = 256; +parameter HIST_RAM_DATA_W = 1; +parameter AXI_ID_W = 8; +parameter AXI_ADDR_W = 32; +parameter AXI_DATA_W = 256; +parameter AXI_STRB_W = AXI_DATA_W / 8; + +// 测试用图像参数 +parameter IMAGE_WIDTH = 32; // 图像宽度(32像素,便于拼接256bit) +parameter IMAGE_HEIGHT = 16; // 图像高度 +parameter HIST_LOW_NUM = 1; // 直方图低位数量 +parameter HIST_HIGH_NUM = 1; // 直方图高位数量 + +// 时钟周期定义 +parameter SYS_CLK_PERIOD = 10; // 系统时钟周期(10ns=100MHz) +parameter IR_CLK_PERIOD = 5; // IR时钟周期(8ns=125MHz) + +// -------------------------- 信号定义 -------------------------- +// 系统时钟与复位 +reg sys_clk; +reg ir_clk; +reg rst_n; + +// 配置信号 +reg ipa_en; +reg update_src_trig; +reg input_pixel_type; +reg [15:0] src_pixel_height; +reg [15:0] src_pixel_width; +reg [15:0] histogram_low_num; +reg [15:0] histogram_high_num; +wire src_image_cache_done; + +// 与Windowed模块接口 +wire [7:0] dwidth_conv_min_ch0; +wire [7:0] dwidth_conv_max_ch0; +wire [7:0] dwidth_conv_min_ch1; +wire [7:0] dwidth_conv_max_ch1; +wire [7:0] dwidth_conv_min_ch2; +wire [7:0] dwidth_conv_max_ch2; + +// IR图像输入 +reg ir_valid; +reg ir_vs; +reg ir_hs; +reg [7:0] ir_ch0; +reg [7:0] ir_ch1; +reg [7:0] ir_ch2; + +// AXI写总线 +wire [AXI_ID_W-1:0] axi_m_awid; +wire [AXI_ADDR_W-1:0] axi_m_awaddr; +wire [3:0] axi_m_awlen; +wire [2:0] axi_m_awsize; +wire [1:0] axi_m_awburst; +wire axi_m_awlock; +wire [3:0] axi_m_awcache; +wire [2:0] axi_m_awprot; +wire [3:0] axi_m_awqos; +wire axi_m_awvalid; +reg axi_m_awready; +wire [AXI_ID_W-1:0] axi_m_wid; +wire [AXI_DATA_W-1:0] axi_m_wdata; +wire [AXI_STRB_W-1:0] axi_m_wstrb; +wire axi_m_wlast; +wire axi_m_wvalid; +reg axi_m_wready; +reg [AXI_ID_W-1:0] axi_m_bid; +reg [1:0] axi_m_bresp; +reg axi_m_bvalid; +wire axi_m_bready; + +// 内部测试信号 +reg [15:0] frame_cnt; // 帧计数器 +reg [15:0] ir_row_cnt; // IR行计数器 +reg [15:0] ir_col_cnt; // IR列计数器 +reg [7:0] golden_min_ch0; // 预期CH0最小值 +reg [7:0] golden_max_ch0; // 预期CH0最大值 +reg [7:0] golden_min_ch1; // 预期CH1最小值 +reg [7:0] golden_max_ch1; // 预期CH1最大值 +reg [7:0] golden_min_ch2; // 预期CH2最小值 +reg [7:0] golden_max_ch2; // 预期CH2最大值 + + +// -------------------------- 时钟生成 -------------------------- +initial begin + sys_clk = 1'b0; + forever #(SYS_CLK_PERIOD/2) sys_clk = ~sys_clk; +end + +initial begin + ir_clk = 1'b0; + forever #(IR_CLK_PERIOD/2) ir_clk = ~ir_clk; +end + +// -------------------------- 实例化DUT -------------------------- +data_cache #( + .ASYNC_FIFO_DEPTH(ASYNC_FIFO_DEPTH), + .ASYNC_FIFO_DATA_W(ASYNC_FIFO_DATA_W), + .SYNC_FIFO_DEPTH(SYNC_FIFO_DEPTH), + .SYNC_FIFO_DATA_W(SYNC_FIFO_DATA_W), + .HIST_RAM_DEPTH(HIST_RAM_DEPTH), + .HIST_RAM_DATA_W(HIST_RAM_DATA_W), + .AXI_ID_W(AXI_ID_W), + .AXI_ADDR_W(AXI_ADDR_W), + .AXI_DATA_W(AXI_DATA_W), + .AXI_STRB_W(AXI_STRB_W) +) u_data_cache ( + .clk(sys_clk), + .rst_n(rst_n), + .ipa_en(ipa_en), + .update_src_trig(update_src_trig), + .input_pixel_type(input_pixel_type), + .src_pixel_height(src_pixel_height), + .src_pixel_width(src_pixel_width), + .histogram_low_num(histogram_low_num), + .histogram_high_num(histogram_high_num), + .src_image_cache_done(src_image_cache_done), + .dwidth_conv_min_ch0(dwidth_conv_min_ch0), + .dwidth_conv_max_ch0(dwidth_conv_max_ch0), + .dwidth_conv_min_ch1(dwidth_conv_min_ch1), + .dwidth_conv_max_ch1(dwidth_conv_max_ch1), + .dwidth_conv_min_ch2(dwidth_conv_min_ch2), + .dwidth_conv_max_ch2(dwidth_conv_max_ch2), + .ir_clk(ir_clk), + .ir_valid(ir_valid), + .ir_vs(ir_vs), + .ir_hs(ir_hs), + .ir_ch0(ir_ch0), + .ir_ch1(ir_ch1), + .ir_ch2(ir_ch2), + .axi_m_awid(axi_m_awid), + .axi_m_awaddr(axi_m_awaddr), + .axi_m_awlen(axi_m_awlen), + .axi_m_awsize(axi_m_awsize), + .axi_m_awburst(axi_m_awburst), + .axi_m_awlock(axi_m_awlock), + .axi_m_awcache(axi_m_awcache), + .axi_m_awprot(axi_m_awprot), + .axi_m_awqos(axi_m_awqos), + .axi_m_awvalid(axi_m_awvalid), + .axi_m_awready(axi_m_awready), + .axi_m_wid(axi_m_wid), + .axi_m_wdata(axi_m_wdata), + .axi_m_wstrb(axi_m_wstrb), + .axi_m_wlast(axi_m_wlast), + .axi_m_wvalid(axi_m_wvalid), + .axi_m_wready(axi_m_wready), + .axi_m_bid(axi_m_bid), + .axi_m_bresp(axi_m_bresp), + .axi_m_bvalid(axi_m_bvalid), + .axi_m_bready(axi_m_bready) +); + +// -------------------------- 生成FSDB波形 -------------------------- +initial begin + $fsdbDumpfile("tb.fsdb"); + $fsdbDumpvars(0, tb_data_cache); + $fsdbDumpMDA(0, tb_data_cache); // 记录内存和内部信号 +end + +// -------------------------- AXI从机模拟 -------------------------- +// AW通道响应 +always @(posedge sys_clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_awready <= 1'b0; + end else if (axi_m_awvalid) begin + // 随机延迟响应,模拟真实从机 + axi_m_awready <= ($random % 2) ? 1'b1 : 1'b0; + if (!axi_m_awready) begin + axi_m_awready <= #(SYS_CLK_PERIOD) 1'b1; + end + end else begin + axi_m_awready <= 1'b0; + end +end + +// W通道响应 +always @(posedge sys_clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_wready <= 1'b0; + end else if (axi_m_wvalid) begin + axi_m_wready <= ($random % 2) ? 1'b1 : 1'b0; + if (!axi_m_wready) begin + axi_m_wready <= #(SYS_CLK_PERIOD) 1'b1; + end + end else begin + axi_m_wready <= 1'b0; + end +end + +// B通道响应 +always @(posedge sys_clk or negedge rst_n) begin + if (!rst_n) begin + axi_m_bvalid <= 1'b0; + axi_m_bid <= 8'd0; + axi_m_bresp <= 2'd0; // 0=OKAY + end else if (axi_m_wvalid && axi_m_wready) begin + // W通道传输完成后,延迟1周期发送响应 + axi_m_bvalid <= #(SYS_CLK_PERIOD) 1'b1; + axi_m_bid <= axi_m_wid; + end else if (axi_m_bvalid && axi_m_bready) begin + axi_m_bvalid <= 1'b0; + end +end + +// -------------------------- 生成测试图像数据 -------------------------- +task generate_ir_data; + input integer frame_num; + input integer is_rgb; + begin + // 初始化计数器 + ir_row_cnt = 0; + ir_col_cnt = 0; + ir_vs = 1'b0; + ir_hs = 1'b0; + ir_valid = 1'b0; + ir_ch0 = 8'd0; + ir_ch1 = 8'd0; + ir_ch2 = 8'd0; + + // 发送帧起始信号(ir_vs至少持续2个ir_clk周期,确保被FIFO捕获) + @(posedge ir_clk); + ir_vs = 1'b1; + ir_valid = 1'b1; // 强制置1,配合DUT的async_fifo_wr_en逻辑 + @(posedge ir_clk); + @(posedge ir_clk); // 持续2个周期,避免单周期漏采 + ir_vs = 1'b0; + ir_valid = 1'b0; + // 计算预期的min/max值 + if (is_rgb) begin + golden_min_ch0 = 8'd32 + frame_num * 16; + golden_max_ch0 = 8'd96 + frame_num * 16; + golden_min_ch1 = 8'd64 + frame_num * 16; + golden_max_ch1 = 8'd128 + frame_num * 16; + golden_min_ch2 = 8'd96 + frame_num * 16; + golden_max_ch2 = 8'd160 + frame_num * 16; + end else begin + golden_min_ch0 = 8'd32 + frame_num * 16; + golden_max_ch0 = 8'd192 + frame_num * 16; + golden_min_ch1 = 8'd0; + golden_max_ch1 = 8'd0; + golden_min_ch2 = 8'd0; + golden_max_ch2 = 8'd0; + end + + // 逐行发送数据 + while (ir_row_cnt < IMAGE_HEIGHT) begin + // 行起始信号 + ir_hs = 1'b1; + @(posedge ir_clk); + ir_hs = 1'b0; + + // 逐像素发送数据 + ir_col_cnt = 0; + while (ir_col_cnt < IMAGE_WIDTH) begin + ir_valid = 1'b1; + + // 生成有规律的数据便于验证 + if (is_rgb) begin + // RGB模式:三个通道不同范围 + ir_ch0 = golden_min_ch0 + (ir_row_cnt % (golden_max_ch0 - golden_min_ch0 + 1)); + ir_ch1 = golden_min_ch1 + (ir_col_cnt % (golden_max_ch1 - golden_min_ch1 + 1)); + ir_ch2 = golden_min_ch2 + ((ir_row_cnt + ir_col_cnt) % (golden_max_ch2 - golden_min_ch2 + 1)); + end else begin + // 灰度模式:仅CH0有效 + ir_ch0 = golden_min_ch0 + ((ir_row_cnt * IMAGE_WIDTH + ir_col_cnt) % + (golden_max_ch0 - golden_min_ch0 + 1)); + ir_ch1 = 8'd0; + ir_ch2 = 8'd0; + end + + @(posedge ir_clk); + ir_col_cnt = ir_col_cnt + 1; + end + + // 行结束 + ir_valid = 1'b0; + ir_row_cnt = ir_row_cnt + 1; + // 行间隙 + repeat(2) @(posedge ir_clk); + end + + // 帧结束 + ir_valid = 1'b0; + // 帧间隙 + repeat(5) @(posedge ir_clk); + end +endtask + +// -------------------------- 核心测试流程 -------------------------- +initial begin + // 初始化 + rst_n = 1'b0; + ipa_en = 1'b0; + update_src_trig = 1'b0; + input_pixel_type = 1'b0; // 默认灰度模式 + src_pixel_height = IMAGE_HEIGHT; + src_pixel_width = IMAGE_WIDTH; + histogram_low_num = HIST_LOW_NUM; + histogram_high_num = HIST_HIGH_NUM; + frame_cnt = 16'd0; + axi_m_bid = 8'd0; + axi_m_bresp = 2'd0; + axi_m_bvalid = 1'b0; + + // 复位 + #(SYS_CLK_PERIOD * 10); + rst_n = 1'b1; + #(SYS_CLK_PERIOD * 5); + + // 测试1:灰度模式单帧测试 + $display("[%0t] Test 1: Gray scale single frame test", $time); + input_pixel_type = 1'b0; // 灰度模式 + ipa_en = 1'b1; + #(SYS_CLK_PERIOD * 2); + + // 发送一帧灰度图像 + generate_ir_data(frame_cnt, 0); + frame_cnt = frame_cnt + 1; + + // 等待缓存完成 + wait(src_image_cache_done == 1'b1); + #(SYS_CLK_PERIOD * 10); + + // 验证直方图结果 + $display("[%0t] Test 1 Histogram Check: CH0 min=%h (exp=%h), max=%h (exp=%h)", + $time, dwidth_conv_min_ch0, golden_min_ch0, + dwidth_conv_max_ch0, golden_max_ch0); + if (dwidth_conv_min_ch0 != golden_min_ch0 || dwidth_conv_max_ch0 != golden_max_ch0) begin + $display("[%0t] Test 1 Histogram Check FAILED!", $time); + end else begin + $display("[%0t] Test 1 Histogram Check PASSED!", $time); + end + #(SYS_CLK_PERIOD * 5); + + // 测试2:RGB模式单帧测试 + $display("[%0t] Test 2: RGB single frame test", $time); + update_src_trig = 1'b1; // 触发更新 + #(SYS_CLK_PERIOD * 2); + update_src_trig = 1'b0; + input_pixel_type = 1'b1; // RGB模式 + #(SYS_CLK_PERIOD * 2); + + // 发送一帧RGB图像 + generate_ir_data(frame_cnt, 1); + frame_cnt = frame_cnt + 1; + + // 等待缓存完成 + wait(src_image_cache_done == 1'b1); + #(SYS_CLK_PERIOD * 10); + + // 验证直方图结果 + $display("[%0t] Test 2 Histogram Check: CH0 min=%h (exp=%h), max=%h (exp=%h)", + $time, dwidth_conv_min_ch0, golden_min_ch0, + dwidth_conv_max_ch0, golden_max_ch0); + $display("[%0t] Test 2 Histogram Check: CH1 min=%h (exp=%h), max=%h (exp=%h)", + $time, dwidth_conv_min_ch1, golden_min_ch1, + dwidth_conv_max_ch1, golden_max_ch1); + $display("[%0t] Test 2 Histogram Check: CH2 min=%h (exp=%h), max=%h (exp=%h)", + $time, dwidth_conv_min_ch2, golden_min_ch2, + dwidth_conv_max_ch2, golden_max_ch2); + + if (dwidth_conv_min_ch0 != golden_min_ch0 || dwidth_conv_max_ch0 != golden_max_ch0 || + dwidth_conv_min_ch1 != golden_min_ch1 || dwidth_conv_max_ch1 != golden_max_ch1 || + dwidth_conv_min_ch2 != golden_min_ch2 || dwidth_conv_max_ch2 != golden_max_ch2) begin + $display("[%0t] Test 2 Histogram Check FAILED!", $time); + end else begin + $display("[%0t] Test 2 Histogram Check PASSED!", $time); + end + #(SYS_CLK_PERIOD * 5); + + // 测试3:连续两帧测试(验证FIFO和AXI写连续性) + $display("[%0t] Test 3: Continuous frame test", $time); + update_src_trig = 1'b1; + #(SYS_CLK_PERIOD * 2); + update_src_trig = 1'b0; + #(SYS_CLK_PERIOD * 2); + + // 发送第3帧(灰度) + input_pixel_type = 1'b0; + generate_ir_data(frame_cnt, 0); + frame_cnt = frame_cnt + 1; + wait(src_image_cache_done == 1'b1); + #(SYS_CLK_PERIOD * 5); + + // 发送第4帧(RGB) + input_pixel_type = 1'b1; + generate_ir_data(frame_cnt, 1); + frame_cnt = frame_cnt + 1; + wait(src_image_cache_done == 1'b1); + #(SYS_CLK_PERIOD * 10); + + // 测试4:更新触发测试(验证中途更新配置) + $display("[%0t] Test 4: Update trigger test", $time); + input_pixel_type = 1'b0; + generate_ir_data(frame_cnt, 0); + frame_cnt = frame_cnt + 1; + + // 中途发送更新触发 + #(SYS_CLK_PERIOD * 20); + update_src_trig = 1'b1; + #(SYS_CLK_PERIOD * 5); + update_src_trig = 1'b0; + #(SYS_CLK_PERIOD * 10); + + // 所有测试完成 + $display("[%0t] All tests completed!", $time); + $finish; +end + +// -------------------------- 监控AXI写事务 -------------------------- +always @(posedge sys_clk) begin + if (axi_m_awvalid && axi_m_awready) begin + $display("[%0t] AXI Write Transaction: Address=0x%08h, Length=%d", + $time, axi_m_awaddr, axi_m_awlen); + end + + if (axi_m_wvalid && axi_m_wready) begin + $display("[%0t] AXI Write Data: ID=%d, Data[31:0]=0x%08h, Last=%b", + $time, axi_m_wid, axi_m_wdata[31:0], axi_m_wlast); + end +end + +// -------------------------- 监控状态转换 -------------------------- +reg [2:0] prev_state; +always @(posedge sys_clk) begin + prev_state <= u_data_cache.curr_state; + if (prev_state != u_data_cache.curr_state) begin + case (u_data_cache.curr_state) + 3'b000: $display("[%0t] Data Cache State: IDLE", $time); + 3'b001: $display("[%0t] Data Cache State: WAIT_VS", $time); + 3'b010: $display("[%0t] Data Cache State: RECEIVE_DATA", $time); + 3'b011: $display("[%0t] Data Cache State: WRITE_FIFO", $time); + 3'b100: $display("[%0t] Data Cache State: WAIT_AXI", $time); + 3'b101: $display("[%0t] Data Cache State: FRAME_DONE", $time); + endcase + end +end + +endmodule diff --git a/tb/data_cache/tb_histogram_ctrl.v b/tb/data_cache/tb_histogram_ctrl.v new file mode 100644 index 0000000..a177b00 --- /dev/null +++ b/tb/data_cache/tb_histogram_ctrl.v @@ -0,0 +1,208 @@ +`timescale 1ns/1ps + +// 直方图控制模块Testbench(修复标识符未声明问题) +module tb_histogram_ctrl(); + +// -------------------------- 1. 参数定义(与待测试模块匹配) -------------------------- +parameter HIST_RAM_DEPTH = 256; // 直方图RAM深度(像素值0~255) +parameter HIST_RAM_DATA_W = 1; // 直方图RAM数据位宽(1bit标记像素存在) +parameter CLK_PERIOD = 10; // 时钟周期(10ns = 100MHz) +parameter RAM_CLEAR_CYCLES = 256; // 直方图复位需遍历256个地址(256个时钟周期) + +// -------------------------- 2. 信号定义(仅含模块接口信号,无内部信号引用) -------------------------- +reg clk; // 时钟 +reg rst_n; // 全局复位(低有效) +reg hist_rst; // 直方图复位 +reg input_pixel_type; // 像素类型(0=Gray,1=RGB) +// CH0 写信号(Gray模式有效/RGB模式R通道) +reg hist_wr_en_ch0; // CH0写使能 +reg [7:0] hist_wr_addr_ch0; // CH0写地址(像素值0~255) +// CH1 写信号(仅RGB模式G通道) +reg hist_wr_en_ch1; // CH1写使能 +reg [7:0] hist_wr_addr_ch1; // CH1写地址 +// CH2 写信号(仅RGB模式B通道) +reg hist_wr_en_ch2; // CH2写使能 +reg [7:0] hist_wr_addr_ch2; // CH2写地址 +// min/max计算配置 +reg [15:0] histogram_low_num; // 低位数(第N个有效像素作为min) +reg [15:0] histogram_high_num; // 高位数(第N个有效像素作为max) +reg calc_en; // 计算使能 +// 输出信号 +wire calc_done; // 计算完成 +wire [7:0] dwidth_conv_min_ch0;// CH0 min结果 +wire [7:0] dwidth_conv_max_ch0;// CH0 max结果 +wire [7:0] dwidth_conv_min_ch1;// CH1 min结果 +wire [7:0] dwidth_conv_max_ch1;// CH1 max结果 +wire [7:0] dwidth_conv_min_ch2;// CH2 min结果 +wire [7:0] dwidth_conv_max_ch2;// CH2 max结果 + +// -------------------------- 3. 生成时钟 -------------------------- +initial begin + clk = 1'b0; + forever #(CLK_PERIOD/2) clk = ~clk; // 5ns翻转,100MHz时钟 +end + +// -------------------------- 4. 实例化待测试模块 -------------------------- +histogram_ctrl #( + .HIST_RAM_DEPTH (HIST_RAM_DEPTH), + .HIST_RAM_DATA_W (HIST_RAM_DATA_W) +) u_histogram_ctrl ( + .clk (clk), + .rst_n (rst_n), + .hist_rst (hist_rst), + .input_pixel_type (input_pixel_type), + .hist_wr_en_ch0 (hist_wr_en_ch0), + .hist_wr_addr_ch0 (hist_wr_addr_ch0), + .hist_wr_en_ch1 (hist_wr_en_ch1), + .hist_wr_addr_ch1 (hist_wr_addr_ch1), + .hist_wr_en_ch2 (hist_wr_en_ch2), + .hist_wr_addr_ch2 (hist_wr_addr_ch2), + .histogram_low_num (histogram_low_num), + .histogram_high_num (histogram_high_num), + .calc_en (calc_en), + .calc_done (calc_done), + .dwidth_conv_min_ch0 (dwidth_conv_min_ch0), + .dwidth_conv_max_ch0 (dwidth_conv_max_ch0), + .dwidth_conv_min_ch1 (dwidth_conv_min_ch1), + .dwidth_conv_max_ch1 (dwidth_conv_max_ch1), + .dwidth_conv_min_ch2 (dwidth_conv_min_ch2), + .dwidth_conv_max_ch2 (dwidth_conv_max_ch2) +); + +// -------------------------- 5. 生成FSDB波形文件(Verdi可查看) -------------------------- +initial begin + $fsdbDumpfile("tb.fsdb"); // 波形文件命名为tb.fsdb + $fsdbDumpvars(0, tb_histogram_ctrl); // Dump顶层及所有子模块信号 + $fsdbDumpMDA(0, tb_histogram_ctrl); // Dump内部RAM(hist_ram_ch0/1/2)内容 +end + +// -------------------------- 6. 核心测试场景(无内部信号引用) -------------------------- +initial begin + // --------------- 步骤1:初始复位(清除不定态) --------------- + rst_n = 1'b0; + hist_rst = 1'b0; + input_pixel_type = 1'b0; + hist_wr_en_ch0 = 1'b0; + hist_wr_addr_ch0 = 8'd0; + hist_wr_en_ch1 = 1'b0; + hist_wr_addr_ch1 = 8'd0; + hist_wr_en_ch2 = 1'b0; + hist_wr_addr_ch2 = 8'd0; + histogram_low_num = 16'd2; // 找第2个有效像素作为min(跳过1个噪声点) + histogram_high_num = 16'd2; // 找第2个有效像素作为max(跳过1个噪声点) + calc_en = 1'b0; + + #(CLK_PERIOD * 5); // 复位保持5个时钟周期 + rst_n = 1'b1; // 释放全局复位 + #(CLK_PERIOD * 2); // 等待稳定 + + // --------------- 步骤2:测试直方图复位(替代原状态判断) --------------- + $display("[%0t] Test 1: Histogram Reset", $time); + hist_rst = 1'b1; // 触发直方图复位 + #(CLK_PERIOD); // 保持1个时钟周期确保状态切换 + hist_rst = 1'b0; // 释放复位 + #(CLK_PERIOD * RAM_CLEAR_CYCLES); // 等待复位完成(遍历256个地址) + #(CLK_PERIOD * 2); // 额外等待2个周期稳定 + $display("[%0t] Test 1 Done: Histogram RAM Cleared", $time); + + // --------------- 步骤3:灰度模式(Gray)写入与min/max计算 --------------- + $display("[%0t] Test 2: Gray Mode (Write + Calc min/max)", $time); + input_pixel_type = 1'b0; // 切换为Gray模式(仅CH0有效) + + // 3.1 写入Gray数据(有效像素值:10、20、30、40、50) + hist_wr_en_ch0 = 1'b1;#(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd10; #(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd20; #(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd30; #(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd40; #(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd50; #(CLK_PERIOD); + hist_wr_en_ch0 = 1'b0; // 关闭写使能 + #(CLK_PERIOD * 2); + + // 3.2 触发min/max计算(找第2个min=20,第2个max=40) + calc_en = 1'b1; + #(CLK_PERIOD); + calc_en = 1'b0; // 释放计算使能 + wait(calc_done == 1'b1); // 用输出信号判断计算完成(无需内部状态) + #(CLK_PERIOD); + + // 打印结果(预期:min_ch0=20,max_ch0=40) + $display("[%0t] Gray Mode Result: min_ch0=%0d, max_ch0=%0d (Expected: 20, 40)", + $time, dwidth_conv_min_ch0, dwidth_conv_max_ch0); + #(CLK_PERIOD * 2); + + // --------------- 步骤4:RGB模式写入与min/max计算 --------------- + $display("[%0t] Test 3: RGB Mode (Write + Calc min/max)", $time); + // 直方图复位(用时间等待替代状态判断) + hist_rst = 1'b1; + #(CLK_PERIOD); + hist_rst = 1'b0; + #(CLK_PERIOD * RAM_CLEAR_CYCLES); // 等待复位完成 + input_pixel_type = 1'b1; // 切换为RGB模式(CH0=R,CH1=G,CH2=B) + #(CLK_PERIOD * 2); + + // 4.1 写入RGB数据(R:15、25、35;G:45、55、65;B:75、85、95) + // 写R通道(CH0) + hist_wr_en_ch0 = 1'b1;#(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd15; #(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd25; #(CLK_PERIOD); + hist_wr_addr_ch0 = 8'd35; #(CLK_PERIOD); + hist_wr_en_ch0 = 1'b0; + + // 写G通道(CH1) + hist_wr_en_ch1 = 1'b1;#(CLK_PERIOD); + hist_wr_addr_ch1 = 8'd45; #(CLK_PERIOD); + hist_wr_addr_ch1 = 8'd55; #(CLK_PERIOD); + hist_wr_addr_ch1 = 8'd65; #(CLK_PERIOD); + hist_wr_en_ch1 = 1'b0; + + // 写B通道(CH2) + hist_wr_en_ch2 = 1'b1;#(CLK_PERIOD); + hist_wr_addr_ch2 = 8'd75; #(CLK_PERIOD); + hist_wr_addr_ch2 = 8'd85; #(CLK_PERIOD); + hist_wr_addr_ch2 = 8'd95; #(CLK_PERIOD); + hist_wr_en_ch2 = 1'b0; + #(CLK_PERIOD * 2); + + // 4.2 触发RGB模式计算(预期:R=25/25,G=55/55,B=85/85) + calc_en = 1'b1; + #(CLK_PERIOD); + calc_en = 1'b0; + wait(calc_done == 1'b1); // 用输出信号判断完成 + #(CLK_PERIOD); + + // 打印RGB结果 + $display("[%0t] RGB Mode Result: R(min=%0d, max=%0d), G(min=%0d, max=%0d), B(min=%0d, max=%0d) (Expected: R=25/25, G=55/55, B=85/85)", + $time, dwidth_conv_min_ch0, dwidth_conv_max_ch0, + dwidth_conv_min_ch1, dwidth_conv_max_ch1, + dwidth_conv_min_ch2, dwidth_conv_max_ch2); + #(CLK_PERIOD * 2); + + // --------------- 步骤5:测试“写+计算”并行触发 --------------- + $display("[%0t] Test 4: Trigger Write and Calc Simultaneously", $time); + // 直方图复位 + hist_rst = 1'b1; + #(CLK_PERIOD); + hist_rst = 1'b0; + #(CLK_PERIOD * RAM_CLEAR_CYCLES); + input_pixel_type = 1'b0; // 回到Gray模式 + #(CLK_PERIOD * 2); + + // 先写1个数据,再并行触发“写+计算” + hist_wr_en_ch0 = 1'b1; + hist_wr_addr_ch0 = 8'd5; #(CLK_PERIOD); + calc_en = 1'b1; // 同时触发计算 + hist_wr_addr_ch0 = 8'd15; #(CLK_PERIOD); + hist_wr_en_ch0 = 1'b0; + calc_en = 1'b0; + wait(calc_done == 1'b1); // 用输出信号判断完成 + #(CLK_PERIOD); + $display("[%0t] Test 4 Done: Simultaneous Trigger OK", $time); + + // --------------- 步骤6:测试完成,结束仿真 --------------- + #(CLK_PERIOD * 5); + $display("[%0t] All Tests Completed!", $time); + $finish; // 结束仿真 +end + +endmodule \ No newline at end of file diff --git a/tb/data_cache/tb_sync_fifo.v b/tb/data_cache/tb_sync_fifo.v new file mode 100644 index 0000000..92b4c92 --- /dev/null +++ b/tb/data_cache/tb_sync_fifo.v @@ -0,0 +1,156 @@ +`timescale 1ns/1ps + +module tb_sync_fifo(); + +// 参数定义,与被测试模块保持一致 +parameter DATA_WIDTH = 256; +parameter FIFO_DEPTH = 8; + +// 信号定义 +reg clk; +reg rst_n; +reg wr_en; +reg [DATA_WIDTH-1:0] wr_data; +wire full; +reg rd_en; +wire [DATA_WIDTH-1:0] rd_data; +wire empty; + +// 生成时钟,周期为10ns(100MHz) +initial begin + clk = 1'b0; + forever #5 clk = ~clk; +end + +// 实例化被测试的FIFO模块 +sync_fifo #( + .DATA_WIDTH(DATA_WIDTH), + .FIFO_DEPTH(FIFO_DEPTH) +) u_sync_fifo ( + .clk(clk), + .rst_n(rst_n), + .wr_en(wr_en), + .wr_data(wr_data), + .full(full), + .rd_en(rd_en), + .rd_data(rd_data), + .empty(empty) +); + +// 生成FSDB波形文件 +initial begin + $fsdbDumpfile("tb.fsdb"); // 指定波形文件名称 + $fsdbDumpvars(0, tb_sync_fifo); // 记录所有层次的信号 +end + +// 测试过程 +initial begin + // 初始化所有输入信号 + rst_n = 1'b0; + wr_en = 1'b0; + wr_data = {DATA_WIDTH{1'b0}}; + rd_en = 1'b0; + + // 复位操作 + #20; + rst_n = 1'b1; + #20; + + // 测试1: 连续写入数据直到FIFO满 + $display("Test 1: Writing until FIFO is full"); + + rd_en = 1'b0; + repeat (FIFO_DEPTH + 2) begin // 多写2个验证满状态保护 + + wr_data = $urandom_range(1, 255); // 生成1-255的随机数 + wr_en = 1'b1; + @(posedge clk); + end + wr_en = 1'b0; + #20; + + // 测试2: 连续读出数据直到FIFO空 + $display("Test 2: Reading until FIFO is empty"); + wr_en = 1'b0; + @(negedge clk); + rd_en = 1'b1; + repeat (FIFO_DEPTH + 2) begin // 多读2个验证空状态保护 + + @(posedge clk); + end + rd_en = 1'b0; + #20; + + // 测试3: 同时读写操作 + $display("Test 3: Simultaneous read and write"); + + repeat (30) begin // 同时进行30次读写 + wr_en = 1'b1; + rd_en = 1'b1; + wr_data = $urandom_range(1, 255); + @(posedge clk); + end + wr_en = 1'b0; + rd_en = 1'b0; + #20; + + // 测试4: 交替读写(写入一个,读出一个) + $display("Test 4: Alternate read and write"); + repeat (10) begin + // 写入一个数据 + wr_en = 1'b1; + rd_en = 1'b0; + wr_data = $urandom_range(1, 255); + @(posedge clk); + + // 读出一个数据 + wr_en = 1'b0; + rd_en = 1'b1; + @(posedge clk); + end + wr_en = 1'b0; + rd_en = 1'b0; + #20; + + // 测试5: 部分填充后连续读写 + $display("Test 5: Partial fill then continuous read/write"); + // 先填充一半 + wr_en = 1'b1; + rd_en = 1'b0; + repeat (FIFO_DEPTH/2) begin + wr_data = $urandom_range(1, 255); + @(posedge clk); + end + + // 然后同时读写 + wr_en = 1'b1; + rd_en = 1'b1; + repeat (20) begin + wr_data = $urandom_range(1, 255); + @(posedge clk); + end + + // 最后清空FIFO + wr_en = 1'b0; + rd_en = 1'b1; + repeat (FIFO_DEPTH/2) begin + @(posedge clk); + end + rd_en = 1'b0; + #50; + + $display("All tests completed!"); + $finish; +end + +// 监控异常操作并打印信息 +always @(posedge clk) begin + if (wr_en && full) begin + $display("%t: Error: Trying to write to a full FIFO!", $time); + end + if (rd_en && empty) begin + $display("%t: Error: Trying to read from an empty FIFO!", $time); + end +end + +endmodule