일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ATMEGA128A
- i2c 통신
- DHT11
- pwm
- ring counter
- gpio
- test bench
- structural modeling
- BASYS3
- KEYPAD
- prescaling
- Recursion
- dataflow modeling
- atmega 128a
- hc-sr04
- Pspice
- Edge Detector
- Algorithm
- verilog
- LED
- java
- Linked List
- vivado
- soc 설계
- uart 통신
- D Flip Flop
- half adder
- stop watch
- FND
- behavioral modeling
- Today
- Total
목록Edge Detector (5)
거북이처럼 천천히
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..
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..

1. Prescalerbasys3의 기본 Clock Pulse의 주기는 10ns를 갖는다.짧은 주기를 갖는 Clock pulse를 가지고 이보다 긴 펄스파형을 생성하거나 낮은 주파수를 갖는 파형을 생성하고 싶을 때, Prescaler 기법을 사용할 수 있다.Prescaler의 주요 기능에 대해서 요약하면 다음과 같다.▶ 고주파 클럭 신호를 낮은 주파수를 갖는 신호로 변환하고자 하는 경우▶ 짧은 주기를 갖는 클럭 신호를 상대적으로 더 긴 주기를 갖는 신호로 변환하고자 하는 경우▶ 입력 클럭 주파수를 일정한 비율로 나누고자 하는 경우 Q) Prescaler 기법은 어떻게 기본 Clock Pulse를 주기가 더 긴 파형으로 변환할 수 있는가?A) 여러 개의 펄스 파형을 하나의 묶음으로 묶은 뒤, 이를 하나의 ..

1. Sequential logic circuit은 Combinational logic circuit와 Register (D Flip - Flop)의 조합으로 이루어진다.이전 게시글 통해 알 수 있듯이Sequential logic circuit은 Combinational logic circuit와 Register (D Flip - Flop)의 조합으로 이루어져 있음을 확인할 수 있다.Up / Down Counter = adder (조합 논리 회로) + D Flip FlopRing Counter = shift operator (조합 논리 회로) + D Flip Flop순차 논리 회로는 조합 논리회로와 레지스터의 조합으로 구성되어 있으며, FPGA에서는 "레지스터는 D Flip Flop"임을 의미한다. 2...

flip_flop_current = cp;flip_flop_old = flip_flop_current;1. Verilog에서 동기순차회로를 설계할 때에는 Clock Pulse와 Reset만 Sensitive variable로 사용하고, 나머지 변수에 대해서는 Sensitive variable로 사용하지 않는다.PDT (Propagation delay time)은 신호 및 데이터가 회로를 통과하는데, 소요되는 시간을 의미한다.PDT 를 정확히 계산하는 것이 회로의 Timing과 성능을 결정 짓는 데, 중요한 요소가 된다.Clock Pulse와 Reset 신호는 동기화하고, 초기화하는데, 사용되는 특별한 신호이다. 따라서 이들 신호의 Timing은 예측이 가능하고, 제어도 가능하다. 하지만, 이를 제외한 나..