JESD204B Fundamental - Terry4055/FPGA_HW GitHub Wiki

  1. ํ‘œ์ค€
    • Data Converter(ADC&DAC)์™€ Logic Device(FPGA & ASIC) ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ง๋ ฌ ์ธํ„ฐํŽ˜์ด์Šค
    • Deterministic Latency ํš๋“ (by using Sysref)
    • 8b/10b Encoding for Serdes ๋™๊ธฐํ™”, Clock Recovery, DC Balance ๋“ฑ์ด ์“ฐ์ž„
    • Serdes์™€ CML(Current Mode Logic)์ด ์„ž์ธ ๋ฌผ๋ฆฌ์  ์ธํ„ฐํŽ˜์ด์Šค๋ผ ๋ณด๋ฉด ๋œ๋‹ค.
  2. ์žฅ์ 
    • PCB์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ๋ฉด์ ์„ ์ค„์ธ๋‹ค.
    • ์ค„์–ด๋“  Package ์‚ฌ์ด์ฆˆ
    • ํฐ์ฒ˜๋ฆฌ๋Ÿ‰์— ๋Œ€ํ•œ ํ•„์ ํ• ๋งŒํ•œ ํŒŒ์›Œ
    • ์‹ฌํ”Œํ™” ๋œ ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ด๋ฐ
  3. Costs(๋Œ“๊ฐ€)
    • ์ฆ๊ฐ€๋œ ์ธํ„ฐํŽ˜์ด์Šค Latency
      • ํƒ„์„ฑ ๋ฒ„ํผ์˜ ์˜ํ–ฅ / ํƒ„์„ฑ ๋ฒ„ํผ : ์ •๋ณด์ŠคํŠธ๋ฆผ์— ๋”œ๋ ˆ์ด๋ฅผ ์ถ”๊ฐ€ ํ•˜์—ฌ, ์ „์ฒด Lane์— ๋Œ€ํ•œ ์ „์ฒด ์ง€์—ฐ์„ ๊ณ ์ •๋œ ๊ฐ’์œผ๋กœ ๋งŒ๋“ ๋‹ค.
    • ์ฆ๊ฐ€๋œ FPGA ๋กœ์ง ๋ณต์žก์„ฑ / ๋ผ์ธ์„ผ์Šค ๊ฐ€๊ฒฉ
  4. ๊ณ„์ธต ๊ตฌ์กฐ(Tx)
    • Transport Layer
      • ADC๋‚˜ DAC์˜ ๋ณ‘๋ ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ง๋ ฌ ๋ฐ์ดํ„ฐ๋กœ ๋งคํ•‘ ํ•˜๋Š” ๊ณ„์ธต
    • Scrambler(optional)
      • ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์ถ”์ถœํ•˜์—ฌ, ์ŠคํŽ™ํŠธ๋Ÿผ ๋‚ด์šฉ์„ ๋ถ„์‚ฐ ์‹œ์ผœ์„œ EMI ๋ฐ ๊ฐ„์„ญ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ŠคํŽ™ํŠธ๋Ÿผ ํ”ผํฌ๋ฅผ ์ค„์ธ๋‹ค.
      • ์˜ต์…˜์ ์œผ๋กœ Transport Layer ์ถœ๋ ฅ์ด ๋‹คํ•ญ์‹(1+x^14+x^15)์œผ๋กœ ์ŠคํŠธ๋žจ๋ธ” ๋œ๋‹ค.
      • RX์—์„œ๋Š” ๋”” ์Šคํฌ๋žจ๋ธ”๋Ÿฌ๊ฐ€ ์žˆ๋‹ค. ๋””์Šคํฌ๋žจ๋ธ”๋Ÿฌ์—์„œ๋Š” 2๊ฐœ์˜ Octect์„ ๋ฐ›์€ ํ›„์— ์ž๊ธฐ ๋™๊ธฐํ™” ํ•œ๋‹ค.
      • Tx๋Š” ILA(์ดˆ๊ธฐ ๋ ˆ์ธ ์ •๋ ฌ) ๋™์•ˆ์— De-scrambler๊ฐ€ ์ž๊ธฐ ๋™๊ธฐํ™” ํ•˜๋„๋ก, Early-synchronization ์˜ต์…˜์„ ์ง€์›ํ•œ๋‹ค.
    • Data Link Layer
      • 8b/10b ์ธ์ฝ”๋”ฉ์„ ํ•œ๋‹ค. 8bit Octect๋“ค์„ 10๋น„ํŠธ ์‹ฌ๋ณผ ๋“ค๋กœ Encoding ํ•œ๋‹ค.
      • Octect to Symbol ๋งคํ•‘์€ Running Disparity(์ „์†ก ๋™์•ˆ์— ๋ฐ์ดํ„ฐ ์‹œํ€€์Šค ์‹œ์ž‘๊ณผ ํŠน์ • ์ˆœ๊ฐ„ ์‚ฌ์ด์— Logic 1,0์˜ ๊ฐฏ์ˆ˜ ์ฐจ์ด)๋ฅผ ์˜์กดํ•œ๋‹ค.
      • DC balancing(0๊ณผ 1 ๊ฐฏ์ˆ˜๋ฅผ ๋˜‘๊ฐ™์ด ๋งž์ถค)์ด AC coupling์„ ๊ฐ€๋Šฅ์ผ€ ํ•œ๋‹ค.
      • Link Establishment์— ๊ด€๋ จ๋œ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง„๋‹ค.(์ฝ”๋“œ ๊ทธ๋ฃน ๋™๊ธฐํ™”, ์ด๋‹ˆ์…œ ์ดˆ๊ธฐ ํ”„๋ ˆ์ž„ ๋™๊ธฐํ™”, ์ดˆ๊ธฐ ๋ ˆ์ธ ๋™๊ธฐํ™”)
    • Physical Layer
      • ๋ฐ์ดํ„ฐ ์ „์†ก์˜ ์‹œ๊ฐ„์ , ์ „๊ธฐ์  ํŠน์„ฑ์„ ์ •์˜ ํ•œ๋‹ค
      • Point to Point์ด๋ฉฐ ๋‹จ๋ฐฉํ–ฅ ์ง๋ ฌ ์ธํ„ฐํŽ˜์ด์Šค๋‹ค.(์ค‘๊ณ„ ์žฅ์น˜๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๋Š”๋‹ค)
      • Serdes, CDR, Driver/receiver Block์— ์˜ํ•ด ํผํฌ๋จผ์Šค๊ฐ€ ์ œํ•œ ๋œ๋‹ค.
  5. ํด๋Ÿญ ๋ฐ ์‹ ํ˜ธ ์ข…๋ฅ˜
    • Frame Clock
      • Transport Layer์˜ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„์ด ํ”„๋ ˆ์ž„ ํด๋Ÿญ์œผ๋กœ ์ •๋ ฌ ๋œ๋‹ค.
      • Tx, Rx์˜ ํ”„๋ ˆ์ž„ ํด๋Ÿญ ์ฃผ๊ธฐ๋Š” ๋™์ผ ํ•ด์•ผ๋งŒ ํ•œ๋‹ค.
    • LMFC : Local Multi Frame Clock
      • ๋ฉ€ํ‹ฐ ํ”„๋ ˆ์ž„์€ 'K' ํ”„๋ ˆ์ž„๋“ค๋กœ ๊ตฌ์„ฑ ๋˜์–ด ์žˆ๋‹ค.
      • LMFC๋Š” ๋ฉ€ํ‹ฐ ํ”„๋ ˆ์ž„ ๋ฐ”์šด๋”๋ฆฌ์— ์ •๋ ฌ ๋œ๋‹ค.
      • Multiple Device ๋“ค์— ๊ฑฐ์ณ์„œ ๋‚˜ํƒ€๋‚˜๋Š” ํ”„๋ ˆ์ž„ ํด๋Ÿญ ์œ„์ƒ ๋ชจํ˜ธ์„ฑ์„ ํ•ด๊ฒฐ ํ•˜๊ธฐ ์œ„ํ•ด ์ €์ฃผํŒŒ์ˆ˜ ๋ ˆํผ๋Ÿฐ์Šค๋กœ ์‚ฌ์šฉ ๋œ๋‹ค.
    • Device Clock
      • ๋””๋ฐ”์ด์Šค์˜ ํ”„๋ ˆ์ž„, ์ƒ˜ํ”Œ๋ง, LMFC ํด๋Ÿญ๋“ค์˜ ๊ตฌ๋™์— ์“ฐ์ด๋Š” ์™ธ๋ถ€ ์ธ๊ฐ€ ์‹œ์Šคํ…œ ํด๋Ÿญ
    • Sample Clock
      • ๋ฐ์ดํ„ฐ ์ปจ๋ฒ„ํ„ฐ์˜ ๋‚ด๋ถ€ ๋ณ€ํ™˜ ํด๋Ÿญ
    • SYSREF
      • Subclass 1์—์„œ LMFC ํด๋Ÿญ์ด ์ƒ์„ฑ๋˜๋Š” ํƒ€์ž„์ด ์œ„์ƒ ๋ ˆํผ๋Ÿฐ์Šค๋กœ ์“ฐ์ด๋Š” ์‹ ํ˜ธ
      • Device Clock๊ณผ ์†Œ์Šค ๋™๊ธฐํ™” ๋˜์–ด์•ผ ํ•œ๋‹ค.
      • ์ƒ์Šน ์—ฃ์ง€ ๋ณ€์ด๋Š” LMFC Alignment๋ฅผ ๊ฒฐ์ • ํ•œ๋‹ค.
    • SYNC
      • ๋‹จ๋ฐฉํ–ฅ (Rx --> Tx)
      • Active Low ๋™์ž‘
      • ์—๋กœ ๋ฆฌํฌํŒ…๊ณผ ๋””๋ฐ”์ด์Šค ๋™๊ธฐํ™”์— ์‚ฌ์šฉ ๋œ๋‹ค.
      • Subclass 2 ์—์„œ ๋””๋ฐ”์ด์Šค์—์„œ LMFC Phase Align ํ•œ๋‹ค.
  6. ํŒŒ๋ผ๋ฏธํ„ฐ
    • L : ์ปจ๋ฒ„ํ„ฐ ๋””๋ฐ”์ด์Šค ๋‹น Lane ์ˆ˜
    • M : ๋””๋ฐ”์ด์Šค ๋‹น ์ปจ๋ฒ„ํ„ฐ์˜ ์ˆ˜
    • F : Lane ๋‹น ํ”„๋ ˆ์ž„์˜ Octect์˜ ์ˆ˜
    • S : ํ”„๋ ˆ์ž„ ํด๋Ÿญ ์‚ฌ์ดํด ๋‹น ์ปจ๋ฒ„ํ„ฐ ๋‹น ์ƒ˜ํ”Œ ์ˆ˜
    • Cs : ๋ณ€ํ™˜ ์ƒ˜ํ”Œ ๋‹น ์ปจํŠธ๋กค ๋น„ํŠธ์˜ ์ˆ˜
  7. ํŒŒ๋ผ๋ฏธํ„ฐ ์˜ˆ์‹œ(AD์ปจ๋ฒ„ํ„ฐ ๋‚ด๋ถ€ DDC ์‚ฌ์šฉ์‹œ) Sampling Clock : 2949.12MHz Decimation Rate : 6 L=4, M=2, F=1(ํ”„๋ ˆ์ž„๋‹น ์˜ฅํ…Ÿ 1๊ฐœ์”ฉ), N'=16, K=32, S=1 Line rate : 4915.2Mbps Frame Clock : 491.52MHz = Frame Clock * S LMFC : 15.36MHz = Frame Clock / K L0 = I[15:8] / L1 = I[7:0] / L2 = Q[15:8] / L3 = Q[7:0]