SoC 이해 및 HW IP Design (이론_1) (tistory.com)
SoC 이해 및 HW IP Design (이론_1)
들어가기에 앞서..아래의 이전 포스트에서 회로 설계의 필요성과 회로설계의 종류에 대해 설명을 했습니다.반도체 공정 & 회로설계 개념 (tistory.com) 반도체 공정 & 회로설계 개념● 목차1. 회로
htaekjung.tistory.com
SoC 이해 및 HW IP Design (실습_1) (tistory.com)
SoC 이해 및 HW IP Design (실습_1)
● 목차1. ASIC란?2. SoC란?3. HW IP in SoC4. HW Implementation flow (다음 포스트에 기재)5. Lab #1 (다음 포스트에 기재) 4. HW Implementation flowCadence 사의 Xcelium과 Simvision 툴을 사용하기 위해 Mobaxterm이라는 프
htaekjung.tistory.com
저번 포스트에서
ASIC의 특성, SoC, Xceilum, simvision을 사용하여 Adder의 특성을 띄는 모듈을 만들어보았다.
이번 포스트에서는 APB bus protocol에 대해 설명하고 xcelium과 simvision을 통해 APB Bus interface에 대한 파형을 나타내보겠다.
1. Bus protocol
먼저 bus interface란, 컴퓨터 하드웨어 구성 요소 간 물리적/전기적 연결을 의미합니다.
또한 컴퓨터 부품들 간 데이터 전달하고 명령 전송하는 등의 역할을 합니다.
이러한 bus interface를 통해 데이터를 전송하기 위한 규칙을 bus protocol이라고 합니다.
Bus protocol에서는 데이터 전송 시 신호의 타이밍, 순서, 형식을 정의합니다.
Bus protocol의 종류 중, AMBA는 ARM에서 정의한 On-chip Interconnect Bus protocol입니다.
다음은 AMBA(Advanced Microcontroller Bus Protocol) 종류에 대한 설명입니다.
- APB : Advanced Peripheral Bus
- 느린 속도의 주변장치 제어 목적으로 간단한 interface
- 구조간단, 저전력, 전력 효율성 높음, 설계 복잡성 감소
- AHB(Advanced High-performance Bus) interface
- Multiplex bus 기반
- 고속으로 동작하는 장치들의 data bus
- AXI 때문에 요즘에는 별로 안쓰임
- AXI(Advanced eXtensible Bus) interface
- 다중채널 bus, 채널 도입으로 독립적으로 작동 가능
- 더 높은 수준의 성능, 유연성
- 멀티 마스터 및 멀티 슬레이브 구성을 지원
- 데이터 전송에 있어 더 높은 대역폭을 제공
- 복잡하고 고성능이 요구되는 시스템
- 이러한 특성때문에 현재는 AHB bus protocol은 거의 사용하지 않는다.
이 중에서 APB Bus protocol에 대해 자세히 설명하도록 하겠습니다.
1-1. APB Protocol
- PCLK : APB의 Clock signal, positive edge일 때 데이터 전송이 발생
- PRESETn : bus reset signal, active low 신호이며 0이 되면 버스와 연결된 모든 디바이스가 초기 상태로 리셋됨
- PADDR : APB 버스에서 엑세스할 slave device의 address를 나타내는 signal,
- PSELx : 각각의 Slave device마다 독립적인 selection Line이 존재, master device가 특정slave와 통신하고자 할 때, 해당 slave의 PSELx 신호 활성화
- PENABLE : Slave device와의 data transmit enable하는 signal(1일때 선택된 슬레이브 디바이스와 데이터 전송 이루어짐)
- PWRITE : 읽기모드(PWRITE : 1), 쓰기모드(PWRITE : 0) 설정
- PWDATA : Write data (Master -> Slave로 쓰기 동작함), (1일떄만 유효)
- PREADY : Slave가 전송준비의 완료여부를 보냄
- PRDATA : 32bit 이내의 Read Data Bus (Slave-> Master)
- PSLVERR : 전송 에러 여부 나타냄
- But, 이번 실습과정에 wait states, slave error이 없다고 가정하기에 PREADY와 PSLVERR을 신경쓰지 않겠습니다.
- 전제조건 : PCLK가 positive edge일 때
- 시간 T1 이후에
- PWRITE=1이므로 write 동작 실행
- PSEL = 1이므로 특정 slave가 선택됨
- PADDR = Addr 1로 특정 주소가 입력되고 있음
- 시간 T2 이후에
- PSEL = 1, PENABLE = 1이므로 Access 상태가 됨
- Write 동작 수행
- 시간 T1 이후에
- 전제조건 : PCLK가 positive edge일 때
- 시간 T1 이후에
- PWRITE=0이므로 Read 동작 실행
- PSEL = 1이므로 특정 slave가 선택됨
- PADDR = Addr 1로 특정 주소가 입력되고 있음
- 시간 T2 이후에
- PSEL = 1, PENABLE = 1이므로 ACCESS state가 됨
- Read 동작 마무리
- 시간 T1 이후에
2. Address map & Register map
Address map과 register map은 HW, SW 간 인터페이스를 정의하는데 사용됩니다.
- Address map은 시스템의 메모리 주소 공간 내에서 메모리 영역의 위치를 정의하며 CPU가 올바르게 접근하고 자원을 관리할 수 있도록 합니다.
Register Map은 특정 하드웨어 장치 내부의 레지스터들이 메모리 주소 공간에 어떻게 배치되어 있는지를 정의합니다.
다시 말해, 레지스터들이 메모리의 어떤 위치에 있는지를 알려줍니다.
3. HDD
- HDD 설계 목적
-
Hardware design을 위한 설계도
-
Project 완료 후 남는 것은 code와 문서
-
- HDD 내용 구성
- Hardware overview
- Description
- 전반적인 설명을 제공
- Hardware feature table
- 구체적인 기능이나 특성을 나열
- Description
- Overall block 설명
- Block diagram
- IO diagram
- Memory list & size 도출 근거
- Register map
- Sub block별 설명
- Block diagram with I/O
- Algorithm, 동작 방식 등 설명
- 선택사항
-
Coverage, G.C, Performance, Further work, Revision history 등등
-
- Hardware overview
본 자료들은 혁신공유대학 차세대반도체학과 강의자료에서 발췌하였으며, 교수님의 승인 하에 사용되었습니다.
'단기강좌 - SoCs and practicing HW IP Design' 카테고리의 다른 글
SoC 이해 및 HW IP Design (APB interface with SRAM_심화 실습) (0) | 2024.08.30 |
---|---|
SoC 이해 및 HW IP Design (APB interface with SRAM_이론 + 실습) (0) | 2024.08.30 |
SoC 이해 및 HW IP Design (APB interface_실습) (0) | 2024.08.17 |
SoC 이해 및 HW IP Design (xcelium&simvision_실습) (0) | 2024.08.12 |
SoC 이해 및 HW IP Design (SoC_이론) (0) | 2024.08.10 |