Ch1 Seminar 29

Decimation filter (데시메이션 필터)

저희 회사는 SOC platform 설계 회사이며 디지털 설계를 하고 있습니다. 그런데 갑자기 대표님이 제게 데시메이션 필터를 설계해 보라고 하시더라고요. 아날로그 분야라서 물어볼 사람도, 도움을 요청할 방법도 없는데...... 이번만 경험 삼아서 시키시는 건지 아니면 새로운 분야로 업무를 주시려는지 모르겠지만 공부한 내용을 정리해 보겠습니다. - Digital filter반도체 칩은 peripheral이라고 하는 주변 IO들과 데이터를 주고받습니다. 소리나 영상같이 아날로그 데이터도 포함되는데요, 반도체는 디지털 신호를 처리하기 때문에 아날로그 데이터를 받아들일 때는 디지털 신호로 변환하고, 이를 다시 내보낼 때는 아날로그 신호로 변환시켜줘야 합니다. 아날로그에서 디지털로 변환할 때는 Sampling,..

Ch1 Seminar/IP 2023.06.10

I2C 통신 overview

언젠가 세미나를 하는데 수석님이 'RTL 엔지니어의 중요한 덕목 중 하나는 다양한 IP에 대한 지식이 있어야 한다'라고 하신 기억이 있습니다. SOC integration을 하든 자체 ip를 개발하든 결국에 ip에 대해 알아야 일을 시작할 수 있거든요. 그래서 이번에는 I2C에 대해 알아보도록 하겠습니다. I2C(Inter integrated Circuit)는 SPI에 비해 느리고 전력효율이 좋지 않지만 2개의 핀만으로도 통신이 가능하다는 장점을 가지고 있습니다. 위 그림에서 볼 수 있듯이 하나의 Master가 다수의 Slave와 통신이 가능한데 SCL, SDA 두 신호만으로 통신을 할 수 있습니다. SCL은 SPI의 SCLK와 같이 I2C의 clock이고 SDA는 데이터를 주고받는 선입니다. SCL은 ..

Ch1 Seminar/IP 2023.05.24

AMBA AHB (3) Slave response signal

Slave가 Master에 의한 transfer에 대해 HRESP signal을 통해 반응하는데요, OKAY 상태와 ERROR 상태가 있습니다. 0 (OKAY) : Transfer가 성공적으로 완료됨 1 (ERROR) : Transfer에 error가 있음 그래서 Slave source signal인 HRESP와 HREADYOUT을 통해 transfer의 상태를 확인할 수 있습니다. HRESP에서 중요한 점은 ERROR 신호는 두 clock cycle 이상 내보내야 한다는 겁니다. 위 Timing diagram을 보면서 이해해봅시다. T0 - T1 : A의 address phase가 slave로 잘 전달됨 (HREADYOUT 1, HRESP 0 - Successful transfer completed) ..

AMBA AHB (2) Burst mode transfer

- HTRANS[1:0] 이전 글에서 AHB Signals를 보여드렸는데요, 그중에서 HTRANS[1:0]은 transfer의 상태를 나타냅니다. 00(IDLE) : Bus를 통해 transfer가 진행되지 않고 있는 상태 01(BUSY) : Master가 어떤 이유로 인해 다음 transfer를 진행시킬 수 없는 상태 10(NONSEQ) : 이전에 transfer가 없었고 첫 번째 transfer인 상태, single transfer라면 NONSEQ입니다. 11(SEQ) : 이전 transfer에 이어 진행되는 상태 Transfer type의 예시가 있는데요, 자세히 살펴봅시다. 모든 transfer는 HWRITE가 Low 상태이므로 read입니다. HBURST[2:0] signal은 조금 뒤에 설명하..

AMBA AHB (1) Signals / Transfer

APB Bus가 peripheral 같은 고성능이 필요하지 않은 모듈들을 위한 버스이기 때문에 성능보다는 최적화를 중요시 여겼다면 AHB(Advanced High-performance Bus)는 보다 성능에 집중한 버스입니다. 그래서 signal도 더 많고 실제 작동하는 방식도 복잡합니다. 그럼 AHB protocol specification을 보면서 AMBA AHB Bus에 대해 알아볼까요?? - Block diagram 먼저 Block diagram부터 봐야겠죠?? 언뜻 보면 Master가 여러 Slave를 HSEL을 통해 선택하고 HWDATA와 HRDATA로 데이터를 주고받는 간단한 구조로 보입니다. 하지만 APB Bus에는 없는 여러 가지 신호와 기능들이 있는데요, Signal을 보면서 알아봅시다..

AMBA APB (1) Signals / Transfer

APB(Advanced Peripheral Bus)는 이름에서 알 수 있듯이 peripheral을 위한 Bus입니다. 인터페이스를 단순화하여 low-cost, low power consumption 등의 이점이 있습니다. Block diagram을 보면 여러 signal들이 나오는데요, AMBA APB specification을 보면서 하나하나 파헤쳐봅시다. - Signals 자세한 내용은 description을 참고하시면 됩니다. 그러면 APB transfer 예시를 보면서 APB protocol에 대해 이해해봅시다. - Basic transfer 1. Write transfer with no wait states APB bus의 write transfer 예시 입니다. 기본적으로 clock posed..

AMBA Bus

AMBA(Advanced Microcontroller Bus Architecture)는 ARM에서 개발한 Bus protocol로 여러 가지 종류가 있지만 대부분 APB, AHB, AXI를 주로 사용합니다. Bus는 Chip의 모듈 간에 신호를 주고받는 통로인데 왜 이렇게 분류를 하는 걸까요?? 그건 모듈마다 성능이 다르기 때문입니다. 예를 들어, 높은 성능을 가지고 있는 CPU와 처리속도가 느린 DRAM, 혹은 peripheral이 한 Bus로 연결된다면 데이터 처리가 늦어짐에 따라 Bus는 busy한 상태로 유지될 겁니다. 그러면 CPU나 다른 고성능 모듈들은 Bus의 신호가 다 처리될 때까지 기다려야 합니다. 그래서 고성능 모듈은 고성능 버스에 연결하고, 상대적으로 성능이 낮은 모듈들은 성능이 낮은..

SPI 통신 overview

이번주에 SPI를 주제로 세미나가 있어서 준비하면서 공부한 내용을 정리하려고 합니다. SPI(Serial Peripheral Interface)는 I2C, UART 등과 같이 I/O와 통신하는 데 사용되는 시리얼 통신 방법 중 하나입니다. 시리얼 통신 종류마다 각각의 특징이 있는데, SPI의 경우에는 다음과 같습니다. 1. I2C와 다르게 완전 전이중 통신으로써 양방향 통신 지원 2. 전송 비트 수 조절 가능 (~16bit) 3. 최대 4개 핀 사용 4. I2C에 비해 빠른 통신속도 낮은 전력 소비, 단거리 통신만 가능 5. UART의 parity 같은 오류를 검사하는 프로토콜이 없다. 그렇다면 SPI의 작동방식에 대해 알아보겠습니다. - SPI 통신 방식 SPI는 Master와 Slave가 있는데요, ..

Ch1 Seminar/IP 2023.05.16