본문 바로가기

ring counter

(6)
Verilog RTL 설계(7월 17일 - 3, Clock Mode) 1. Clock Pulse를 이용하여 Clock 만들기basys3의 기본 클럭 펄스의 주기는 10ns이다. 이를 활용하여 시계를 만들고자 한다.다음과 같이 동작한다.- 4개의 FND를 이용하여 첫 번째, 두 번째 FND는 초 단위, 세 번째, 네 번째 FND는 분 단위를 출력한다.- 초 단위는 0 ~ 59초 까지 Counting이 가능하며, 60초가 되면 0초로 초기화되며, 분 값이 1씩 증가한다.- 분 단위도 0 ~ 59분 까지 Counting이 가능하며, 60분이 되면 0분으로 초기화된다.   1.1. 동시에 서로 다른 숫자들을 동시에 출력하기시간을 분의 십의 자리, 분의 일의 자리, 초의 십의 자리, 초의 일의 자리로 나눈다.각각의 시간의 데이터를 Ring Counter를 이용하여 com 변수 값들..
Verilog RTL 설계(7월 17일 - 1, FND Shifting) 1. 10sec 주기로 FND Left Shifting 하기이번에는 10sec 주기마다 왼쪽으로 Shifting하는 코드를 구현하도록 하겠다.다음과 같이 동작한다.- 12번째부터 15번째 Switch를 통해 16진값을 표현한다.- 가장 오른쪽 FND를 첫 번째 FND라고 하였을 때, 10sec를 주기로 왼쪽으로 Shifting한다.- 4번째 FND에 도달하게 되면 다시 첫 번째 FND으로 돌아와 무한 반복한다.   1.1. 주기가 10sec이기 위해서는 Counter는 얼마의 크기를 가져야 하는가?Basys3의 기본 클럭 주기는 10ns이다. 따라서 10sec 주기를 갖기 위해서는 10nsec을 1000000000 분주를 해야한다.따라서 Counter는 1000000000분주를 하기 위해서는 100000..
Verilog RTL 설계(7월 16일 - 3, Basys3 입문) 1. Counter의 비트 수 (크기)와 분주비의 상관 관계Counter의 크기는 N bit 를 갖는다면 Counter는 0 ~ 2^N-1 까지 Counting이 가능하다.ex) Counter가 21bit 크기를 갖는다면 0 ~ 2^21 -1까지 Counting이 가능하다.따라서 Basys3의 기본 클럭 펄스의 주기는 10ns를 갖기 때문에 10bit Counter으로 분주화하게 되면 10ns * 1024 = 10240ns = 10us 을 주기를 갖는 새로운 펄스파를 생성시킬 수 있다.=> Basys3의 기본 Clock Pulse의 주기는 10ns를 갖는다.=> 10bit Counter로 1024분주하면 10us 주기를 갖는 펄스파형을 생성시킬 수 있다,=> 21bit Counter로 2^21분주하면 1..
Verilog RTL 설계(7월 12일 - 6, 링 카운터) 1. Ring CounterRing 형태로 순환되는 Counter출력 값 중에서 하나의 비트 값만 1이고, 나머지 비트는 0을 갖게되며, 순차적으로 Shift되며 출력된다.Ring 형태로 순환되는 구조를 갖기 때문에 마지막 비트에서 다시 첫 번째 비트로 돌아 온다.n 개의 플립플롭을 갖는다면 n개의 서로 다른 상태를 갖는다.주로 순차적인 흐름 및 제어 필요한 시스템에서 사용된다.Verilog는 병렬적 처리를 하기 때문에 순차적인 처리를 설계하고 싶을 경우, 링 카운터를 사용한다.      2. Behavioral modeling of Ring Counter (Positive edge trigger)// Behavioral Modeling of Ring Countermodule Behavioral_Mode..
Ring Counter 1. Ring CounterRing Counter는 Shift register를 이용한 Counter이다.Ring Counter는 Shift register와 다른 차이점을 갖는다.- 첫 번째 Flip-Flop은 외부로부터 데이터를 받지 않고, 마지막 Flip-Flop의 출력을 Feedback하여 받는다.- 첫 번째 Flip-Flop은 초기에 1로 설정하기 위해 독립적인 PR 단자를 갖는다.- 첫 번째 Flip-Flop은 외부 데이터와 동기화 되어 있지 않기 때문에 초기 설정을 제외하고, 독립적으로 동작한다.자세한 Ring Counter는 아래 게시글을 참조하자.Ring Counter (tistory.com) Ring Counter1. Ring CounterRing Counter는 Shift Regist..
Ring Counter 1. Ring CounterRing Counter는 Shift Register로 구성된 디지털 카운터 (Digital Counter)이다.Ring Counter의 첫 번째 Flip Flop은 외부로부터 데이터를 받지 않고, 마지막 Flip-Flop의 출력을 Feedback을 받는다.이렇게 하면 데이터가 Ring을 돌듯이 회로를 계속 순환한다. 2. Ring Counter 의 동작Ring Counter는 첫 번째 D Flip-Flop의 출력, QA를 1로 사전 설정한다.QA에 설정된 데이터 값, '1'은 CK에 공급되는 클록 펄스가 상승할 때마다 오른쪽으로 1bit 씩 Shift한다.마지막 Flip-Flop에 도달하면 Feedback에 의해 다시 첫 번째 Flip-Flop으로 이동한다. 이를 표로 표현하면..