verilog fsm 예제

도 7.4를 나열하는 것은 도 7.7에 도시된 바와 같이 디자인에서 결함의 또 다른 예이다. 여기서, 글리치는 연속즉, 신호 `din`의 모든 변화에서 발생한다. 이러한 결함은 섹션 7.4.3에 표시된 대로 D-플립 플롭을 사용하여 제거됩니다. 맨체스터 코드의 출력은 시계의 양 가장자리에 따라 달라지므로 (즉, +ve 가장자리에서 출력의 절반은 변경되고 -ve edge에서 다른 절반은 변경됨) 따라서 이러한 결함은 고칠 수 없습니다. Verilog에서와 같이 두 가장자리는 하나의 D 플립 플롭에 연결할 수 없습니다. 불행하게도 나는 자신있게 비슷한 게시물을 작성하기에 충분히 VHDL을 잘 모른다, 나는 학습의 과정에있어. 그러나 VHDL 예제가있는이 블로그 게시물을 발견했습니다. http://vhdlguru.blogspot.com/2010/04/how-to-implement-state-machines-in-vhdl.html 당신이 자습서를 따르는 데 도움이, 나는 예를 들어 간단한 중재인을 촬영; 이것은 아래의 신호 다이어그램에 표시된 대로 두 개의 요청 입력과 두 개의 권한 부여 출력을 가지고 있습니다. 이전 장에서는 조합 회로와 순차 회로의 다양한 예를 보았습니다. 조합 회로에서 출력은 입력의 현재 값에만 의존합니다.

순차 회로에서 출력은 이전에 저장된 정보와 함께 입력의 현재 값에 따라 달라집니다. 즉, 순차 회로에는 플립 프로그 또는 레지스터와 같은 저장 요소가 필요합니다. 이러한 설계 예제는 Altera Corporation 장치 내에서만 사용할 수 있으며 알테라의 자산으로 남아 있습니다. 그들은 “있는 것”을 기준으로 그리고 숙박 시설로 제공되고 있습니다. 따라서 특정 목적에 대한 가맹점, 비침해 또는 적합성에 대한 보증을 포함하되 이에 국한되지 않는 모든 종류의 보증, 진술 또는 보증(명시적, 묵시적 또는 법적)은 구체적으로 부인됩니다. Altera는 이러한 예제를 Altera에서 제공하지 않는 다른 제품과 함께 사용할 것을 명시적으로 권장하거나 제안하거나 요구하지 않습니다. 무어와 밀리 머신은 `일반`, `시간 제한`, `재귀`와 같은 세 가지 범주로 나눌 수 있습니다. 이들 범주의 차이는 무어 기계에 대한 도 7.9, 도 7.10 및 도 7.11에 도시되어 있다. 이 섹션에서는 이러한 범주에 대 한 다른 Verilog 템플릿을 볼 것 이다. 디자인은 이 세 가지 범주의 조합일 수 있으므로 필요에 따라 올바른 템플릿을 선택해야 합니다.

또한, 이러한 템플릿의 예는 섹션 7.7에 도시되어 있다. 이 페이지는 Verilog HDL의 상태 머신에 대한 설계 예제로 구성됩니다. 상태 머신은 여러 상태를 통해 진행되는 순차 회로입니다. 예제에서는 다음과 같은 유형의 상태 컴퓨터를 구현하기 위해 HDL 코드를 제공합니다. 첫 번째 CASE 문은 상태 시스템 변수 상태의 값에 종속된 출력을 정의합니다. 두 번째 CASE 문은 상태 시스템의 전환과 이를 제어하는 조건을 정의합니다. 이 장에서는 밀리와 무어의 디자인에 대해 설명합니다. 또한, `에지 검출기`는 Mealy 및 Moore 디자인을 사용하여 구현됩니다.

이 예제에서는 밀리 디자인이 무어 디자인보다 더 적은 주를 필요로 한다는 것을 보여 주며, 또한, Mealy 디자인은 상승 가장자리가 감지되는 즉시 출력 틱을 생성합니다. 무어 설계는 한 클럭 주기의 지연 후 출력 틱을 생성합니다. 따라서 동기 설계에는 Mealy 디자인이 선호됩니다. 프로젝트에서 이 예제를 사용하는 방법에 대한 자세한 내용은 다음 요소에 저장된 정보를 시스템 상태로 볼 수 있습니다. 시스템이 이러한 내부 상태의 유한 한 수 사이를 통과하는 경우 유한 상태 시스템(FSM)을 사용하여 시스템을 설계할 수 있습니다. 이 장에서는 예제와 함께 다양한 유한 상태 시스템에 대해 설명합니다. 또한, Verilog에 비해 FSM 디자인을 만드는 더 나은 방법을 제공하는 10장의 SystemVerilog 설계를 참조하십시오.

Comments

Comments are closed.