728x90

Semiconductor 75

ASIC Flow - SPI 설계, 신호 검증 (ILA) & (Cadence) Synthesis ~ POST SIM

https://insoobaik.tistory.com/571 SPI - Serial Peripheral Interface 통신보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comSPI 이론과 관련된 내용은 위 글을 참조한다.SPI Slave (FPGA)Slave로 들어오는 bit는 총 32bit가 들어오게 된다.0~1 bit : ID 값 전달 bit2 bit : READ/WRITE 값 전달 bit (0 READ / 1 WRITE)3 bit : ADDRESS 값 전달 bit (현재 간단한 통신 테스트를 위해 2개의 16bit Register를 사용하는 예시에 해당하며, 0일경우 0번 Register, 1일경우 1번 Register에 접근4~15 bit :  ..

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

Innovus - P&R (SETUP ~ GDSII)

P&R의 SETUP ~ GDSII 파일 생성P&R은 위 Layout 절차를 따른다. Netlist : Design Netlist - Verilog fileSDC : Constraint fileLEF : Physical LibrariesLIB : Timing Libraries- P&R 이후GDS : Physical LayoutNetlist : P&R 후 NetlistSDF : Standart Delay Format P&R을 위한 파일 설계자, 공정사1. 설계자 제공 파일- Netlist 파일 : 합성 결과물- sdc 파일 : 디자인 제약 조건2. 공정사 제공 파일- 디지털 라이브러리, lef 파일 Innovus를 실행하게 되면 기본적으로 2개의 파일이 생성된다.1. 로그 파일- innovus.log : 기..

STM32 - TIP

1. Command Shell Console - Connection 삭제위와 같이 Comman Shell Console의 Connection을 계속 생성하다보면 Connection이 계속해서 쌓인다. \.metadata\.plugins\org.eclipse.core.runtime\.settings\ org.eclipse.remote.core.prefs  위 경로의 파일을 열어서 5줄 단위로 삭제해주면 Connection이 삭제된다.UART 관련USART Port의 위치에 따라 Console에 값이 출력 안될 수도 있다. 아마 DataSheet를 잘보고 작성해야 할 것 같다.

RTL - SPI (Master, Slave, FSM) (2) FSM, MASTER, SLAVE & SLVAE 활용

https://insoobaik.tistory.com/594이전에 간단한 FSM 구조와 SLAVE 구조에 대해 알아보았다.이번에는 FSM을 통한 MASTER, SLAVE 구조를 구성하고MASTER에서 8bit 데이터를 보내게 되면 각 bit가 의미하는 정보를 기반으로 Register에 값을 Read, Write 하는 코드를 작성할 것이다.MASTER 코드 및 코드 분석SLAVE 코드 및 코드 분석SLAVE 활용 코드 및 코드 분석MASTER master는 사용자로부터 데이터를 받아서 해당 데이터를 spi의 sclk 주기에 맞게 slave에게 데이터를 전송하고 받는다.아래 코드는 사용자로부터 데이터를 받아 8비트동안 slave에게 데이터를 전송하고 그 다음 8번의 sclk 주기 동안 slave로부터 데이터..

RTL - SPI (Master, Slave, FSM) (1) FSM, SLAVE

* SPI에 대한 기본적인 통신 과정은 알고 있다는 가정에 글을 작성합니다.https://insoobaik.tistory.com/571 - SPI  이론FSMFSM_SPI & SPI_SLAVEFSM_SPI (Master)SPI_SLAVEFSMFSM (Finite State Machine)유한 상태 기계는 특정한 상태(state)들 사이를 전이(Transition)하며 동작하는 추상적인 모델이다.이는 상태(state), 상태 전이(transition),  초기 상태(initial state), 종료 상태(final state)로 구성된다. - 상태(state) : 시스템이나 장치가 가질 수 있는 다양한 조건이나 모드를 나타낸다. 각 상태는 시스템의 특정 동작을 나타낸다.- 상태 전이(Transition) ..

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..

FPGA - 7-Segment Count Up (0~9999) / FPGA

1. Introduction2. Signal Description3. Verilog Code4. Trouble Shooting1. Introduction 1.1. Overview- 0~9999까지의 숫자를 Count하여 7-Segment를 통해 해당 Count한 숫자를 표현하는 기능을 구현 1.2. FeaturesVersion 1 - Clock 신호를 분주하는 모듈- 4-Digits에 필요 신호를 전달하는 모듈- 7-Segment에 필요 신호를 전달하는 모듈- 숫자를 Count하여 TOP 모듈에 신호를 전달하는 모듈 Version 2 - Clock 신호를 분주하는 모듈- 4-Digits에 신호를 전달하는 모듈- 숫자 Count 및 7-Segment에 신호를 전달하는 모듈 1.3. Block Diagram..

Semiconductor/FPGA 2024.06.02

STM32 - Error 모음

1. Open Declaration 2. Error in final launch sequence3. DAC LED  1. Open Declaration 위 파일 삭제 후 재시작2. Error in final launch sequence이거 체크해주면 해결된다. Serial Wire Debug SWV가 반드시 체크될 필요는 없지만 SWV는 다음과 같은 상황에서 활성화 해야 한다.3. DAC LED  DAC를 통해 2채널을 사용할 때 같은 값을 전달해도 불이 켜지는 속도가 다른 것을 확인할 수 있다.=> LED 마다 저항이 다르고 불을 켜기 위한 최소 전압 값이 다르기 때문이다.

728x90