1004
TOOL : Quartus Prime Lite Edition(Ver.18.1)
Board : DE1-SoC
FPGA : ALTERA CycloneV SoC (5CSEMA5F31C6N)
LANGUAGE : Verilog(Ver.2001)
IP 종류
UART, GPIO, SPI, I2C, SDRAM, Video, Camera
그 중 intel 사의 avalon bus IP를 가지고 RTL설계를 해볼예정이다.
setup time : 이벤트 즉, control path에 대한 이벤트 (어떻게 보면 mux) 이벤트가 없으면 진행이 안된다.
(입력으로 받아들이는데 필요한 최소시간, 대기시간)
Hold time : 출력으로 유지하기 위한 필요 최소시간
아발론 버스설계를 위해서는
test환경의 구축이 필요하다
-TB구축.
BUS생성과정
포인터 사용 Read, Write >> Compile >> (Instruction, 지시) 신호 생성 >> Master 동작
Write예시
*(volatile unsigend int*)0x1000 = 0x01
(마법의 문장)
Read예시
int a = *(volatile unsigend int*)0x1000
Avalon Bus
INSTRUCTION
연산에 사용(CRC)
ALU를 사용하며 INPUT은 2개를 사용
따라서 가속기, 보안에 사용된다. - 연산과정
Custom instruction을 넣는다 >> FPGA 강점
Component
IP설계에 사용
control이 필요하다
Address가 있어서 계속 체크하고 읽어와야 한다.
하드웨어 설계에서 모듈 또는 블록을 나타내는 용어
INSTRUCTION vs Component
INSTRUCTION는 레지스터 INPUT 2개를 이용하여 결과를
INSTRUCTION이 더 빠르다
★ASIC DATA전송방법 2가지
- DATA추가 할때
DATA 전송속도를 더 빠르게 압축하여 데이터가 들어갈 공간을 만드는것
- FREQ를 두 배로 증폭시켜야 한다.
-BITWAP
SW는 32_Clock, HW는 1_Clock
Little Endian과 Big Endian을 맞춰줄 때 사용 가능 >> 성능 떨어진다.
처음부터 호환되는 장치를 사용해야함
SW Vs HW
하드웨어에서는 동작하지 않는 메모리 공간에서 CRC를 돌린다
소프트웨어 에서는 동작하지 않는 메모리 말고 다른 부분에서 CRC를 하게 된다.
그렇기 때문에 SW와 HW 측정이 다르게 측정된다
실습 과정
이름 변경하고 위치 위로 이동하고 연결
Ctrl+S 저장
다시 Quartus
변경
sof 파일 다운로드
Drag & Drop -> bsp 아닌 것에 놓기.
BSP Editor의 common
꼭 해주는 거
Common에서
Advanced에서
체크 해제
결과 출력 되면 stop으로 끝
[SW와 HW에서 Data Block이 다른 이유]
동작하지 않는 메모리의 빈 공간(4byte)에서 CRC를 돌린다.
하지만 현재 동작하지 않는 메모리 말고 다른 부분에서 CRC를 한 것이다.
따라서 CPU가 돌고 있기 때문에 SW가 측정할 때와 HW가 측정할 때 다르다.
SoC - NiosⅡ(DE1-SoC) - 6 RTL 설계 (0) | 2023.10.11 |
---|---|
SoC - NiosⅡ(DE1-SoC) - 5 PWM 설계 (0) | 2023.10.06 |
SoC - NiosⅡ(DE1-SoC) -4 RTL 설계 (0) | 2023.10.05 |
SoC - NiosⅡ(DE1-SoC) -2 crc / pwm (0) | 2023.09.08 |
SoC - NiosⅡ(DE1-SoC) -1 (0) | 2023.09.07 |