TestBench 7

SystemVerilog 훑어보기

안녕하세요,UVM Testbench 작성 - WikiDocs 내용을 바탕으로 SystemVerilog에 대해 간단하게 정리해보았습니다. Verilog는 많이 접해볼 수 있는데 SystemVerilog는 자료 찾기가 상대적으로 좀 힘들었던 것 같습니다.이제 가볍게 훑어보면서 위키독스를 격파하도록 하겠습니다.반도체 칩 구조가 점차 복잡해지면서 검증의 중요성과 비중 또한 높아지고 있습니다.아래 그림은 SoC의 블록 다이어그램인데 이렇게 하나의 칩 내부는 여러 블록으로 구성되어 있습니다.이 블록을 모듈 또는 IP(Intellectual Property, 이하 IP)라고 합니다.과거에는 반도체 회사들이 IP를 직접 설계했지만, 이제는 IP 설계 업체로부터 검증된 IP를 구매해 칩을 설계합니다.IP를 직접 설계하는..

Verilog HDL로 asynchronous control 구문 작성과 테스트 벤치(Test Bench)로 결과 확인하기

안녕하세요, 이번 글에서는 Verilog HDL로 asynchronous control 구현 및 그 결과를 테스트 벤치(Test Bench)로 확인하겠습니다. 환경 HDL : Verilog’ 2001 spec RTL Synthesis : Intel(Altera), Quartus prime 18.1 Functional Simulation : Intel(Altera), ModelSim 10.5b Quatus의 [File] → [New]에서 Verilog HDL File을 선택합니다. asynchronous control을 구현했습니다. module counter( inputclk, input aclr_n, output reg count_out ); always @ (posedge clk, negedge ac..

Verilog HDL로 synchronous control 구문 작성과 테스트 벤치(Test Bench)로 결과 확인하기

안녕하세요, 이번 글에서는 synchronous control을 구현하고, 그 결과를 테스트 벤치(Test Bench)로 확인하겠습니다. clock이 실행되면서 clock enable이 활성화될 때, reset 신호에 따라 data를 출력하거나 0으로 reset 합니다. 환경 HDL : Verilog’ 2001 spec RTL Synthesis : Intel(Altera), Quartus prime 18.1 Functional Simulation : Intel(Altera), ModelSim 10.5b Quatus의 [File] → [New]에서 Verilog HDL File을 선택합니다. synchronous control를 구현했습니다. module reg16( inputclk, inputsclr_n..

Verilog HDL로 shifter 구문 작성과 테스트 벤치(Test Bench)로 결과 확인하기

안녕하세요, 이번 글에서는 Verilog HDL로 4bit를 이동시키는 shifter 구현 및 그 결과를 테스트 벤치(Test Bench)로 확인하겠습니다. 환경 HDL : Verilog’ 2001 spec RTL Synthesis : Intel(Altera), Quartus prime 18.1 Functional Simulation : Intel(Altera), ModelSim 10.5b Quatus의 [File] → [New]에서 Verilog HDL File을 선택합니다. shifter를 구현했습니다. module shifter( input[7:0]inp, input[1:0]shift_cntrl, output reg [15:0]shift_out ); always @ (*) begin if(shift..

Verilog HDL로 2_input_mux 구문 작성과 테스트 벤치(Test Bench)로 결과 확인하기

안녕하세요, 이번 글에서는 Verilog HDL로 2_input_mux를 구현하고, 그 결과를 테스트 벤치(Test Bench)로 확인하겠습니다. 환경 HDL : Verilog’ 2001 spec RTL Synthesis : Intel(Altera), Quartus prime 18.1 Functional Simulation : Intel(Altera), ModelSim 10.5b Quatus의 [File] → [New]에서 Verilog HDL File을 선택합니다. 2_input_mux를 구현했습니다. module mux4( input [4:0] mux_a , input [4:0] mux_b , input[1:0]mux_sel, output reg[4:0] mux_out ); always @(*) be..

Verilog HDL로 4x4 multiplier 구문 작성과 테스트 벤치(Test Bench)로 결과 확인

안녕하세요, 이번 글에서는 Verilog HDL로 4x4 multiplier를 구현하고, 그 결과를 테스트 벤치(Test Bench)로 확인하겠습니다. 환경 HDL : Verilog’ 2001 spec RTL Synthesis : Intel(Altera), Quartus prime 18.1 Functional Simulation : Intel(Altera), ModelSim 10.5b Quatus의 [File] → [New]에서 Verilog HDL File을 선택합니다. 4x4 multiplier를 구현했습니다. module mult4x4 ( input[4:0]data_a, input[4:0]data_b, output[9:0]product ); assign product = data_a * data_b..

Verilog HDL과 테스트 벤치(Test Bench) 설계 및 결과 확인

안녕하세요, 이번 글에서는 Verilog HDL로 Adder를 구현하고, 그 결과를 테스트 벤치(Test Bench)로 확인하겠습니다. 환경 HDL : Verilog’ 2001 spec RTL Synthesis : Intel(Altera), Quartus prime 18.1 Functional Simulation : Intel(Altera), ModelSim 10.5b Quatus의 [File] → [New]에서 Verilog HDL File을 선택합니다. Adder를 구현했습니다. module adder( input[3:0]data_a, input[3:0]data_b, output[3:0]sum ); assign sum = data_a + data_b ; endmodule Verilog HDL Chec..