연습문제1: Verilog Design ECO
TCL 고급 연습문제: Verilog Buffer Chain 분석 및 수정 🔧📊
문제 설명
주어진 Verilog 파일에는 HVT(High Voltage Threshold)와 LVT(Low Voltage Threshold) 버퍼 셀이 혼합되어 있습니다. 당신의 임무는 이 파일을 분석하고, 모든 버퍼를 LVT로 교체한 새 파일을 생성하는 것입니다.
요구사항
'origin.v' 파일에서 버퍼 체인 Verilog 코드를 읽습니다.
HVT와 LVT 버퍼 셀의 각 개수를 세고 보고합니다.
모든 버퍼 셀을 LVT 버퍼로 교체합니다.
수정된 Verilog 코드를 'lvt.v' 파일에 저장합니다.
변경된 셀의 수를 보고합니다.
입력 파일 예시 (origin.v)
module buffer_chain (
input wire in,
output wire out
);
wire w1, w2, w3, w4, w5;
BUFX1_HVT buf1 (.A(in), .Y(w1));
BUFX1_LVT buf2 (.A(w1), .Y(w2));
BUFX4_HVT buf3 (.A(w2), .Y(w3));
BUFX1_LVT buf4 (.A(w3), .Y(w4));
BUFX2_HVT buf5 (.A(w4), .Y(w5));
BUFX1_LVT buf6 (.A(w5), .Y(out));
endmodule
예상 출력 파일 내용 (lvt.v)
module buffer_chain (
input wire in,
output wire out
);
wire w1, w2, w3, w4, w5;
BUFX1_LVT buf1 (.A(in), .Y(w1));
BUFX1_LVT buf2 (.A(w1), .Y(w2));
BUFX4_LVT buf3 (.A(w2), .Y(w3));
BUFX1_LVT buf4 (.A(w3), .Y(w4));
BUFX2_LVT buf5 (.A(w4), .Y(w5));
BUFX1_LVT buf6 (.A(w5), .Y(out));
endmodule
콘솔 출력 예시
HVT: 3
LVT: 3
Last updated