728x90

verilog 6

RTL - I2C (Master / Slave - Simulation, Code)

https://insoobaik.tistory.com/672위 I2C 이론을 기반으로 RTL 코드를 설계할 것이다.- Simulation- Master Write / Slave Read 동작(현재 Master와 Slave 신호를 둘 다 보기 때문에 둘 사이에 동일하게 동작하는 신호의 경우 위와 같이 동일한 2개의 신호가 나오는 것 처럼 보일 것이다.)Master에서 Address 포함 Write 동작에 대한 전체 Simulation은 위와 같다. 1. Start ConditionSCL이 1인 상태에서 SDA가 0으로 떨어지는 구간은 Start Condition을 나타내고 I2C 프로토콜이 동작하기 시작하는 구간에 해당한다.bitcount, state, pulse의 값이 동작하기 시작한다. 2. Addre..

FPGA - STM32 UART 이용한 DC Motor 제어 및 신호 확인

https://insoobaik.tistory.com/652 통신 프로토콜 UART 동작 원리보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.com기본적인 UART 이론은 위 글을 참고한다. * 전체 실행 관련 코드는 글 아래 첨부되어 있다.UART 통신 규칙 설정Baud_Rate9600Data Bit8ParityxStop Bit1 FPGA Clock50MHz FPGA Board의 Clock은 50MHz(20ns)다.Baud Rate 9600은 104166ns에 해당한다.Clock Count를 5208번으로 설정하게 되면 Baud Rate와 1bit당 속도를 맞출 수 있다.Clock이 5208번 반복하게 되면 104160ns를 소요하게 되고 6ns의 차이는 ..

Semiconductor/FPGA 2024.07.30

FPGA - SPI 통신을 이용한 DC Motor 제어하기

https://insoobaik.tistory.com/648 SPI - 신호 검증 (ILA) & (Cadence) Synthesis ~ POST SIM보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.com이전에 SPI를 ILA를 통해 전달되는 신호를 확인하고 Synthesis부터 Post Layout Simulation을 통해 코드가 정상적으로 실행되는 것을 확인하였다.https://insoobaik.tistory.com/630 Verilog- FPGA를 이용한 DC 모터 구동보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.com 위에서 SPI 통신을 통해 전달 받은 Data를 이전에 실습해본 Dc Motor를 ..

Semiconductor/FPGA 2024.07.15

FPGA - CHARACTER LCD에 문자 입력하기

FPGA를 이용한 LCD 문자 출력 결과 화면LCD는 CLK 신호를 기반으로 RS, RW, E, DB0~DB7 핀을 통해 신호를 전달받아 데이터를 출력한다. RS는 Register Select의 약자로RS가 0일 경우 명령 레지스터를 선택한다. 즉, LCD에 보내는 데이터가 명령어 또는 제어 명령어임을 나타낸다.RS가 1일 경우 데이터 레지스터를 선택한다. 즉, LCD에 보내는 데이터가 화면에 표시될 문자 데이터임을 나타낸다. RW는 Read Write의 약자로RW가 0 일 때는 쓰기 모드로 MCU -> LCD로 데이터를 전송한다. 이 모드는 주로 LCD에 문자를 표시하거나 명령을 전송할 때 사용된다.RW가 1일 때는 LCD -> MCU로 데이터를 전송한다. 이 모드는 주로 LCD의 상태를 읽거나, Bu..

Semiconductor/FPGA 2024.06.18

FPGA - FPGA를 이용한 DC 모터 구동

https://insoobaik.tistory.com/635 STM32 - PWM를 이용한 모터 제어 및 부저를 이용한 멜로디 생성보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comPWM에 대한 내용은 위 글을 통해 참고하면된다.STM32를 가지고 PWM을 통해 모터를 동작시킨 것과 동일하게 FPGA, Verilog를 통해 DC 모터 제어를 해 볼 것이다.MotorMotor StatusIN1IN2IN3IN4MOTOR_AFoward Rotation1/PWM0  Reverse01/PWM  STOP00  Break11   DC 모터의 경우 ARR값에 대한 CCR값을 통해 속도를 조절 할 수 있다.DC 모터의 속도는 ARR에 의해 정해진 타이머 주기의 평균 전압..

Semiconductor/FPGA 2024.06.11

RTL - Xcelium, Verilog를 이용한 CPU RISC 구조 설계

CPU RSIC Multiplexor Driver ALU Controller Register Memory Counter RISCCPU CPU (Central Processing Unut) : 중앙 처리 장치 - CPU는 4단계의 사이클로 명령어를 처리한다.1. Fetch : 명령어 인출 - CPU에서 명령어를 읽어온다.2. Decode : 명령어 해독 - 읽어온 명령어를 해독한다.3. Execute : 명령어 실행 - 해독한 명령어를 실행한다.4. Store : 결과 저장 - 계산 결과를 저장한다.  - CPU에는 특수한 목적을 가지고 있는 레지스터들이 있다.1. AR(Address Register) : PC에 저장된 명령어가 주소 버스로 이동하기 전에 일시 저장한다.2. PC(Program Counte..

728x90