[AMD/Xillinx] Zynq7000 SoC

oerreoยท2026๋…„ 4์›” 18์ผ

FPGA

๋ชฉ๋ก ๋ณด๊ธฐ
2/4
post-thumbnail

๐Ÿ’กConcepts

๐Ÿ“–Block Diagram & Term

1๏ธโƒฃProcessing System(PS, CPU ์˜์—ญ)

  • CPU / ์—ฐ์‚ฐ ์œ ๋‹›
    • ARM Cortex-A9 CPU: ๋ฉ”์ธ ํ”„๋กœ์„ธ์„œ(๋“€์–ผ์ฝ”์–ด)
    • FPU (Floating Point Unit): ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ ๊ฐ€์†
    • NEON Engine: SIMD ๋ฒกํ„ฐ ์—ฐ์‚ฐ(์˜์ƒ, ์‹ ํ˜ธ์ฒ˜๋ฆฌ)
      • SIMD(Single Instruction, Multiple Data): ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ(๋ฒกํ„ฐ)๋ฅผ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ
    • L1 Cache (32KB I-Cache / 32KB D-Cache): CPU ๋ฐ”๋กœ ์˜† ์ดˆ๊ณ ์† ์บ์‹œ
    • L2 Cache (512KB)
    • OCM (On-chip Mem, 256KB SRAM): ์นฉ ๋‚ด๋ถ€ RAM, ์ดˆ์ €์ง€์—ฐ
    • DDR Contoller (DDR2/3, LPDDR2): ์™ธ๋ถ€ DRAM ์ œ์–ด
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ / ์‹œ์Šคํ…œ
    • MMU (Memory Management Unit): ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ / ์ฃผ์†Œ ๋ณ€ํ™˜
    • Snoop Control Unit: CPU ์บ์‹œ coherence ์œ ์ง€
  • ์ธํ„ฐ๋ŸฝํŠธ / ํƒ€์ด๋จธ
    • GIC (Generic Interrupt Controller): ์ธํ„ฐ๋ŸฝํŠธ ๊ด€๋ฆฌ
    • Timer: ์‹œ๊ฐ„ ์ธก์ •
    • Watchdof (AWDT): ์‹œ์Šคํ…œ ๋ฉˆ์ถค ๊ฐ์ง€ ํ›„ ๋ฆฌ์…‹
  • ๋ฐ์ดํ„ฐ ์ด๋™
    • DMA (Direct Memory Access): CPU ๊ฐœ์ž… ์—†์ด ๋ฉ”๋ชจ๋ฆฌ ์ „์†ก
    • DMA 8 Channel: 8๊ฐœ ์ฑ„๋„ ๋™์‹œ ์ „์†ก ๊ฐ€๋Šฅ
  • ๋””๋ฒ„๊ทธ / ์ถ”์ 
    • CoreSight Components: ARM ๋””๋ฒ„๊น… ์‹œ์Šคํ…œ
    • DAP (Debug Access Port): JTAG ๋””๋ฒ„๊น… ์ธํ„ฐํŽ˜์ด์Šค
  • ๊ธฐํƒ€
    • System Level Control Registers: ์‹œ์Šคํ…œ ์„ค์ • ๋ ˆ์ง€์Šคํ„ฐ
    • IRQ: ์ธํ„ฐ๋ŸฝํŠธ ๋ฆฌํ€˜์ŠคํŠธ ์‹ ํ˜ธ ๋ผ์ธ

2๏ธโƒฃI/O Peripherals (PS ๋‚ด๋ถ€ ์ฃผ๋ณ€์žฅ์น˜)

  • ํ†ต์‹ 
    • UART: ์‹œ๋ฆฌ์–ผ ํ†ต์‹ 
    • SPI: ๊ณ ์† ๋™๊ธฐ์‹ ํ†ต์‹ 
    • I2C: ์ €์† ๋””๋ฐ”์ด์Šค ํ†ต์‹ 
    • CAN: ์ฐจ๋Ÿ‰ ๋„คํŠธ์›Œํฌ
  • ๋„คํŠธ์›Œํฌ / ์ €์žฅ
    • GigE (Ethernet): ๋„คํŠธ์›Œํฌ
    • USB: ๋ฒ”์šฉ ์ธํ„ฐํŽ˜์ด์Šค
    • SD / SDIO: SD์นด๋“œ / ํ™•์žฅ ์ธํ„ฐํŽ˜์ด์Šค
  • ์ œ์–ด
    • GPIO: ์ผ๋ฐ˜ ์ž…์ถœ๋ ฅ
  • ๋ฉ”๋ชจ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค
    • SRAM / NOR / NAND / QSPI: ์™ธ๋ถ€ Flash / ๋ฉ”๋ชจ๋ฆฌ ์—ฐ๊ฒฐ

3๏ธโƒฃCentral Interconnect (ํ•ต์‹ฌ Bus)

  • Central Interconnect
    • AXI ๊ธฐ๋ฐ˜ ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ๊ณ ์†๋„๋กœ
    • CPU โ†” ๋ฉ”๋ชจ๋ฆฌ โ†” ์ฃผ๋ณ€์žฅ์น˜ โ†” FPGA ์—ฐ๊ฒฐ

4๏ธโƒฃProgrammable Logic (PL, FPGA ์˜์—ญ)

  • ์ฃผ์š” ๊ตฌ์„ฑ
    • Programmable Logic: ์‚ฌ์šฉ์ž ์ •์˜ ํšŒ๋กœ ์˜์—ญ, ์ปค์Šคํ…€
    • SelectIO Resources: FPGA I/O ํ•€ ์ œ์–ด
  • ์—ฐ๊ฒฐ ๋ธ”๋ก
    • Programmable Logic to Memory Interconnect: PL โ†” DDR ์—ฐ๊ฒฐ ๊ฒฝ๋กœ

5๏ธโƒฃPS โ†” PL ์ธํ„ฐํŽ˜์ด์Šค (ํ•ต์‹ฌ ํฌํŠธ)

  • GP (General Purpose Ports)
    • ์šฉ๋„: ์ œ์–ด ์‹ ํ˜ธ
    • ๋ฐฉํ–ฅ: CPU โ†” FPGA
    • ํŠน์ง•: ๋А๋ฆผ, ๋ ˆ์ง€์Šคํ„ฐ ์ ‘๊ทผ
  • HP (High Performance Ports)
    • ์šฉ๋„: ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ „์†ก
    • ๋ฐฉํ–ฅ: FPGA โ†’ DDR
    • ํŠน์ง•: ๊ณ ์† AXI
  • ACP (Accelerator Coherency Port)
    • ์šฉ๋„: CPU cache์™€ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€
    • ํŠน์ง•: cache-coherent access

6๏ธโƒฃ์™ธ๋ถ€ ์—ฐ๊ฒฐ ํ•€

  • MIO (Multiplexed I/O)
    • PS์—์„œ ์ง์ ‘ ํ•€์œผ๋กœ ์—ฐ๊ฒฐ
  • EMIO (Extended MIO)
    • PS โ†’ FPGA โ†’ ํ•€
    • FPGA ํ†ตํ•ด ํ™•์žฅ

7๏ธโƒฃ์•„๋‚ ๋กœ๊ทธ

  • XADC (12-bit ADC)
    • ์•„๋‚ ๋กœ๊ทธ โ†’ ๋””์ง€ํ„ธ ๋ณ€ํ™˜

8๏ธโƒฃ๋ณด์•ˆ / ์„ค์ •

  • DevC (Device Configuration)
    • FPGA ์„ค์ • (bitstream ๋กœ๋”ฉ)
  • Config AES/SHA
    • ์•”ํ˜ธํ™” / ๋ณด์•ˆ ๋ถ€ํŒ…

9๏ธโƒฃํด๋Ÿญ / ๋ฆฌ์…‹

  • Clock Generation
    • ์‹œ์Šคํ…œ ํด๋Ÿญ ์ƒ์„ฑ
  • Reset
    • ์ „์ฒด ๋ฆฌ์…‹ ์ œ์–ด

0๊ฐœ์˜ ๋Œ“๊ธ€