일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FND
- structural modeling
- ATMEGA128A
- soc 설계
- vivado
- uart 통신
- DHT11
- Edge Detector
- i2c 통신
- ring counter
- dataflow modeling
- stop watch
- java
- gpio
- half adder
- atmega 128a
- pwm
- BASYS3
- test bench
- behavioral modeling
- D Flip Flop
- Linked List
- Algorithm
- LED
- Pspice
- verilog
- prescaling
- KEYPAD
- hc-sr04
- Recursion
- Today
- Total
목록verilog (66)
거북이처럼 천천히

1. 예외 처리의 필요성위 그림은 MCU와 DHT11 간에 통신 과정을 설명하고 있다.만약 MCU와 DHT11 간에 신호를 주고받는 과정에서 신호를 제대로 받지 못할 경우, 부정확한 신호 및 데이터를 받거나 잘못된 온도, 습도 데이터를 받을 수 있다.따라서 각 상태에 대해서 수신측에서 데이터를 못 받는 경우에 대한 예외 처리가 필요하다.이번에는 수신측에서 데이터를 받지 못한 경우에 대한 예외 처리를 추가적으로 설계하도록 하겠으며, 전체 소스 코드에 대한 설명보다는 수정된 부분에 대해서 집중적으로 코드와 함께 설명하도록 하겠다. 2. 3단계) S_HIGH_20US, DHT11측에서 응답 신호가 없는 경우// 3단계 : S_HIGH_20US// 100ms 동안 기다려 보았는데, Negative edge가..

1. Top module of DHT11 이전 게시글에서 구현한 dht11_cntr module를 실행시키기 위해 top module를 만들어서 실행해보도록 하겠다.dht11_cntr module 에 대한 게시글은 아래 링크를 참고하길 바란다.https://jbhdeve.tistory.com/295 Verilog RTL 설계(7월 23일 - 2, DHT11 구현 (1) )1. State diagram of dht11 Sensor ModuleMCU와 DHT 11 모듈 간에 통신 과정을 State diagram으로 그린다면 다음과 같이 표현할 수 있다. 2. DHT11로부터 온도, 습도 데이터 받아 Basys3의 FND로 출력DHT11로부터 데jbhdeve.tistory.com // Top mod..

1. State diagram of dht11 Sensor ModuleMCU와 DHT 11 모듈 간에 통신 과정을 State diagram으로 그린다면 다음과 같이 표현할 수 있다. 2. DHT11로부터 온도, 습도 데이터 받아 Basys3의 FND로 출력DHT11로부터 데이터를 받는 과정 및 통신 과정에 대해서 궁금하다면 아래 게시글을 참고하길 바란다.Verilog RTL 설계(7월 23일 - 1, DHT 기초) (tistory.com) Verilog RTL 설계(7월 23일 - 1, DHT 기초)1. DHT11 (Digital Humidity Temperature 11)이번에는 온도와 습도를 측정하는 디지털 센서, DHT11을 이용하여 온도와 습도 센서를 측정해보도록 하겠다.이를 통해 FSM(F..
1. 4X4 Matrix KeyPad (FSM 형식)이번에는 FSM (= Finite State Machine) 형식으로 KeyPad를 구현해보도록 하겠다.아래와 같이 5가지 상태로 정의하였다.- S_SCAN0 ~ S_SCAN3 : 0번째 행부터 3번째 행까지를 10msec 주기로 순회하면서 버튼이 눌렀는지 여부 확인하는 상태 - S_KEY_PROCESS : 버튼이 눌렀을 경우, 어떤 버튼이 눌렀는지를 확인하고, 이를 출력으로 내보내는 상태소스 코드에 대한 자세한 설명은 아래 게시글을 참고하길 바란다.https://jbhdeve.tistory.com/275 Verilog RTL 설계(7월 22일 - 2, FSM 형식으로 Keypa..
1. 4X4 Matrix KeyPad 전체적인 코드에 대한 설명은 아래 게시글 참고하길 바란다.https://jbhdeve.tistory.com/274 Verilog RTL 설계(7월 22일 - 1, 4X4 Matrix Keyboard - 1)1. 4X4 Matrix Keyboard4X4 Matrix Keyboard는 다음과 같은 회로도를 같는다.Row와 Column간에 회로 연결은 16개의 Switch간에 연결되어 있다. 2. 어떻게 버튼이 눌렀는지를 확인하는가?Row 값(R1, R2, R3, R4)들이jbhdeve.tistory.com // Edge detector module edge_detector ( input clk, reset_p, input cp, output p..
1. Cooking Timer에 Buzz를 추가하자.시중에 팔고 있는 Cooking Timer는 0분 0초가 되면 알람을 울려 사용자에게 0분 0초가 되었음을 알린다.이전에 구현한 Cooking Timer에서 추가적으로 해당 기능을 추가해보도록 하겠다. 2. 수정된 소스 코드이전 게시글에서 구현한 소스 코드를 바탕으로 구현하겠으며, 수정된 코드를 중점으로 설명하도록 하겠다.https://jbhdeve.tistory.com/290 Verilog RTL 설계(7월 19일 - 1, Cooking Timer - 1)1. Cooking Timer 꽤 늦었지만, 휴일을 통해 Cooking Timer을 구현해보도록 하겠다.Cooking Timer는 주방에서 사용하는 Timer라고 보면 이해하기 쉬울 수 있다.시간을..

1. Cooking Timer 꽤 늦었지만, 휴일을 통해 Cooking Timer을 구현해보도록 하겠다.Cooking Timer는 주방에서 사용하는 Timer라고 보면 이해하기 쉬울 수 있다.시간을 설정한 뒤, 1초씩 Down Counting하다가 0분 0초가 되었을 때, 알람(Buzz)가 울리도록 설계할 것이다. 2. State diagram Cooking Timer는 2가지 모드를 갖는다.- Start mode : Cooking Timer가 세팅된 시간부터 1초씩 Down Counting하는 모드- Set mode : Cooking Timer의 시작 시간을 세팅하는 모드btn[0]를 btn_start_set 버튼으로 지정하여 btn[0]에 의해 모드 전환이 발생하며, 이를 상태도로 표현하면 다음과 ..
1. Stop Watch이번에 구현한 Stop Watch 코드는 본인 스스로 구현한 것이기 때문에 아래 게시글에서 구현한 Stop Watch 코드와 약간의 차이가 있을 수 있으나, 알고리즘 관점에서는 큰 차이를 갖지 않는다.Stop Watch의 동작 원리 및 자세한 코드 설명은 아래 게시글을 참고하길 바란다. 2. Source code of Stop Watch// Clock divider 10.module clk_div_10 ( input clk, reset_p, input clk_source, output clk_div_10, output clk_div_10_nedge, clk_div_10_pedge ); wire clk_source_nedge; edge_de..