Jumping Bytes and Hopping Bits
the church of tech
Menu

verilog 설계 예제 August 2, 2019

참고 : 중재자 모델 코드가 추가되었습니다. PLI 섹션 f에 더 많은 예제를 추가해야 입력에 값이 가져옵니다. 또는 Verilog 전문 용어에서 절차 할당. 그러나 sel이 논리 1이 아니라면 어떨까요? 단일 포트 RAM에는 그림과 같이 데이터를 저장하고 검색하는 데 사용되는 하나의 입력 포트(즉, 주소 줄)가 있습니다. 도 8.6. 여기서 `addr[1:0]` 포트는 `읽기` 및 `쓰기` 작업에 모두 사용됩니다. 목록 8.9는 이 디자인을 생성하는 데 사용됩니다. 대부분의 상용 합성 도구는 RTL 형태로 설계 설명이 제공될 것으로 예상됩니다. RTL은 레지스터 전송 레벨의 약어입니다.

이는 Verilog 코드가 등록에서 레지스터로 전달될 때 데이터가 변환되는 방식을 설명한다는 것을 의미합니다. 데이터의 변환은 레지스터 사이에 존재하는 조합 논리에 의해 수행됩니다. 걱정 마세요! RTL 코드는 순수 한 조합 논리에도 적용- 레지스터를 사용할 필요가 없습니다. RTL 코드의 의미를 보여 드리기 위해 간단한 예제를 살펴보겠습니다. 마지막으로, 그림. 도 8.7은 설계에 대한 시뮬레이션 결과를 나타낸다. 여기서 `we`는 첫 번째 커서 후 1로 설정되고 데이터는 세 개의 서로 다른 주소(4가 아님)로 기록됩니다. 그런 다음 두 번째 커서 후 `we`가 0으로 설정되고 모든 주소에 대해 읽기 작업이 수행됩니다. 주소 `10`에 대한 값이 저장되지 않으므로 세 번째 커서 후에 표시된 대로 이 주소의 dout이 `UUU`로 표시됩니다. Altera는 다운로드 가능한 실행 파일로 Verilog HDL 디자인 예제를 제공하거나 웹 브라우저에 텍스트로 표시합니다. 실행 파일 링크를 선택하여 하드 디스크에 파일을 다운로드합니다. 쿼터스 II 소프트웨어(또는 기존 MAX+PLUS II 소프트웨어)에 텍스트로 표시된 Verilog HDL 예제를 사용하려면 웹 브라우저의 텍스트를 텍스트 편집기로 복사하여 붙여넣습니다.

Verilog HDL 디자인 파일(.v)의 파일 이름이 예제의 엔터티 이름과 일치하는지 확인합니다. 예를 들어 엔터티 이름이 myram인 경우 파일을 myram.v로 저장합니다. 이 섹션의 Verilog 예제는 Icarus Verilog 시뮬레이터로 컴파일되었습니다. 당신이 어떤 실수를 발견하거나 더 이상 예를보고 싶은 경우에 알려 주시기 바랍니다. 다음 예제는 Verilog HDL을 사용하여 기능을 구현하기 위한 지침을 제공합니다. Verilog 지원에 대한 자세한 내용은 쿼터스® II 도움말을 참조하십시오. 이제 연속 할당 목록, 디자인 계층 구조 또는 항상 블록을 사용하여 디자인을 설명할 수 있습니다. 직접 3가지 방법 비교: 이 섹션에서는 선형 피드백 시프트 레지스터를 사용하여 난수 생성기를 구현합니다. 이 예제에 필요한 Verilog 파일은 아래에 나열되어 있지만 다시 실행할 수 있습니다! 즉, 항상 블록을 통해 실행을 제어하는 방법이 필요합니다. 합성 가능한 디자인을 설명할 때 감도 목록은 실행을 제어하는 데 자주 사용됩니다(나중에 다른 방법을 살펴보겠습니다). 모든 디자인 파일은 기본 프로젝트 디렉터리 내부의 `VerilogCodes` 폴더 내에 제공됩니다.

다른 소프트웨어를 사용하여 설계를 구현하는 데 사용할 수 있습니다. 각 섹션에는 해당 섹션에서 디자인을 구현하는 데 필요한 Verilog 파일 목록이 표시됩니다. 마지막으로, 모든 디자인은 Modelim및 알테라-DE2 FPGA 보드를 사용하여 테스트됩니다. 원하는 디자인을 `최상위 엔터티`로 설정하여 구현하거나 시뮬레이션합니다. 계속 해! 합성 도구에 MUX_2 디자인을 읽고 놀이를. 이제 MUX_2 디자인. 위의 코드 조각에서 연속 할당을 항상 동일한 블록으로 대체했습니다. MUX_2 디자인의 모듈 인스턴스에서도 동일한 작업을 수행할 수 있습니다. 8.15 를 나열하는 것은 순환 큐의 예인 큐 디자인입니다. 여기서, 두 개의 포인터 즉, 전면 및 후면은 큐즉의 상태를 추적하는 데 사용됩니다.

Categories: Uncategorized