DUT / Teset Bench DUT - 실제로 구현되어 사용할 로직 / 회로 - 합성 가능한 구문으로 작성(assign or slways사용) Test Bench - DUT를 테스트하기 위한 모듈 - 합성이 가능하지 않은 구문도 가능하다. Verilog 모듈 모듈 (module) - 기본적인 블록 단위 - C언어의 함수와 비슷 - 시작은 module - 끝은 endmodule 모듈들이 모여 하드웨어를 구성합니다. Verilog 모듈 구조 - port 선언 부분에 입출력변수를 구분합니다. - 파란색 점선 박스에서 module에서 사용할 변수를 선언합니다. - 빨간색 점선 박스에서 module의 기능을 서술합니다. 모듈의 개념 예 - 4비트 가산기 모듈 : 4개의 전가산기 모듈을 사용합니다. - 4개의 ..
Verilog 논리값 verilog에서는 0,1,z(high impedence),x(unkown) 4가지 논리값이 존재합니다. 여기서 어떤 경우에 Unkonwon x값이 발생하는지 알아봅시다. 1. 0과 1이 동시에 들어가는 경우 - 0과1이 동시에 들어가면 출력이 0인지 1인지 알 수 없습니다. 2. high impedence z가 들어가는 경우 - open되어 있어 high impedence가 발생합니다. 이경우 역시 출력이 0인지 1인지 알 수 없습니다. 3. clk가 0일 경우 - 클럭이 뛰기 시작 전 0을 유지하는 상황에서 출력값을 결정할 수 없습니다. Unkown(x)의 해결 pull-up and pull-down pull-up : 전원 쪽으로 연결할때, pull-down : 접지 쪽으로 연결..