Files
TBgen_App/autoline/__pycache__/TB_cga.cpython-312.pyc

256 lines
35 KiB
Plaintext
Raw Normal View History

2026-03-30 16:46:48 +08:00
<EFBFBD>
<00><><EFBFBD>in<69><00><00><><00>dZddlZddlZddlZddlZddlZddlZddlm Z
ddl m Z ddl mZmZddlmZmZddlmZmZddlmZdd lmZdd
lmZmZmZGd <0B>d <0C>Zy) ah
Description : Coverage-Guided Agent (CGA) Main Controller
- Integrated with Layer 0: Semantic Analysis
- Integrated with Layer 1: Diversity Constraint Injection
- Integrated with Layer 3: Quality Evaluation
- Integrated with Layer 4: Energy Allocation
Author : CorrectBench Integration
<EFBFBD>N)<01>
autologger)<01>verilator_run_coverage)<02>CoverageParser<65>
TBInjector)<02>SemanticAnalyzer<65>FunctionPointType)<02>EnergyAllocator<6F> EnergyState)<01>DiversityInjector)<01>TestHistoryManager)<03>QualityEvaluator<6F>DiversityScore<72>SemanticCoverageResultc<00>x<00>eZdZdd<02>Zd<03>Zd<04>Zd<05>Zdedefd<08>Z d ed
e
d edefd <0C>Z d edefd<0E>Z ded edefd<10>Z d<11>Zy)<13> TaskTBCGANc <00><><00>||_||_||_||_||_||_||_|<08> |jjjn||_ |jjj|_
|jj|_ ||_ d|_t<00>|_t<00>|_d|_d|_d|_y)N<>)<15>task_dir<69>task_id<69>header<65>DUT_code<64>TB_code<64>config<69> work_subdir<69>autoline<6E>cga<67>max_iter<65>target_coverage<67>gpt<70>model<65>best_tb<74>
best_score<EFBFBD>set<65>best_covered_lines<65>best_covered_functions<6E>energy_allocator<6F>diversity_injector<6F>quality_evaluator) <09>selfrrrrrrrrs <20>5/home/zhang/CorrectBench/TBgen_App/autoline/TB_cga.py<70>__init__zTaskTBCGA.__init__<5F>s<><00><00> <20><04> <0A><1E><04> <0C><1C><04> <0B> <20><04> <0A><1E><04> <0C><1C><04> <0B>&<26><04><18>8@<40>8H<38><06><0F><0F>+<2B>+<2B>4<>4<>h<EFBFBD><04> <0A>%<25><EFBFBD><EFBFBD>2<>2<>B<>B<><04><1C><1B>Z<EFBFBD>Z<EFBFBD>%<25>%<25><04>
<EFBFBD><1E><04> <0C><1D><04><0F>"%<25>%<25><04><1F>&)<29>e<EFBFBD><04>#<23>26<32><04><1D>59<35><04><1F>37<33><04><1E>c<00>D<00>tjj|jd<01>}tjj|d<01>}tjj |<02>rt j ||<03>ytj|j|<03>y)N<>DUT.v)
<EFBFBD>os<6F>path<74>joinr<00>exists<74>shutil<69>copy<70>ls<6C> save_coder)r)<00>
target_dir<EFBFBD>
source_dut<EFBFBD>
target_duts r*<00> _prepare_dutzTaskTBCGA._prepare_dut<75>sb<00><00><17>W<EFBFBD>W<EFBFBD>\<5C>\<5C>$<24>-<2D>-<2D><17>9<>
<EFBFBD><17>W<EFBFBD>W<EFBFBD>\<5C>\<5C>*<2A>g<EFBFBD>6<>
<EFBFBD> <0E>7<EFBFBD>7<EFBFBD>><3E>><3E>*<2A> %<25> <12>K<EFBFBD>K<EFBFBD>
<EFBFBD>J<EFBFBD> /<2F> <0F>L<EFBFBD>L<EFBFBD><14><1D><1D>
<EFBFBD> 3r,c<00><><00>t<00>t<00>t<00>d<01>}|rtjj|<01>s|St j
d<02>}t j
d<03>}t j
d<04>}t j
d<05>}t j
d<06>}t |ddd <09>
<EFBFBD>5}t|d <0B> <0C>D<00>]<5D>\} }
|
j<00>} | s<01>d } d } d}|j| <0B>}|r:t|jd <0B><00>} |jd<0F>j<00>} n<>|j| <0B>}|r:t|jd <0B><00>} |jd<0F>j<00>} n<>|j| <0B>}|r"d}|jd<0F>j<00>} nL|j| <0B>}|r9t|jd <0B><00>} |jd<0F>j<00>} | <0A><02><01>?d| vr#| jdd <0B>dj<00>} | s<02><01>j|j| <0A>r<02><01>}| dvr<02><01><>td<14>| D<00><00>s<02><01><>|dj| <09>| <0C><02><01><>| dkDs<02><01><>|r<02><01><>|dj| <09><00><01><> d d d <0A>|j|d<00>|d<|S#1swY<00>"xYw)ua
从 Verilator annotated DUT 中提取当前已覆盖行和已覆盖功能点。
<20><03> covered_lines<65>covered_functions<6E>coverable_linesz^%(\d+)\s+(.*)$z^~(\d+)\s+(.*)$z^\^(\d+)\s+(.*)$z^\s*(\d+)\s+(.*)$zE^\s*(input|output|inout|wire|reg|logic|parameter|localparam|assign)\b<>rzutf-8<>ignore)<02>encoding<6E>errors<72>)<01>startNF<4E>Tz//r><00>);<3B>default:<3A>end<6E>else<73>begin<69>endcase<73> endmodulec3<00><K<00>|]}|j<00><00><01><00>y<00>w<01>N)<01>isalnum)<02>.0<EFBFBD>chs r*<00> <genexpr>z7TaskTBCGA._extract_coverage_snapshot.<locals>.<genexpr>"s<00><00><><00><<3C>B<EFBFBD>2<EFBFBD>:<3A>:<3A><<3C><<3C>s<00>r?r=r>)r#r/r0r2<00>re<72>compile<6C>open<65> enumerate<74>strip<69>match<63>int<6E>group<75>split<69>any<6E>add<64>_map_lines_to_function_points)r)<00>annotated_path<74>snapshot<6F> pct_pattern<72> tilde_pattern<72> caret_pattern<72> plain_pattern<72> decl_pattern<72>f<>line_no<6E>raw_line<6E>stripped<65>count<6E> code_part<72>is_caretrYs r*<00>_extract_coverage_snapshotz$TaskTBCGA._extract_coverage_snapshot<6F>s|<00><00>
!<21>U<EFBFBD>!$<24><15>"<22>u<EFBFBD>
<EFBFBD><08> <1E>R<EFBFBD>W<EFBFBD>W<EFBFBD>^<5E>^<5E>N<EFBFBD>%C<><1B>O<EFBFBD><18>j<EFBFBD>j<EFBFBD>!3<>4<> <0B><1A>
<EFBFBD>
<EFBFBD>#5<>6<> <0A><1A>
<EFBFBD>
<EFBFBD>#6<>7<> <0A><1A>
<EFBFBD>
<EFBFBD>#7<>8<> <0A><19>z<EFBFBD>z<EFBFBD>"j<>k<> <0C> <11>.<2E>#<23><07><08> I<>/ ;<3B>Q<EFBFBD>%.<2E>q<EFBFBD><01>%:<3A>. ;<3B>!<21><07><18>#<23>><3E>><3E>+<2B><08><1F><1C><1C><05> <20> <09> <20><08>#<23>)<29>)<29>(<28>3<><05><18><1F><05> <0B> <0B>A<EFBFBD><0E>/<2F>E<EFBFBD> %<25> <0B> <0B>A<EFBFBD><0E> 4<> 4<> 6<>I<EFBFBD>)<29>/<2F>/<2F><08>9<>E<EFBFBD><1C> #<23>E<EFBFBD>K<EFBFBD>K<EFBFBD><01>N<EFBFBD> 3<><05>$)<29>K<EFBFBD>K<EFBFBD><01>N<EFBFBD>$8<>$8<>$:<3A> <09> -<2D> 3<> 3<>H<EFBFBD> =<3D><05> <20>'+<2B>H<EFBFBD>(-<2D> <0B> <0B>A<EFBFBD><0E>(<<3C>(<<3C>(><3E>I<EFBFBD>$1<>$7<>$7<><08>$A<>E<EFBFBD>$<24>(+<2B>E<EFBFBD>K<EFBFBD>K<EFBFBD><01>N<EFBFBD>(;<3B><05>,1<>K<EFBFBD>K<EFBFBD><01>N<EFBFBD>,@<40>,@<40>,B<> <09><1C>$<24><1C><17>9<EFBFBD>$<24> )<29><0F><0F><04>a<EFBFBD> 8<><11> ;<3B> A<> A<> C<>I<EFBFBD> <20><1C><1F>%<25>%<25>i<EFBFBD>0<><1C><1C> b<>b<><1C><1A><<3C>)<29><<3C><<3C><1C><18>*<2A>+<2B>/<2F>/<2F><07>8<><19>%<25>E<EFBFBD>A<EFBFBD>I<EFBFBD>x<EFBFBD><1C>_<EFBFBD>-<2D>1<>1<>'<27>:<3A>]. ;<3B>/ ;<3B>b)-<2D>(J<>(J<>8<EFBFBD>Tc<54>Kd<4B>(e<><08>$<24>%<25><17><0F>e/ ;<3B>/ ;<3B>s<00>:F;J;<03>7J;<03>>J;<03>J;<03>;Kc<00><><00><05><06>t<00>}|js|S|jjdg<00>D]z}|jdi<00>}|jdd<04><00>|jdd<04><00><05>dks<05>dkr<01>Dt<00><05>fd<06>|D<00><00>s<01>Z|j |jdd<08><00><00>||j d<08>|S) ug
用功能点 location 与已覆盖行做交集,推断当前已命中的功能点。
<20>function_points<74>location<6F>
start_liner<00>end_linec3<00>><00>K<00>|]}<01>|cxkxr<00>knc<00><01><00>y<00>wrO<00>)rQrhrsrrs <20><>r*rSz:TaskTBCGA._map_lines_to_function_points.<locals>.<genexpr><s<00><><00><><00>R<><17>:<3A><17>4<>H<EFBFBD>4<>4<>R<>s<00><01>name<6D>)r#<00>semantic_result<6C>getr]r^<00>discard)r)r=<00>matched<65>fprqrsrrs @@r*r_z'TaskTBCGA._map_lines_to_function_points,s<><00><><00><16>%<25><07><13>#<23>#<23><1A>N<EFBFBD><16>&<26>&<26>*<2A>*<2A>+<<3C>b<EFBFBD>A<> 0<>B<EFBFBD><19>v<EFBFBD>v<EFBFBD>j<EFBFBD>"<22>-<2D>H<EFBFBD>!<21><1C><1C>l<EFBFBD>A<EFBFBD>6<>J<EFBFBD><1F>|<7C>|<7C>J<EFBFBD><01>2<>H<EFBFBD><1A>a<EFBFBD><0F>X<EFBFBD><11>]<5D><18><12>R<>M<EFBFBD>R<>R<><17> <0B> <0B>B<EFBFBD>F<EFBFBD>F<EFBFBD>6<EFBFBD>2<EFBFBD>.<2E>/<2F> 0<> <10><0F><0F><02><1B><16>r,<00> iteration<6F>returnc <00><><00>d}|jr^|jjdi<00>}|r@|jdg<00>}|jdd<05>}d|<05>d|rdj|<04>nd <09>d
<EFBFBD>}d}|jrI|jjr3|jj}d |j
<00>d |j <00>d <0A>}d}|j<00>r
|jj} | r<>t| d<0E>r<>t| j<00>dkDr<>t| j<00>dkDr| jddn | j}
d}t|
<EFBFBD>D]<5D>\} } t| d<14>r t| dd <09>n#t| t<00>r| jdd <09>nd }t| d<15>r t| d| <0B>n#t| t<00>r| jd| <0B>n| }|d|<01>d|<07>d <0A>z }<08><>d|<01>d|j d<1A>d|<02>d |<06>d |<08>d<1C> } | S)uV
生成探索性测试 Prompt
当找不到明确的 missing blocks 但覆盖率仍未达标时,
生成一个探索性 Prompt 来尝试发现新的测试路径。
Args:
iteration: 当前迭代次数
Returns:
探索性测试 Prompt如果无法生成则返回 None
rw<00>fsm<73>states<65>state_variable<6C>statez%
[FSM INFORMATION]
- State variable: z
- Known states: z, <20>unknowna
The DUT appears to be a Finite State Machine. To improve coverage:
1. Try to visit each state by driving inputs that trigger state transitions
2. For each state, try different input combinations
3. Consider edge cases: reset transitions, timeout conditions, error states
z
[CURRENT TARGET]
Focus on: z
Remaining energy: <20>
<EFBFBD>recordsr<00><00><><EFBFBD><EFBFBD><EFBFBD>NzL
[RECENTLY TRIED APPROACHES - AVOID REPETITION]
Recent test patterns tried:
<EFBFBD>target_functionr}z- Iter z : target=z
[EXPLORATION MODE - ITERATION z]
Current coverage is <20>.2fz<EFBFBD>%, but no specific uncovered code blocks were identified.
This may happen when:
1. Coverage data is incomplete or filtered
2. Branch/condition coverage needs improvement (not just line coverage)
3. State transitions in FSM are not fully exercised
a<EFBFBD>
[YOUR TASK]
Write an EXPLORATORY test scenario that:
1. Covers different input combinations than previous tests
2. Explores different FSM state transitions
3. Tests edge cases and boundary conditions
4. Varies timing and sequence of inputs
[OUTPUT FORMAT]
Return ONLY Verilog test scenario code (no task wrapper).
Use the signal names from the testbench.
```verilog
// Your exploratory test code here
```
)rxryr1r&<00>current_target<65>function_point<6E> remainingr'<00>history<72>hasattr<74>lenr<6E>rW<00>getattr<74>
isinstance<EFBFBD>dictr")r)r}<00>fsm_info<66>fsm_datar<61><00> state_var<61> target_info<66>target<65>diversity_hintsr<73><00> recent_tests<74>i<>test<73>prompts r*<00>_generate_exploration_promptz&TaskTBCGA._generate_exploration_promptBsr<00><00><16><08> <0F> <1F> <1F><1B>+<2B>+<2B>/<2F>/<2F><05>r<EFBFBD>:<3A>H<EFBFBD><17>!<21><1C><1C>h<EFBFBD><02>3<><06>$<24>L<EFBFBD>L<EFBFBD>)9<>7<EFBFBD>C<> <09> <13><1C>+<2B><11>&,<2C><14><19><19>6<EFBFBD>"<22>)<29><<3C>=<01> <04><08><19> <0B> <0F> <20> <20>T<EFBFBD>%:<3A>%:<3A>%I<>%I<><19>*<2A>*<2A>9<>9<>F<EFBFBD> <0B> <11> <20> <20>
!<21>"<13><19>#<23>#<23>$<24>%<01><04>K<EFBFBD><1D><0F> <0F> "<22> "<22><1A>-<2D>-<2D>5<>5<>G<EFBFBD><16>7<EFBFBD>7<EFBFBD>I<EFBFBD>6<>3<EFBFBD>w<EFBFBD><EFBFBD><EFBFBD>;O<>RS<52>;S<>7:<3A>7<EFBFBD>?<3F>?<3F>7K<37>a<EFBFBD>7O<37>w<EFBFBD><EFBFBD><EFBFBD>r<EFBFBD>s<EFBFBD>3<>U\<5C>Ud<55>Ud<55> <0C>'<01><0F> )<29><1C>6<>P<01>G<EFBFBD>A<EFBFBD>t<EFBFBD>LS<4C>TX<54>Zk<5A>Ll<4C>W<EFBFBD>T<EFBFBD>+<<3C>i<EFBFBD>H<>]g<02>hl<02>nr<02>]s<02>rv<72>rz<72>rz<72>|M<02>OX<02>sY<02>yB<03>F<EFBFBD>AH<41><14>{<7B>A[<5B><07><04>k<EFBFBD>1<EFBFBD> =<3D>~H<02>IM<02>OS<02>~T<02>ae<61>ai<61>ai<61>ju<6A>wx<77>ay<61>Z[<02>I<EFBFBD>#<23><17><19> <0B>9<EFBFBD>V<EFBFBD>H<EFBFBD>B<EFBFBD>'O<>O<>O<EFBFBD> P<01> <1F>(<28>k<EFBFBD>*<15><19>_<EFBFBD>_<EFBFBD>S<EFBFBD>)<29>*<01> 
<EFBFBD>
<EFBFBD> <01> <0C> <0A><01><10><11><01><04><06>8<16> r,<00> original_code<64> syntax_issues<65>original_promptc<00><><00>g}|jdg<00>D]5}|jd|d<00><00><02>d|vs<01>|jd|d<00><00><02><00>7|jdg<00>D]5}|jd|d<00><00><02>d|vs<01>|jd|d<00><00><02><00>7|jdg<00>D]"}|dd k(s<01> |jd
|d<00><00><02><00>$d td <0C>j|<04><00>d |<01>d<0E>}|S)u
生成语法修正 Prompt让 LLM 修复检测到的语法问题
Args:
original_code: 原始生成的代码
syntax_issues: 语法检查结果
original_prompt: 原始 Prompt
Returns:
修正 Prompt
<20>width_mismatchz- <20>message<67>
suggestionz Suggestion: <20> logic_issues<65>syntax_warnings<67>severity<74>errorz - ERROR: z]
[SYNTAX FIX REQUEST]
The previously generated Verilog test code has the following issues:
<EFBFBD>
z
[ORIGINAL CODE]
```verilog
a
```
[YOUR TASK]
Fix the above code to address these issues. Pay special attention to:
1. **Width Mismatch**: When you want to input a bit sequence (e.g., 01111100) to a single-bit signal:
- WRONG: `{in} = 8'b01111100;` (truncates to single bit)
- CORRECT: Use a shift register
```verilog
reg [7:0] shift_reg;
shift_reg = 8'b01111100;
for (i = 0; i < 8; i = i + 1) begin
in = shift_reg[7];
shift_reg = shift_reg << 1;
@(posedge clk);
end
```
2. **Single-bit Shift**: Shifting a 1-bit signal has no effect:
- WRONG: `in = in >> 1;` (always results in 0)
- CORRECT: Use a multi-bit shift register as shown above
[OUTPUT FORMAT]
Return ONLY the corrected Verilog test scenario code:
```verilog
// Your corrected test code here
```
)ry<00>append<6E>chrr1)r)r<>r<>r<><00> issues_text<78>issuer<65>s r*<00>_generate_syntax_fix_promptz%TaskTBCGA._generate_syntax_fix_prompt<70>sG<00><00><19> <0B>"<22>&<26>&<26>'7<><12><<3C> K<01>E<EFBFBD> <17> <1E> <1E><12>E<EFBFBD>)<29>$4<>#5<>6<> 7<><1B>u<EFBFBD>$<24><1B>"<22>"<22>^<5E>E<EFBFBD>,<2C>4G<34>3H<33>#I<>J<> K<01>
#<23>&<26>&<26>~<7E>r<EFBFBD>:<3A> K<01>E<EFBFBD> <17> <1E> <1E><12>E<EFBFBD>)<29>$4<>#5<>6<> 7<><1B>u<EFBFBD>$<24><1B>"<22>"<22>^<5E>E<EFBFBD>,<2C>4G<34>3H<33>#I<>J<> K<01>
#<23>&<26>&<26>'8<>"<22>=<3D> C<01>E<EFBFBD><14>Z<EFBFBD> <20>G<EFBFBD>+<2B><1B>"<22>"<22>Y<EFBFBD>u<EFBFBD>Y<EFBFBD>/?<3F>.@<40>#A<>B<> C<01><01>
<05>R<EFBFBD><17><1C><1C>k<EFBFBD><1A><1B><01><0F><0F><01>%<04><06>L<16> r,<00>iter_dirc<00><><00>g}tjj|d<01>}tjj|<03>s|j d<02>tjj|d<03>tjj|d<04>tjj|d<05>g}|D]<5D>}tjj|<05>s<01># t |dd<07><08>5}|j <00>}|j<00>rF|j d tjj|<05><00>d
<EFBFBD><03>|j |d d <00>d d d <0C><00><>|sE|j d |<01>d<0E><03> tj|<01>D]}|j d|<08><00><02><00> |rdj|<02>SdS#1swY<00>gxYw#t$rY<00><01>wxYw#t$rY<00><wxYw)u<>
获取 Verilator 编译错误日志
Args:
iter_dir: 迭代目录
Returns:
错误日志字符串
<20>obj_dirz.obj_dir not created - compilation failed earlyz verilator.logz compile.logzVtestbench.logr@rA)rCz=== z ===i0<69><30><EFBFBD>NzDirectory contents of <20>:z r<>zUnknown compilation error) r/r0r1r2r<>rV<00>readrX<00>basename<6D> Exception<6F>listdir) r)r<><00> error_partsr<73><00> log_files<65>log_filerg<00>content<6E>items r*<00>_get_compile_errorzTaskTBCGA._get_compile_error<6F>s<><00><00><19> <0B><15>'<27>'<27>,<2C>,<2C>x<EFBFBD><19>3<><07><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>g<EFBFBD>&<26> <17> <1E> <1E>O<> P<> <0F>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><18>?<3F> 3<> <0E>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><18>=<3D> 1<> <0E>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><17>"2<> 3<>
<EFBFBD> <09> "<22> <19>H<EFBFBD><11>w<EFBFBD>w<EFBFBD>~<7E>~<7E>h<EFBFBD>'<27><19><1D>h<EFBFBD><03>H<EFBFBD>=<3D>@<01><11>"#<23>&<26>&<26>(<28><07>"<22>=<3D>=<3D>?<3F>'<27>.<2E>.<2E><14>b<EFBFBD>g<EFBFBD>g<EFBFBD>6F<36>6F<36>x<EFBFBD>6P<36>5Q<35>QU<51>/V<>W<>'<27>.<2E>.<2E>w<EFBFBD>u<EFBFBD>v<EFBFBD><EFBFBD>?<3F> @<01><> <19><1B> <17> <1E> <1E>!7<><08>z<EFBFBD><11>C<> D<> <15><1E>J<EFBFBD>J<EFBFBD>x<EFBFBD>0<>4<>D<EFBFBD><1F>&<26>&<26><12>D<EFBFBD>6<EFBFBD>{<7B>3<>4<>
*5<>t<EFBFBD>y<EFBFBD>y<EFBFBD><1B>%<25>U<>:U<>U<>#@<01>@<01><>
!<21><19><18><19><><1D> <15><14> <15>s=<00>F?<02>&A'F3<05> F?<02>/.G<00>3F< <09>8F?<02>? G <05> G <05> G<03>G<03> compile_errorc<00><00><06>|jd<01>}g}|D]G<00><06>j<00><00>t<00>fd<02>dD<00><00>r|j<00><06>t |<04>dkDs<01>Gnd|rt d<04>j |<04>n|dd<00>d|dd <00>d
<EFBFBD>}|S) u<>
生成编译错误修正 Prompt
Args:
compile_error: 编译错误日志
original_code: 原始代码
Returns:
修正 Prompt
r<>c3<00>B<00>K<00>|]}|<01>j<00>v<00><01><00>y<00>wrO)<01>lower)rQ<00>kw<6B>lines <20>r*rSz9TaskTBCGA._generate_compile_fix_prompt.<locals>.<genexpr>s<00><><00><><00>e<>"<22>2<EFBFBD><14><1A><1A><1C>%<25>e<>s<00>)r<><00>syntax<61>fatal<61> undefined<65>illegalr<6C>zx
[COMPILATION ERROR FIX REQUEST]
The Verilog test code failed to compile with Verilator. Here are the key errors:
```
Ni<EFBFBD>z!
```
[ORIGINAL CODE]
```verilog
i<EFBFBD>ar // Truncated if too long
```
[COMMON VERILOG ISSUES TO CHECK]
1. **Width mismatch**: Assigning wide values to narrow signals
- Problem: `{in} = 8'b01111100;` where `in` is 1-bit
- Fix: Use shift register to input bits one at a time
2. **Undefined signals**: Using signals that are not declared
- Check spelling of signal names against the testbench
3. **Syntax errors**: Missing semicolons, mismatched begin/end
- Check all statements end with semicolon
- Ensure all `begin` have matching `end`
4. **Timescale issues**: Missing timescale directive
- The testbench should have `timescale 1ns / 1ps`
[YOUR TASK]
Generate a CORRECTED version of the test code that will compile successfully.
Focus on fixing the specific errors shown above.
[OUTPUT FORMAT]
Return ONLY the corrected Verilog test scenario code:
```verilog
// Your corrected test code here
```
)r\rXr]r<>r<>r<>r1)r)r<>r<><00> error_lines<65>
key_errorsr<EFBFBD>r<>s @r*<00>_generate_compile_fix_promptz&TaskTBCGA._generate_compile_fix_prompt s<><00><><00>$<24>)<29>)<29>$<24>/<2F> <0B><17>
<EFBFBD><1F> <16>D<EFBFBD><17>:<3A>:<3A><<3C>D<EFBFBD><12>e<>0d<30>e<>e<><1A>!<21>!<21>$<24>'<27><12>:<3A><EFBFBD><12>#<23><15>  <16><01> (<28><13>R<EFBFBD><17><1C><1C>j<EFBFBD><19>]<5D>5<EFBFBD>D<EFBFBD>-A<>B<>C<01>
<0F>u<EFBFBD><04><15><16><01>'<04><06>P<16> r,c <00>L%<00>tjd|j<00>d<02><03>tjj |j |j<00>}tjj|<01>rtj|<01>tj|d<03><04>tjd|j<00>d<05><03>d|_ t|j<00>}|j<00>|_ t!|jj#dg<00><00>}|j%<00>}|rEtjd|j#dd <09><00>d
t!|j#d g<00><00><00>d <0C><05>tjd |<03><00><02>|j'<00>}t)j*|tjj |d<0E><00>|jj#d<06>r_t-|j.<00><0F>|_|j0j3|jd<00>}tjd|d<00>d<12><03>tjj |d<13>}t5|<07><14>}t7|<08><15>|_tjd|<07><00><02>|jj#d<06>r3t;|jd<00><17>|_tjd<18>|jB}
d} tjd<1B>tjj |d<1C>} tj| d<03><04>|jE| <0C>t)j*|
tjj | d<1D><00>tG| dd<1D>\} }}||_$|
|_%|} |jM|<0F>}tO|d<00>|_(tO|d <00>|_)|j0r:|jRr.|j0jUtW|jR<00><00>|j<rR|jRrF|j<jXj[|jPtW|jR<00>dd!<21>"<22>tjd#|d$<24>d%<25><03>||j\k\r-tj^d&<26>|jJ|jHfStad'|j.d'z<00>D<00>
]<5D>}tjd(|<11>d)|j.<00>d*<2A><05>tjj |d+|<11><00><02>}tj|d<03><04>|j0rL|j0jc<00>}|stjd,<2C><00>
ntjd-|<13><00><02>| s<00> n<>te| |jJ|j|j0|j8|j<00>.<2E>}|jg|jH<00>}|s<>|jH|j\k\r'tj^d/|jHd$<24>d%<25><03><00> n[tj@d0|jHd$<24>d1|j\<00>d2<64><05>tjd3<64>|ji|<11>}|stjd4<64><00>n<>t)j*|tjj |d5<64><00>tjd6|jHd$<24>d7<64><03>d8|d9<64>g} tkjl||jn<00>\}}t)j*|tjj |d:<3A><00>tkjp|d;<3B>}|r|d!nd<}|s,|j0r|j0jsd=d>d?<3F>@<40><00><02><> t)j*|tjj |dB<64><00>tw|jJ<00>}|jy||<11>C<EFBFBD>}|jz}|r|j#dDi<00>ni}|j#dEd=<3D><00>r<tj@dF|<11>dG<64><03>|j}|||<15>}|<1F>r tkjld8|d9<64>g|jn<00>\} }tkjp| d;<3B>}!|!r<>|!d!}t)j*|tjj |dH<64><00>t)j*| tjj |dI<64><00>t)j*|tjj |dJ<64><00>|jy||<11>C<EFBFBD>}tjdF|<11>dK<64><03>|jE|<12>t)j*|tjj |d<1D><00>tG|dd<1D>\} }"}#| <0A>s1|j|<12>}$|$<24>rtjtdF|<11>dM<64><03>tjt|$ddN<00>t<>|dO<64>si|_A|j<>j#|d!<21>|j<>|<|j<>|d'k<00>r<>tjdF|<11>dP<64><03>|j<>|$|<1A>}% tkjld8|%d9<64>g|jn<00>\}&}tkjp|&d;<3B>}'|'<27>r|'d!}(t)j*|%tjj |dQ<64><00>t)j*|&tjj |dR<64><00>t)j*|(tjj |dS<64><00>|jy|(|<11>C<EFBFBD>}t)j*|tjj |d<1D><00>tG|dd<1D>\} }"}#| rtjdF|<11>dT|"d$<24>d%<25><05>|(}|j<>|xxd'z cc<| r|jM|#<23>ntO<00>tO<00>tO<00>dV<64>})tO|)d<00>}*tO|)d <00>}+|*|jPz
},|+|jRz
}-| r|"|jHz
nd>}.d}/d=}0|j0rP|j0j<>r:|j0j<>j<>}/|+r|/|+v}0n| xr|"|jHkD}0| xr|0}1|j0rd|j0js|1|.d?<3F>@<40>tO|-<2D>}2|1r|/r|2j<32>|/<2F>|2r$|j0jUtW|2<><00>|j8r<>g}3|jr9|jj#dWg<00>D<00>4cgc]}4|4j#dXd<<3C><00><02>}3}4|j8j<>||j0r6|j0j<>r |j0j<>j<>nd<|"|1||3<>Y<EFBFBD>|j<r<>|j<j<>||,tW|-<2D>d+|<11><00>|<11>Z<EFBFBD>}5|5j#d[i<00>j#d\d!<21>}6tjd]|6d$<24><04><02>|j<j<>|5<>\}7}8|7stj@d^|8<><00><02>| ri|"|jHkDrZ|"|jHz
}9tj^d_|9d$<24>d`|jHd$<24>da|"d$<24>db<64><07>|"|_$||_%|#} |*|_(|+|_)n<| r%|"|jHk(rtjdc<64>ntj@dd<64>|jH|j\k\s<02>
<EFBFBD><EFBFBD>tj^de<64>ntjdf|jHd$<24>d%<25><03>|j0rg|j0j<><00>}:t)j*|:tjj |dg<64><00>tjdh|<01>di<64><03>|j8r<>|j8j<><00>};t)j*|;tjj |dj<64><00>tjdk|<01>dl<64><03>|j8j<>j<><00>|j<r<>|j<j<><00>}<t)j*|<tjj |dm<64><00>tjdn|<01>do<64><03>|j<jXj<><00>}=tjdp|=jXdq<64><04><02>|jJ|jHfS#t>$r$} tj@d| <09>d<1A><03>Yd} ~ <09><0E><>d} ~ wwxYw#t>$rN} tjtdA| <09><00><02>|j0r|j0jsd=d>d?<3F>@<40>Yd} ~ <00><02><>d} ~ wwxYw#t>$r&} tj@dF|<11>dL| <09><00><04>Yd} ~ <09><08><>d} ~ wwxYw#t>$r&} tj@dF|<11>dU| <09><00><04>Yd} ~ <09><06><>d} ~ wwxYwcc}4w)rN<72>[z)] Starting Coverage-Guided Agent (CGA)...T)<01>exist_okz(] Running Semantic Analysis (Layer 0)...rpz FSM detected: r<>r<>z (r<>z states)z$ Total function points identified: zsemantic_analysis.txt)<01>max_iterationsz Energy allocator initialized: <20>targetsz targetsztest_history.json)<01> history_file)<01>history_managerz4 Diversity injector initialized with history file: )rpz Quality evaluator initializedzSemantic analysis failed: z'. Continuing without semantic guidance.z--- CGA Iter 0 (Baseline) ---<2D>iter_0zdriver.vr.r=r>r)r=r><00>test_idr}zBaseline Coverage: r<><00>%zTarget reached at baseline!rDz --- CGA Iter z / z ---<2D>iter_z7No more active targets with remaining energy. Stopping.zTarget: )<05>tb_coderxr&r'<00>dut_codezTarget coverage reached: z1No reachable missing blocks found, but coverage (z %) < target (z%).z<Attempting random exploration to discover uncovered paths...z0Could not generate exploration prompt. Stopping.z
prompt.txtz*Asking LLM to fix missing logic (Current: z%)...<2E>user)<02>roler<65>zllm_response.txt<78>verilogrwFrg<00>?)<03>success<73>coverage_delta<74> energy_costzLLM Call failed: zgenerated_scenario.v)<01>iter_idx<64> syntax_check<63> should_retryz[CGA-z?] Syntax issues detected in generated code. Attempting retry...zretry_prompt.txtzretry_response.txtzgenerated_scenario_retry.vz#] Retry code generated successfullyz] Retry failed: z] Verilator compilation failed:i<><00>_compile_retry_countz)] Asking LLM to fix compilation errors...zcompile_fix_prompt.txtzcompile_fix_response.txtz generated_scenario_compile_fix.vz] Compilation fixed! Score: z] Compile fix attempt failed: r<<00>portsrv)<06>coder<65><00>coverage_scorer<65>r}<00> known_signals)r<>r=r>r<>r}<00> diversity<74> overall_scorez Quality Evaluation: diversity=z Quality check failed: zCoverage Improved! +z% (z% -> z%)z%Coverage unchanged. Keeping previous.z*Regression or Failure. Discarding changes.zTarget coverage reached!zCGA Finished. Final Coverage: zenergy_report.txtzEnergy report saved to z/energy_report.txtzdiversity_report.txtzDiversity report saved to z/diversity_report.txtzquality_evaluation_report.txtz#Quality evaluation report saved to z/quality_evaluation_report.txtzSemantic Coverage: z.2%)N<>logger<65>inforr/r0r1rrr2r3<00>rmtree<65>makedirsrxrr<00>analyzer<65>ry<00> get_fsm_info<66>generate_prompt_contextr5r6r rr&<00>
initializer r r'r r(r<><00>warningrr:rr"r!rnr#r$r%<00>mark_targets_completed<65>sorted<65>semantic_coverage<67>update_coveragerr<><00>range<67>select_next_targetr<00>generate_promptr<74><00>llm<6C>llm_callr <00> extract_code<64>record_generationr<6E>r<00>inject<63>last_validation_resultr<74>r<>r<>r<>r<>r<>r<>rz<00> record_test<73>evaluate_test_case<73> should_accept<70>generate_report<72>generate_diversity_reportr<74><00>save<76>calculate_coverage)>r)<00>work_dir<69>semantic_analyzer<65>fp_countr<74><00>semantic_report<72>energy_init_resultr<74>r<><00>e<>
current_tb<EFBFBD>last_annotated_file<6C> iter0_dirr<72><00>scorer`<00>baseline_snapshotr<74>r<>r<><00>parserr<72><00>messages<65>response<73>_<>codes<65> new_task_code<64>injector<6F> enhanced_tb<74>validation_resultr<74><00> retry_prompt<70>retry_response<73> retry_codes<65> new_score<72>new_annotated_pathr<68><00>
fix_prompt<EFBFBD> fix_response<73> fix_codes<65>
fixed_code<EFBFBD>coverage_snapshot<6F>current_covered_lines<65>current_covered_functions<6E>newly_covered_lines<65>newly_covered_functionsr<73><00>current_target_name<6D>
target_hit<EFBFBD>generation_success<73>extra_completed_functionsr<73><00>p<> eval_result<6C>diversity_scorer<00>reason<6F> improvement<6E> energy_report<72>diversity_report<72>quality_report<72>coverage_results> r*<00>runz TaskTBCGA.runMs<00><00><0E> <0B> <0B>a<EFBFBD><04> <0C> <0C>~<7E>%N<>O<>P<><16>7<EFBFBD>7<EFBFBD><<3C><<3C><04> <0A> <0A>t<EFBFBD>/?<3F>/?<3F>@<40><08> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>(<28> #<23> <12>M<EFBFBD>M<EFBFBD>(<28> #<23>
<EFBFBD> <0B> <0B>H<EFBFBD>t<EFBFBD>,<2C> <0F> <0B> <0B>a<EFBFBD><04> <0C> <0C>~<7E>%M<>N<>O<>#<23><04><1C>' d<01> 0<><14><1D><1D> ?<3F> <1D>#4<>#<<3C>#<<3C>#><3E>D<EFBFBD> <20><1B>4<EFBFBD>/<2F>/<2F>3<>3<>4E<34>r<EFBFBD>J<>K<>H<EFBFBD>(<28>5<>5<>7<>H<EFBFBD><17><16> <0B> <0B>.<2E>x<EFBFBD>|<7C>|<7C><L<>i<EFBFBD>/X<>.Y<>Z<1F>"<22>8<EFBFBD><<3C><<3C><08>"<22>#=<3D>><3E>?<3F>x<EFBFBD>I<01>J<01> <12>K<EFBFBD>K<EFBFBD>><3E>x<EFBFBD>j<EFBFBD>I<> J<>0<>G<>G<>I<>O<EFBFBD> <0E>L<EFBFBD>L<EFBFBD><1F>"<22>'<27>'<27>,<2C>,<2C>x<EFBFBD>AX<41>*Y<> Z<><14>#<23>#<23>'<27>'<27>(9<>:<3A>(7<>t<EFBFBD>}<7D>}<7D>(U<><04>%<25>%)<29>%:<3A>%:<3A>%E<>%E<><18>(<28>(<28>):<3A>;<3B>&<12>"<22><17> <0B> <0B>><3E>?Q<>R[<5B>?\<5C>>]<5D>]e<>f<>g<><1E>7<EFBFBD>7<EFBFBD><<3C><<3C><08>2E<32>F<>L<EFBFBD>0<>l<EFBFBD>K<>O<EFBFBD>&7<><0F>&X<>D<EFBFBD> #<23> <12>K<EFBFBD>K<EFBFBD>N<>|<7C>n<EFBFBD>]<5D> ^<5E><14>#<23>#<23>'<27>'<27>(9<>:<3A>)9<>$(<28>$8<>$8<>9J<39>$K<>*<12><04>&<26><17> <0B> <0B>=<3D>?<3F> <1A>\<5C>\<5C>
<EFBFBD>"<22><1B> <0F> <0B> <0B>3<>5<><16>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><18>8<EFBFBD>4<> <09>
<EFBFBD> <0B> <0B>I<EFBFBD><04>-<2D> <0C><19><19>)<29>$<24>
<EFBFBD> <0C> <0C>Z<EFBFBD><12><17><17><1C><1C>i<EFBFBD><1A>!D<>E<>)?<3F> <09>7<EFBFBD>T^<5E>)_<>&<26><07><15><0E><1F><04><0F>!<21><04> <0C>,<2C><1B> <20>;<3B>;<3B>N<EFBFBD>K<><19>"%<25>&7<><0F>&H<>"I<><04><1F>&)<29>*;<3B><O<>*P<>&Q<><04>#<23> <0F> <20> <20>T<EFBFBD>%@<40>%@<40> <10> !<21> !<21> 8<> 8<><16><04>@[<5B>@[<5B>9\<5C> ]<5D> <0F> !<21> !<21>d<EFBFBD>&A<>&A<> <10> "<22> "<22> 4<> 4<> D<> D<>"<22>5<>5<>"(<28><14>)D<>)D<>"E<> <20><1B> E<01> <0E> <0F> <0B> <0B>)<29>%<25><03><1B>A<EFBFBD>6<>7<> <10>D<EFBFBD>(<28>(<28> (<28> <12>N<EFBFBD>N<EFBFBD>8<> :<3A><17><<3C><<3C><14><1F><1F>0<> 0<><17>q<EFBFBD>$<24>-<2D>-<2D>!<21>+<2B>,<2C>b <16>A<EFBFBD> <12>K<EFBFBD>K<EFBFBD>-<2D><01>s<EFBFBD>#<23>d<EFBFBD>m<EFBFBD>m<EFBFBD>_<EFBFBD>D<EFBFBD>A<> B<><19>w<EFBFBD>w<EFBFBD>|<7C>|<7C>H<EFBFBD><05>a<EFBFBD>S<EFBFBD>k<EFBFBD>:<3A>H<EFBFBD> <0E>K<EFBFBD>K<EFBFBD><08>4<EFBFBD> 0<><14>$<24>$<24>!%<25>!6<>!6<>!I<>!I<>!K<><0E>%<25><1A>K<EFBFBD>K<EFBFBD> Y<>Z<><19><16> <0B> <0B>h<EFBFBD>~<7E>&6<>7<>8<>'<27><05>$<24>#<23><1C> <0C> <0C> $<24> 4<> 4<>!%<25>!6<>!6<>#'<27>#:<3A>#:<3A><1D><1D><1D> <0E>F<EFBFBD><1C>+<2B>+<2B>D<EFBFBD>O<EFBFBD>O<EFBFBD><<3C>F<EFBFBD><1A><17>?<3F>?<3F>d<EFBFBD>&:<3A>&:<3A>:<3A><1A>N<EFBFBD>N<EFBFBD>%><3E>t<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>>S<>ST<53>#U<>V<><19><1B>N<EFBFBD>N<EFBFBD>%V<>W[<5B>Wf<57>Wf<57>gj<67>Vk<56>kx<6B>y}<7D>zN<02>zN<02>yO<02>OR<02>$S<02>T<02><1A>K<EFBFBD>K<EFBFBD>"^<5E>`<60>!<21>><3E>><3E>q<EFBFBD>A<>F<EFBFBD>!<21><1E> <0B> <0B>$V<>W<><1D> <0E>L<EFBFBD>L<EFBFBD><16><12><17><17><1C><1C>h<EFBFBD> <0C>!E<> F<> <12>K<EFBFBD>K<EFBFBD>D<>T<EFBFBD>_<EFBFBD>_<EFBFBD>UX<55>DY<44>Y^<5E>_<> `<60>!'<27>F<EFBFBD>;<3B><<3C>H<EFBFBD> <16>!<21>l<EFBFBD>l<EFBFBD>8<EFBFBD>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>@<40> <0B><08>!<21><12> <0C> <0C>X<EFBFBD>r<EFBFBD>w<EFBFBD>w<EFBFBD>|<7C>|<7C>H<EFBFBD>>P<>'Q<>R<><1B>(<28>(<28><18>9<EFBFBD>=<3D><05>,1<><05>a<EFBFBD><08>r<EFBFBD> <0A>$<24><1B>,<2C>,<2C><1C>-<2D>-<2D>?<3F>?<3F>$)<29>+.<2E>(+<2B>@<01><1A>
<1D>%<25>( <0F>L<EFBFBD>L<EFBFBD><1D><02><07><07> <0C> <0C>X<EFBFBD>?U<>(V<> W<>!<21>$<24>,<2C>,<2C>/<2F>H<EFBFBD>"<22>/<2F>/<2F>-<2D>!<21>/<2F>D<>K<EFBFBD>!)<29> ?<3F> ?<3F> <1D>IZ<49>-<2D>1<>1<>.<2E>"<22>E<>`b<>M<EFBFBD><1C> <20> <20><1E><15>7<><16><0E><0E><15>q<EFBFBD>c<EFBFBD>)h<>i<>j<>#<23>?<3F>?<3F> <0A>}<7D>^d<>e<> <0C><1F> G<01>,/<2F>L<EFBFBD>L<EFBFBD>6<EFBFBD>Vb<56>:c<>9d<39>fj<66>fp<66>fp<66>,q<>)<29><0E><01>&)<29>&6<>&6<>~<7E>y<EFBFBD>&Q<> <0B>&<26>,7<><01>N<EFBFBD>M<EFBFBD><1E>L<EFBFBD>L<EFBFBD><1C>r<EFBFBD>w<EFBFBD>w<EFBFBD>|<7C>|<7C>H<EFBFBD>N`<60>7a<37>b<><1E>L<EFBFBD>L<EFBFBD><1E><12><17><17><1C><1C>h<EFBFBD>Pd<50>9e<39>f<><1E>L<EFBFBD>L<EFBFBD><1D><02><07><07> <0C> <0C>X<EFBFBD>Ok<4F>8l<38>m<>*2<>/<2F>/<2F>-<2D>RS<52>/<2F>*T<>K<EFBFBD>"<22>K<EFBFBD>K<EFBFBD>%<25><01>s<EFBFBD>2U<32>(V<>W<> <11> <1D> <1D>h<EFBFBD> '<27> <0E>L<EFBFBD>L<EFBFBD><1B>b<EFBFBD>g<EFBFBD>g<EFBFBD>l<EFBFBD>l<EFBFBD>8<EFBFBD>Z<EFBFBD>&H<> I<>5K<35>H<EFBFBD>V]<5D>_i<5F>5j<35> 2<>G<EFBFBD>Y<EFBFBD> 2<><1B> $<24> 7<> 7<><08> A<> <0A> <20><1A>L<EFBFBD>L<EFBFBD>5<EFBFBD><11><03>+J<>!K<>L<><1A>L<EFBFBD>L<EFBFBD><1D>t<EFBFBD><03>!4<>5<>#<23>4<EFBFBD>)?<3F>@<40>46<34><04>1<>37<33>3L<33>3L<33>3P<33>3P<33>QR<51>TU<54>3V<33>D<EFBFBD>-<2D>-<2D>a<EFBFBD>0<><1B>0<>0<><11>3<>a<EFBFBD>7<><1E> <0B> <0B>e<EFBFBD>A<EFBFBD>3<EFBFBD>.W<>$X<>Y<>%)<29>%F<>%F<>}<7D>Vc<56>%d<>
<EFBFBD>Y<01>.1<EFBFBD>l<EFBFBD>l<EFBFBD>V<EFBFBD>Xb<EFBFBD><c<>;d<>fj<66>fp<66>fp<66>.q<>O<EFBFBD>L<EFBFBD>!<21>(+<2B>(8<>(8<><1C>y<EFBFBD>(Q<>I<EFBFBD>(<28>-6<>q<EFBFBD>\<5C>
<EFBFBD> "<22> <0C> <0C>Z<EFBFBD><12><17><17><1C><1C>h<EFBFBD>Ph<50>9i<39> j<> "<22> <0C> <0C>\<5C>2<EFBFBD>7<EFBFBD>7<EFBFBD><<3C><<3C><08>Rl<52>;m<> n<> "<22> <0C> <0C>Z<EFBFBD><12><17><17><1C><1C>h<EFBFBD>Pr<50>9s<39> t<>.6<EFBFBD>o<EFBFBD>o<EFBFBD>j<EFBFBD>ST<EFBFBD>o<EFBFBD>.U<> <0B> "<22> <0C> <0C>[<5B>"<22>'<27>'<27>,<2C>,<2C>x<EFBFBD>Q[<5B>:\<5C> ]<5D>J`<01>`h<>jq<6A>s}<7D>I~<7E> F<><07><19>4F<34>#*<2A>$*<2A>K<EFBFBD>K<EFBFBD>%<25><01>s<EFBFBD>:V<>W`<60>ad<61>Ve<56>ef<65>0g<30>$h<>0:<3A> <0A><1D>1<>1<>!<21>4<><01>9<>4<>W^<5E><04> ?<3F> ?<3F>@R<> S<>!$<24><15>%(<28>U<EFBFBD>#&<26>5<EFBFBD>e<0E> <1D>
%(<28>(9<>/<2F>(J<>$K<> !<21>(+<2B>,=<3D>>Q<>,R<>(S<> %<25>"7<>$<24>:Q<>:Q<>"Q<> <1F>&?<3F>$<24>B]<5D>B]<5D>&]<5D> #<23>=D<01>Y<EFBFBD><14><1F><1F>8<><13>N<EFBFBD>"&<26> <1F><1E>J<EFBFBD><13>$<24>$<24><14>)><3E>)><3E>)M<>)M<>&*<2A>&;<3B>&;<3B>&J<>&J<>&Y<>&Y<>#<23>,<2C>!4<>8Q<38>!Q<>J<EFBFBD>!(<28>!H<>Y<EFBFBD><14><1F><1F>-H<>J<EFBFBD>!(<28>!7<>Z<EFBFBD> <1E><13>$<24>$<24><14>%<25>%<25>7<>7<>.<2E>#1<> #<23>8<><12>
-0<>0G<30>,H<>)<29>%<25>*=<3D>-<2D>5<>5<>6I<36>J<>,<2C><18>)<29>)<29>@<40>@<40><16>Ha<48>Ab<41>c<><14>&<26>&<26> "<22> <0A><17>'<27>'<27>@D<>@T<>@T<>@X<>@X<>Y`<60>bd<62>@e<>$f<>1<EFBFBD>Q<EFBFBD>U<EFBFBD>U<EFBFBD>6<EFBFBD>2<EFBFBD>%6<>$f<>M<EFBFBD>$f<><14>'<27>'<27>3<>3<>&<26>[_<>[p<>[p<>uy<75>vK<02>vK<02>vZ<02>vZ<02>D<EFBFBD>$9<>$9<>$H<>$H<>$W<>$W<>`b<02>#,<2C>.<2E><1F>"/<2F> 4<><12><14>%<25>%<25>"<22>4<>4<>G<>G<>&<26>"5<>&,<2C>-D<>&E<>#<23>A<EFBFBD>3<EFBFBD>K<EFBFBD><1F> H<01><12> <0B>#.<2E>/<2F>/<2F>+<2B>r<EFBFBD>"B<>"F<>"F<><EFBFBD>XY<58>"Z<><0F><16> <0B> <0B>><3E><EFBFBD>s<EFBFBD>>S<>T<>U<>)-<2D>(><3E>(><3E>(L<>(L<>[<5B>(Y<>%<25> <0A>v<EFBFBD>$<24><1A>N<EFBFBD>N<EFBFBD>%=<3D>f<EFBFBD>X<EFBFBD>#F<>G<><17>9<EFBFBD>t<EFBFBD><EFBFBD><EFBFBD>6<>'<27>$<24>/<2F>/<2F>9<> <0B><16><0E><0E>!5<>k<EFBFBD>#<23>5F<35>c<EFBFBD>$<24>/<2F>/<2F>Z]<5D>I^<5E>^c<>dm<64>nq<6E>cr<63>rt<72>u<>v<>"+<2B><04><0F>*<2A><04> <0C>&8<>#<23>*?<3F><04>'<27>.G<><04>+<2B><18>Y<EFBFBD>$<24>/<2F>/<2F>9<><16> <0B> <0B>C<>E<><16><0E><0E>!K<>M<><13><EFBFBD><EFBFBD>$<24>"6<>"6<>6<><16><0E><0E>9<>:<3A><15>Eb <16>H <0F> <0B> <0B>4<>T<EFBFBD>_<EFBFBD>_<EFBFBD>S<EFBFBD>4I<34><11>K<>L<> <10> <20> <20> <20>1<>1<>A<>A<>C<>M<EFBFBD> <0E>L<EFBFBD>L<EFBFBD><1D><02><07><07> <0C> <0C>X<EFBFBD>?R<>(S<> T<> <12>K<EFBFBD>K<EFBFBD>1<>(<28><1A>;M<>N<> O<> <10> "<22> "<22>#<23>6<>6<>P<>P<>R<> <1C> <0E>L<EFBFBD>L<EFBFBD>)<29>2<EFBFBD>7<EFBFBD>7<EFBFBD><<3C><<3C><08>BX<42>+Y<> Z<> <12>K<EFBFBD>K<EFBFBD>4<>X<EFBFBD>J<EFBFBD>>S<>T<> U<> <11> #<23> #<23> +<2B> +<2B> 0<> 0<> 2<> <10> !<21> !<21>!<21>3<>3<>C<>C<>E<>N<EFBFBD> <0E>L<EFBFBD>L<EFBFBD><1E><12><17><17><1C><1C>h<EFBFBD>@_<>)`<60> a<> <12>K<EFBFBD>K<EFBFBD>=<3D>h<EFBFBD>Z<EFBFBD>Ge<47>f<> g<>#<23>4<>4<>F<>F<>Y<>Y<>[<5B>O<EFBFBD> <12>K<EFBFBD>K<EFBFBD>-<2D>o<EFBFBD>.O<>.O<>PS<50>-T<>U<> V<><14>|<7C>|<7C>T<EFBFBD>_<EFBFBD>_<EFBFBD>,<2C>,<2C><>] <19> d<01> <12>N<EFBFBD>N<EFBFBD>7<><01>s<EFBFBD>:a<>b<> c<> c<><63> d<01><>P<1D> <16><16> <0C> <0C>0<><11><03>4<>5<><17>(<28>(<28><18>)<29>)<29>;<3B>;<3B> %<25>'*<2A>$'<27><<3C><16>
<16><> <16><>D%<25>G<01><1E><0E><0E><15>q<EFBFBD>c<EFBFBD>1A<31>!<21><13>'E<>F<>F<><46>G<01><>N )<29>Y<01>"<22>N<EFBFBD>N<EFBFBD>U<EFBFBD>1<EFBFBD>#<23>5S<35>TU<54>SV<53>+W<>X<>X<><58>Y<01><>X%gs<><00>HAF3<00>(B"AG#<02>D AH=<02>3EAI/<02>0AJ!<06>F3 AG <03>F<AG<03>GAG <03>G# AH:<05>G,AAH5<05>H5AH:<05>H= AI,<05>IAI'<05>I'AI,<05>I/ AJ<05>I8AJ<05>JAJ)<02>CGAN)<0F>__name__<5F>
__module__<EFBFBD> __qualname__r+r:rnr_rZ<00>strr<72>r<>r<>r<>r<>r4rur,r*rr<00>s<><00><00>8<>4 4<>E<18>N<17>,V<16>c<EFBFBD>V<16>c<EFBFBD>V<16>pB<16><13>B<16>T<EFBFBD>B<16>dg<64>B<16>lo<6C>B<16>H,V<01>3<EFBFBD>,V<01>3<EFBFBD>,V<01>\=<16>#<23>=<16>c<EFBFBD>=<16>VY<56>=<16>B`-r,r)<1F>__doc__r/rT<00>sysr3<00>LLM_callr<6C><00> loader_saverr5rr<><00>utils.verilator_callr<00>autoline.cga_utilsrr<00>autoline.semantic_analyzerrr<00>autoline.energy_allocatorr r
<00>autoline.diversity_injectorr <00>autoline.test_historyr <00>autoline.quality_evaluatorr rrrrur,r*<00><module>rEsF<00><01>D<04>
<EFBFBD> <09>
<EFBFBD> <0A><16><19>-<2D>7<>9<>J<>B<>9<>4<>_<>_<>n -<2D>n -r,