728x90 반응형 분류 전체보기129 [Statement] 1. if문 if statement 와 case statement 에 대해 배울 것. (복습) always blocks 등의 procedural blocks를 쓰는 이유? 순차적으로 실행되는 베릴로그 code를 작성하기 위해. sequential statements if statement case statement Verilog If Statement conditional statement 불리언 조건을 이용하여 실행할 코드 블록을 결정. C 등의 if문과 유사 // 일반 구문 if () begin // code to execute end else if () begin // code to execute end else begin // code to execute end else 와 else if 는 제외 가능. ex.. 2024. 1. 13. [Testbench] 8. 예제 풀이 1. 기본 테스트벤치에서 DUT에 inputs를 생성하는 블록은? 더보기 The stimulus block is used to generate inputs to the DUT. 2. 테스트벤치로 사용할 수 있는 빈 모듈을 만드시오. 더보기 module exercise_tb(); // code here endmodule : exercise_tb 3. 왜 named instantiation을 선호하는가? 더보기 It is easier to maintain our code as the module connections are explicitly given. 4. $display 와 $monitor의 차이점은? 더보기 The $display task runs once whenever it is called. T.. 2024. 1. 13. [Testbench] 7. 테스트벤치 full 작성 예제를 통해 테스트벤치 작성 가능한 모든 input 조합을 전부 생성할 예정 회로 분석 2 inputs AND gate D ff 1. Create a Testbench Module 테스트벤치 코드가 들어갈 빈 모듈을 선언 테스트벤치 모듈의 이름 선언에 대해... design 이름과 비슷하게 선언 design 이름 끝에 _tb, _test 를 추가 module example_tb (); // code here endmodule : example_tb2. Instanitate the DUT 작업할 수 있는 빈 테스트벤치 모듈이 생겼다. 테스트할 design을 인스턴스화. positional instantiation보다 named instantiation이 쉽다. example_design dut ( .clo.. 2024. 1. 13. [Testbench] 6. System Tasks verilog는 테스트벤치 작성시 도움이 되는 task와 함수가 내장되어 있음. 이를 통칭 'system tasks or system functions'라고 하며 항상 '$' 기호로 시작 $display $monitor $time $display 시뮬레이션 중 콘솔에 표시되는 메시지 출력에 사용 printf 느낌 문자열에 %를 사용하여 신호를 표시할 수도 있음. format letter도 포함해야 함. b : 2진 d : 10진 h : 16진 위 format 코드 앞에 숫자를 추가하면 자릿수 결정. // 일반 구문 $display(, ); // Example : x의 값을 다른 진수로 각각 출력 $display("x (bin) = %b, x (hex) = %h, x (decimal) = %d", x, x.. 2024. 1. 13. 이전 1 ··· 14 15 16 17 18 19 20 ··· 33 다음 728x90 반응형