2016-07-12 1 views

답변

3

포트라고합니다. Verilog 모듈은 입력, 출력, 양방향 핀이있는 하드웨어 모듈을 나타내므로 함수처럼 호출 할 수 없으므로 인스턴스화 만 할 수 있습니다. 이러한 인스턴스는 해당 포트를 통해 다시 서로 연결할 수 있습니다. 이 포트는 데이터/값/신호를 모듈 안팎으로 가져오고 가져옵니다. 따라서 포트에는 방향이 있습니다. 함수가 호출 될 때 값을 전달하는 함수의 인수와는 달리, 일단 wire/reg (register)/...를 통해 포트에 연결되면 연결된 변수의 변경 사항이 모듈을 자동으로 실행합니다.

모듈 - 포트 설명에 대한 링크입니다.

http://www.asic-world.com/verilog/syntax2.html

는 Verilog를 함수와 인수를 작업을 가지고있다.

http://www.asic-world.com/verilog/task_func1.html

초기화되지 않은 변수는 "X"로 나타내는 값이 알려지지 취할.

연결되지 않은 와이어 그것에 몇 가지 미묘한 차이가 있습니다

, 트라이은 "Z"로 표현 트라이 상태가 될 것입니다

에서 4 상태 로직 - 등록, 정수, 시간에 "X" 을 기본값으로 실수 형을 0으로 설정합니다.

6

Verilog의 module은 이름별로 개체를 그룹화하고 해당 개체를 복제하는 데에만 사용되는 계층 구조를 나타냅니다. 시뮬레이션을 실행하거나 하드웨어에 합성 할 때, 그 계층 구조는 평탄 해집니다. 모듈의 포트은 두 개의 신호 이름을 함께 결합하며 병합 후에는 여러 개의 이름이있는 신호가 하나뿐입니다. 따라서 modules포트을 통해 구조적으로 연결됩니다.

이라는 용어는 일반적으로 함수 또는 작업과 같은 루틴을 절차 적으로 호출 할 때 복사되거나 참조되는 객체를 나타내는 소프트웨어의 용어입니다.

두 번째 질문에 대해 정의하지 않고 변수를 참조하면 일반적으로 컴파일러 오류입니다. 게으른 엔지니어에게는 예외가 있습니다. 포트 연결에서 정의되지 않은 변수를 참조하면 해당 변수가 암시 적으로 1 비트 와이어로 선언됩니다. 그 어떤 것도 구동시키지 않는다면, 어떤 표현식에서도 'x'와 똑같이 취급되는 디폴트 값 'z를가집니다.

이 기능은 원래 모든 신호가 1 비트 와이어이지만 RTL 설명에 많은 문제를 일으키는 자동 생성 된 게이트 수준의 넷 목록 용이었습니다. 부주의 한 오타를 방지하려면 컴파일러 지시문 `default_nettype none을 사용하는 것이 좋습니다.

관련 문제