본문 바로가기
728x90
반응형

전체 글122

[Function and Task] 2. Task reusable한 작은 코드 섹션을 작성할 때 사용 time consuming constructs 사용 가능. wait posedge delays (#) blocking, non-blocking 할당 모두 사용 가능. 입출력의 개수 제한이 없음. 함수는 single value만 반환 가능 설계에서 여러 번 반복되는 간단한 코드 구현 작업에 가장 적합. SPI, I2C 등 인터페이스에서 핀을 구동 하는것. 모듈에서 task 호출이 가능한 코드 작성 전역 변수에 엑세스 가능. 전역 task를 만들 수도 있음. 모듈 외부에 task 코드 작성. // inline IO 스타일 task (); begin // code here end endtask // inbody IO 스타일 task ; begin // cod.. 2024. 1. 16.
[Function and Task] 1. 베릴로그 함수 subprograms tasks functions reusable한 코드를 작성할 수 있음. 최대한 reusable하게 만드는것이 좋음. function과 task의 차이점. 차이점 1 function을 작성하면 계산을 수행하여 단일 값을 반환 task는 여러 개의 순차문을 실행하지만 값을 반환 X, 대신 출력의 개수를 무제한으로 가질 수 있음. 차이점 2 function은 즉시 실행. delays, posedge, wait 등의 구문을 포함할 수 없음. task는 가능. Verilog Function 하나 이상의 입력값을 받아 출력값을 반환하는 subprogram 코드의 작은 부분을 구현 가능. 동일 코드를 반복하는 대신 함수를 사용하면 유지 관리가 더 쉬워짐. 객체지향 관점? 베릴로그 모듈에 함수를 .. 2024. 1. 16.
[Verilog Tutorial] level-8 Loops 모음 2024.01.16 - [Verilog/Basic] - [Loops] 1. 베릴로그 loop문 [Loops] 1. 베릴로그 loop문 loop for loop while loop forever loop repeat loop 데이터가 할당되는 방식을 제어 sequential statements always, initial block 등의 procedural blocks 안에서 사용 가능 Loops in Verilog for loop 는 코드 블록을 정해진 횟수만큼 han-pu.tistory.com 2024.01.16 - [Verilog/Basic] - [Loops] 2. 예제 풀이 [Loops] 2. 예제 풀이 1. 계속 실행되는 코드를 만들려면 어떤 loop를 사용해야 하는가? 더보기 The foreve.. 2024. 1. 16.
[Loops] 2. 예제 풀이 1. 계속 실행되는 코드를 만들려면 어떤 loop를 사용해야 하는가? 더보기 The forever loop executes continuously. 2. 테스트벤치에서 일반적으로 forever loop를 사용하여 구현하는 function에는 어떤것이 있는가? 더보기 The forever loop is commonly used to implement a clock signal in a verilog testbench 3. for loop와 repeat loop의 차이점은? 더보기 The for loop includes a local loop variable which is incremented on every iteration of the loop. 4. 8bit shift register 를 구현하는 f.. 2024. 1. 16.
[Loops] 1. 베릴로그 loop문 loop for loop while loop forever loop repeat loop 데이터가 할당되는 방식을 제어 sequential statements always, initial block 등의 procedural blocks 안에서 사용 가능 Loops in Verilog for loop 는 코드 블록을 정해진 횟수만큼 실행. repeat 키워드를 사용할 수 도 있음. for loops를 선호. while loop 는 조건이 참인 동안 코드 블록을 실행. Verilog forever loop 무한히 돌아가는 코드 블록을 만들기 위해 사용. clock 신호 생성 등. not be synthesized -> 테스트벤치 코드에서만 사용 가능. forever begin // code here endF.. 2024. 1. 16.
[Verilog Tutorial] level-7 Statement 모음 2024.01.13 - [Project] - [Statement] 1. if문 [Statement] 1. if문 if statement 와 case statement 에 대해 배울 것. (복습) always blocks 등의 procedural blocks를 쓰는 이유? 순차적으로 실행되는 베릴로그 code를 작성하기 위해. sequential statements if statement case statement Verilog If Sta han-pu.tistory.com 2024.01.13 - [Verilog/Basic] - [Statement] 2. case문 [Statement] 2. case문 4 to 1 mux 회로 large mux에 case 문이 많이 쓰임 가독성이 좋아서. always @(.. 2024. 1. 13.
[Verilog Tutorial] level-6 Testbench 모음 2024.01.10 - [Verilog/Basic] - [Testbench] 1. 테스트벤치의 구조 [Testbench] 1. 테스트벤치의 구조 Verilog 설계 시, testbench 코딩을 통해 예상대로 작동하는지 확인. testbench 코딩 언어 VHDL Verilog System Verilog 업계에서 많이 채택됨. 가장 일반적으로 사용되는 언어. FPGA 설계를 위해 skill을 배우는 것 han-pu.tistory.com 2024.01.10 - [Verilog/Basic] - [Testbench] 2. DUT 인스턴스화 [Testbench] 2. DUT 인스턴스화 testbench 작성의 시작 ==테스트의 top level로써 행동하는 verilog module 만들기== input, ou.. 2024. 1. 13.
[Statement] 3. 예제 풀이 1. Verilog Design에서 sequential statements를 작성할 때 어떤 blocks를 사용하는가? 더보기 Sequential statements can only be written within a procedural block such as an always block or initial block. 2. if문에서 if를 제외할 때 쓰는 키워드는? 더보기 We can exclude the else and else if keywords if they are not needed. 3. 한 번에 실행할 수 있는 if문의 분기는 몇개인가? 더보기 A maximum of one branch in an if statement can execute at any time. 4. case문에서 언.. 2024. 1. 13.
728x90
반응형