Verilog HDL

    [조합회로] 4:1 멀티플렉서 설계하기

    [조합회로] 4:1 멀티플렉서 설계하기

    4:1 멀티플렉서란? Multiplexer(Mux): 제어 입력 신호(Sel)에 의해서 입력 신호 중 하나를 선택하여 출력과 연결 4:1 MUX를 설계하는 방법으로 크게 2가지가 있다. - 데이터플로우(디자인) 및 구조적(테스트벤치) 기술방법 설계 - 알고리즘 레벨(디자인) 및 구조적(테스트벤치) 기술방법 설계 테스트벤치 파일은 동일하며, 디자인 파일의 기술 방법만 다르게 하여 설계한다. - 입력: i0, i1, i2, i3(데이터 입력), s1, s0(제어 입력) - 출력: out (데이터 출력) ※ 참고 reg: always () 구문 / initial 구문(testbench에서만) wire: assign 구문 (단, 구조적 기술 시에 다른 모듈의 출력과 연결했다면 assign을 사용한 것과 같은 취..

    [ModelSim] Verilog 조합회로 설계 방법

    논리회로에는 조합회로와 순차회로가 있다. 조합회로와 순차회로의 차이를 간단하게 설명하면 다음과 같다. 조합회로 순차회로 출력 = 입력의 조합 출력 = {입력의 조합(조합회로), 상태의 조합(기억소자)} ModelSim을 활용하여 조합회로를 설계해보겠다. 1. 디자인 파일 설계 방법 조합회로는 2가지 방식으로 디자인 파일(RTL 파일)을 설계한다. 1) wire로 선언하여 조합회로를 만드는 방법 wire 신호선 이름; assign 신호선이름 = 입력/신호의 조합; 2) reg로 선언하여 조합회로를 만드는 방법 reg 신호선 이름; always ( sensitivity list 신호이름s ) begin 신호선이름 = 입력/신호의 조합; end 2. 기술 설계 방법 - 구조적 기술방법 설계(Gate level..

    [ModelSim] 컴파일 및 시뮬레이션 자동화 방법

    [ModelSim] 컴파일 및 시뮬레이션 자동화 방법

    [ModelSim] 프로젝트 생성 및 실행 방법 Verilog 파일을 실행하기 위해서는 모델심(ModelSim) 프로그램을 이용한다. 모델심 프로그램을 실행하면 위와 같은 창이 화면에 뜬다. 그렇다면 모델심이 열리고 있다는 뜻이다. 모델심 초기화면 모 s00m.tistory.com 👆 위의 글에서는 프로젝트에 있는 파일을 컴파일한 후 시뮬레이션하여 파형을 보는 방법에 대하여 알아보았다. 이번 글에서는 모델심의 컴파일 및 시뮬레이션 \진행 과정을 매크로와 같이 자동화하는 방법에 대하여 알아보겠다. 진행 과정을 자동화하기 위해서 tcl(티클)이라는 스크립트를 사용하였다. 자동화하는 이유? 모델심은 컴파일, 시뮬레이션까지의 과정을 코드를 수정할 때마다 해야 한다. (불필요한 반복 작업 증가) 반면에 자동화 파..

    [ModelSim] 프로젝트 생성 및 실행 방법

    [ModelSim] 프로젝트 생성 및 실행 방법

    Verilog 파일을 실행하기 위해서는 모델심(ModelSim) 프로그램을 이용한다. 모델심 프로그램을 실행하면 위와 같은 창이 화면에 뜬다. 그렇다면 모델심이 열리고 있다는 뜻이다. 모델심 초기화면 모델심을 열면 다음과 같이 화면이 뜬다. 여기서 Verilog 파일을 실행하기 위해서는 프로젝트를 만들어야 한다. 그래서 이번 시간에는 프로젝트를 생성하는 방법에 대해서 알아보려 한다. 1. Creat Project [File] - [New] - [Project...]를 통해 프로젝트를 생성한다. 다음과 같이 Create Project 창이 화면에 뜬다. 프로젝트 이름(Project Name)을 입력하고, 프로젝트 경로를 원하는 곳(Project Loaction)으로 변경하면 된다. 경로를 변경하지 않아도 ..