1 / 39

Úvod do Software Defined Radios - SDR FPGA; ASIC; DSP

Úvod do Software Defined Radios - SDR FPGA; ASIC; DSP. GALAJDA KEMT, FEI-TU, Ko šice. 2 .1 2 .2003. FPGA or ASIC or DSP ?. Obsah. 1. Všeobecné informácie o SDR 2. Niektoré vybrané bloky SDR - Digital Down Conversion (DDC)

imelda
Download Presentation

Úvod do Software Defined Radios - SDR FPGA; ASIC; DSP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Úvod do Software Defined Radios - SDRFPGA; ASIC; DSP GALAJDA KEMT, FEI-TU, Košice 2.12.2003

  2. FPGA or ASIC or DSP ? Obsah 1. Všeobecné informácie o SDR 2.Niektoré vybrané bloky SDR - Digital Down Conversion (DDC) - Digital Up Conversion (Direct Digital Synthesis- DDS) 3. Realizácia niektorých blokov SDR na KEMT - DDC (AD6620) - DDS (AD7008) 4. Realizácia niektorých blokov SDR v FPGA - všeobecné informácie o FPGA - Xilinx vs. Altera - výhody a nevýhody FPGA 5. FPGA projekt – metodológia

  3. Termín software môže vyvolávať dojem, že rádio je realizované plne na procesorovej platforme. Podstata SDR-ka je však flexibilita riešenia. Flexibilita riešenia predstavuje možnosť prepojenia vzduchom prostredníctvom viacerých kanálov pričom v riešení ma byť možnosť ľahko a rýchlo meniť charakter spracovania signálov. DSP mikroprocesory neuspokojujú aritmetické alebo I/O požiadavky súčasných moderných komunikačných prostriedkov pre spracovanie signálov. Pokročilé FPGA technológie (vďaka ich rekonfigurovateľnosti) však poskytujú možné riešenia. Koncepcia FPGA prijímača (BTS) je na obr.3. 1. Všeobecné informácie o SDR

  4. 1. Všeobecné informácie o SDR Dva podsystémy (procesory) Dve spätné väzby

  5. 2. Niektoré vybrané bloky SDR • Built from digital oscillator, mixer and decimating filters • FPGAs provide more flexible and adaptable solution that DDC ASSP (Application specific standard products) chips

  6. 1. Všeobecné informácie o SDR Vytváranie viacerých kanálov, digital up-convertion, korekcia skreslenia, modulácia, tvarovanie lúča pre smart antény

  7. 2. Niektoré vybrané bloky SDR • Allows more flexibility and customization that ASSP equivalents • Designs can be modified at any stage by simply reconfiguring the FPGA

  8. 3. Realizácia niektorých blokov SDR na KEMT • DDC (AD6620): • Je digitálny decimačný prijímač s možnosťou výberu úzkopásmového kanálu. • Je určený na prepojenie medzi rýchlym A/D prevodníkom (65MSPS, 12 bitový) a univerzálnym DSP. • Vysoké rozlíšenie číslicovo riadeného oscilátora (NCO) dovoľuje vybrať jednu nosnú frekvenciu z veľmi rýchleho dátového toku. • Veľký dynamický rozsah decimačných filtrov zo širokým rozsahom decimačných faktorov dovoľuje vybrať aj úzkopásmové, aj širokopásmové nosné frekvencie. • Architektúra založená na pamäti RAM dovoľuje jednoduchú rekonfiguráciu pre rôzne aplikácie.

  9. 3. Realizácia niektorých blokov SDR na KEMT Bloková schéma AD6620 (DDC)

  10. 3. Realizácia niektorých blokov SDR na KEMT

  11. DDS (AD7008): Na základe informácie v binárnom tvare generuje požadovaný sínusový signál na výstupe. Obvod umožňuje realizovať: amplitúdovú moduláciu, fázovú moduláciu, frekvenčnú moduláciu, kvadratúrnu moduláciu. Hodnota výstupnej frekvencie môže byť nastavená od 0 do 66MHz s krokom 0,015Hz. Sériové a paralelné rozhranie obvodu dovoľuje pracovať nezávisle na DDS hodinách. 3. Realizácia niektorých blokov SDR na KEMT

  12. 3. Realizácia niektorých blokov SDR na KEMT Bloková schéma AD7008 (DDS)

  13. 3. Realizácia niektorých blokov SDR na KEMT

  14. FPGA = Konfigurovateľné pole buniek prepojené konfigurovateľnou prepojovacou sieťou Základná bunka = LUT (LookUp Table) + registre Prepojovacia sieť na rôznych úrovniach - vnútri LUT - krátke (medzi skupinou buniek) - stredné (medzi skupinami buniek) - dlhé (row/column interconnect) - špeciálne (clock nets) SRAM technológia (5 tranzistorov/bit)(existuje aj FLASH technológia) Cena produktu takmer nezávislá od množstva ks 4. Realizácia niektorých blokov SDR v FPGA FPGA = Field Programmable Gate Array

  15. 4. Realizácia niektorých blokov SDR v FPGA Xilinx: Configurable Logic Block (CLB) of Virtex-E Device Xilinx vs. Altera Altera: Logic Element (LE) of Stratix Device

  16. 4. Realizácia niektorých blokov SDR v FPGA Moderné FPGA • Vyhradené RAM bloky • DSP bloky (multiplier, MAC- multiply-accumulate unit)výkon moderných FPGA = 10 * výkon moderných DSP uP • Digital Clock Management (PLLs)možnosť vygenerovania akejkoľvek frekvencie na čipe • Embedded Processor Coremožnosť realizácie komplexného HW/SW systému na jednom čipe Altera: ARM, Xilinx: IBM PowerPC • Soft Processor Cores Altera: NIOS, Xilinx: MicroBlaze • množstvo I/O štandardovsingle ended, diferenčné (LVDS) Clock Data Recovery (rýchlosti prenosu dát rádovo GB/s) • dnes už hovoríme o „System on Chip“ architektúre (uP core, IP bloky poprepájané pomocou on-chip bus-u). Typické parametre súčasných FPGA • 30K až 8M hradiel • 0.15 µm technológia • napájanie 1.5V, I/O 3.3V • frekvencie 200 až 400 MHz • až 8 prepojovacích metalických vrstiev • do 1100 I/O pinov

  17. 4. Realizácia niektorých blokov SDR v FPGA FPGA - Výhody a nevýhody Výhody • dostupnosť • rekonfigurovateľnosť (jednoduchý upgrade existujúcich zariadení) • krátky čas realizácie obvodu oproti ASIC (dostupné prostr. modelovania testovania) • nízke náklady na SW vybavenie a infraštruktúru • možnosť kompletnej realizácie na PC (nízke náklady) aj LINUX • modelovanie a popis pomocou HDL jazykov • jednotná metodológia návrhu (technológie sa menia, ale návrhová metodológia zostáva; jednoduchý redesign pre iné typy FPGA) • pinová kompatibilita (napr. XC2V40FG244 = XC2V80FG244)Nevýhody • návrhár je limitovaný počtom: - buniek, prepojení - vyhradených hodinových liniek v FPGA • nutnosť inicializovania FPGA po zapnutí napájania • iba synchrónne návrhy („clock gating“ nie je možný) • vyššia prúdová spotreba obvodov (málo používané v prenosných zariadeniach)

  18. Štúdium možností riešenia problému návrhu obvodu- základná špecifikácia produktu- aké algoritmy použijem na dosiahnutie výsledku, výhody/nevýhody, dopad na cenu, rýchlosť, ...- overím si nejasnosti simuláciami (MATLAB) alebo na čiastkových prototypoch Návrh koncepcie obvodu- ktorú časť realizujem v SW, ktorú v HW- interfacing, dostupnosť obvodov, puzdrá, technical support- odhad spotreby, testovanie, cena- tvorba špecifikácií (dokumentácia) Popis obvodu v HDL jazyku (VHDL, Verilog)- kódovanie s ohľadom na syntetizovateľnosť Simulácia obvodu, časové priebehy signálov- napr. ModelSim- porovnanie výsledkov s „Golden Reference“ Logická syntéza obvodu (napr. Leonardo Spectrum)- voľba finálnej technológie- výstup netlistu pozostávajúceho z primitívnych buniek danej technológie P&R (Place and Route), Fitting- priradenie pinov- rozmiestnenie blokov obvodu na čipe- prepojenie logických buniek (routovanie) Štúdia Koncepčný návrh Kódovanie v HDL Simulácia Logická Syntéza P&R, Fitting 5. FPGA projekt – metodológia FPGA/ASIC Postup návrhu (Design Flow) Configuration mgmt Dokumentácia

  19. 5. FPGA projekt – metodológia Príklad FPGA projektu • Koncepčný návrh • Návrh blokovej schémy FPGA • Zhrnutie požiadaviek na FPGA • Výber vhodného FPGA s ohľadom na možné rozširovanie produktu v budúcnosti • Priradenie pinov • Mapa registrov • Návrh a kódovanie jedného z blokov, generovanie vyhradených RAM blokov • Verifikácia • Logická syntéza • Place & Route • Oživenie HW, testovanie

  20. 5. FPGA projekt – metodológia FPGA projekt: Digitálny prijímač

  21. 5. FPGA projekt – metodológia Interná štruktúra digitálneho prijímača v FPGA

  22. 5. FPGA projekt – metodológia Rekapitulácia požiadaviek na FPGA • Počet I/O signálov 112 I/O • Hodinová frekvenica 61.44 MHz(*) vychádzame zo systémových požiadaviek na digitálne spracovanie signálu • Počet HW násobičiek 5 HW násobičiek - 1x Hilbert FIR filter - 2x Demodulator - 1x FIR filter - 1x GAIN control • Počet RAM blokov 5 RAM blokov - DDS SIN function lookup table (2x DP RAM) - Hilbert delay line (1x RAM) - Hilbert coefficients (1x DP RAM) - FIR delay line (1x RAM) - FIR coefficients (1x DP RAM) • Konfigurácia FPGA slave serial pomocou uC(mikroprocesor generuje dáta aj hodinový signál)

  23. 5. FPGA projekt – metodológia Výber vhodného FPGA Problém: Koľko zdrojov (LUT, registrov, RAM, vyhradených blokov) budeme potrebovať ? Riešenie: - spočítať I/O piny - spočítať požiadavky na RAM, vyhr. bloky - odhadnúť počet DFF (registrov) Altera: Xilinx:

  24. 5. FPGA projekt – metodológia Priradenie pinov FPGA

  25. 5. FPGA projekt – metodológia Komunikácia FPGA <-> uC FPGA funguje ako slave uC uC komunikuje s FPGA prostredníctvom množiny registrov (R, W, R/W) cez svoju štandardnú zbernicu. Tabuľka registrov: • podklad pre vývojárov SW • takmer vždy:- VERSION register- TEST register- GLOBAL CONTROL reg.- GLOBAL STATUS reg. • ďalšie detaily o registroch:- R/W- správanie sa pri resete, hodnota po resete- význam jednotlivých bitov registra

  26. 5. FPGA projekt – metodológia Návrh DDS (Direct Digital Synthesis) bloku Princíp DDS f = fclk / 2M fclk = 1.92 MHz (vzorkovacia frekvencia systému) pre požadovanú f = 2 kHz => faktor 2M = 960 Záver:- fázový akumulátor je nutné realizovať pomocou modulo aritmetiky- SIN(x) tabuľka bude mať 960 položiek, M = N- W = 16 bitov (S/N = 96 dB)- bez použitia modulo aritmetiky by pri M=10 bolo f = 1.875 kHz

  27. 5. FPGA projekt – metodológia Bloková schéma DDS bloku • Príklad systému s kvadratúrnym (SIN aj COS) výstupom • Použijeme Dual-Port RAM bloky • Port A: uC má možnosť zapísania akejkoľvek hodnoty do RAM. Môžeme definovať napr. pílovitý signál. Tento port je Write Only • Port B: DDS – fázový akumulátor poskytuje adresu, výstupom je napr. sínusovka. Port je Read Only. Dedikované RAM blokydanej technológie1024 x 16 bitsNutné vygenerovať v tzv.„CORE Generatore“

  28. 5. FPGA projekt – metodológia Core Generator • Xilinx -> Core Generator System – vygenerovanie DDS a RAM blokovTerminológia: IP Core – Intelectual Property Core • Altera -> MegaCore function • - množstvo hotových „plug-in“ blokov- základné bloky od Xilinx sú zadarmo (pamäte, DSP, Math, ...)- prístup k obrovskému množstvu ďalších blokov prostredníctvom Internetu(prehliadanie zadarmo, ich použitie je však spoplatnené)- vysoko parametrizovateľné- optimalizované pre danú technológiu- výstupom je: - EDIF netlist - simulačný model bloku- DDS blok je súčasťou základnej ponuky Xilinx (free)

  29. 5. FPGA projekt – metodológia DDS core • DDS Core parameters- W (output width)- M (phase acc. width.)- B (phase increment width)- sine/cosine output, both- memory: - distributed - block memory- interface pinsZáver: DDS core neumožňuje realizovať fázový akumulátor pomocou modulo aritmetikyXilinx DDS core je nepoužiteľná, nutné popísať manuálne

  30. 5. FPGA projekt – metodológia Dual Port RAM core • SIN_RAM a COS_RAM- Width A, depth A- Width B, depth B = F(depth A)- R/W options- addtional registers- handshaking- initialization of RAM (MIF, COE file)- SIN_RAM aj COS_RAM inicializujeme príslušnými hodnotami, ktoré špecifikujeme vo vstupnom súbore pre CORE Generator (sin_ram.mif, alebo sin_ram.coe)- ten istý inicializačný súbor je použitý aj pri simulácii- po nakonfigurovaní FPGA budú RAM obsahovať príslušné hodnoty. Tieto sa nestratia ani pri resete FPGA (iba po odpojení napájania)

  31. 5. FPGA projekt – metodológia FIR Filter core

  32. 5. FPGA projekt – metodológia DDS - VHDL kód Súbory: • Entita: DDS_.vhd • Architektúra: DDS_rtl.vhd • Konfigurácia: DDS_rtl_cfg.vhdSúbory sú umiestnené v jednom adresári.Používať version management system (napr CVS) Príklad kódu (viď vpravo): • inštancia SIN_RAM, COS_RAM blokov ktoré boli yygenerované v CORE Generatore • prepojenie s ostatnými signálmi a I/O(port map) • procesy pre registre fázového inkrementu a fázového akumulátora Kódovanie pre FPGA: • definovanie RESET podmienky v každom procese • synchrónne procesy (rozhodovanie vždy vo vetve IF clk‘event AND clk = ‚1‘ THEN...) Coding Style: • extenzívne používanie poznámok • Interné signály: s_*Vstupné signály: *_iVýstupné signály: *_o Coding style = lepšia čitateľnosť, lepšia prenositeľnosť , možnosť tímového vývoja, VHDL kód ako súčasť dokumentácie

  33. 5. FPGA projekt – metodológia DDS - verifikácia Testbench = Stimuli generator + DUT + Observer + Control: Modelsim > run -all ---------------------------------------------------------- ----- File : commands.txt ----- Date : 2002/03/15 ----- Description : Bus commands for DDS testbench ---------------------------------------------------------- note_ *************** START OF SIMULATION **************** note_ Setting DDS frequency 628 kHz wrbus 1 314 wait_ 1500 us note_ Setting DDS frequency 100 kHz wrbus 1 50 wait_ 1500 us note_ Setting DDS frequency 2 kHz wrbus 1 1 wait_ 1500 us _end_ XilinxCoreLib WORK - tb_dds_rtl- dds_rtl_cfg- dds_rtl- sin_ram- cos_ram - block_mem_package- mem_init_package- mem_constants ....

  34. VHDL kód We_o S_we_toggle D Q D Q S_we_sync1 S_we_sync2 5. FPGA projekt – metodológia Logická syntéza - Leonardo Spectrum Logická syntéza process1: PROCESS ( clk_i, rst_i, s_we_toggle, s_we_sync1 ) BEGIN IF rst_i = '1' THEN s_we_sync1 <= '0'; s_we_sync2 <= '0'; ELSE IF clk_i'event AND clk_i = '1' THEN s_we_sync1 <= s_we_toggle; s_we_sync2 <= s_we_sync1; END IF; END IF; END PROCESS process1; we_o <= s_we_sync1 AND s_we_sync2; Výsledok syntézy • FPGA technology setup (family, device, speed grade) • Input files setup • Definition of constraints (area/timing) • Optimization • Reports (delay, area)Delay - uses average delay model to estimate delay of interconnections • EDIF-netlist writer

  35. Fitting = vsadenie navrhnutej logickej schémy do štruktúry FPGA Plne automatický process Obmedzenia: - navrhnuté priradenie pinov- obmedzený počet hodinových vstupov- pevná (avšak konfigurovateľná) prepojovacia sieť Výstupom je programovací súborpre FPGA 5. FPGA projekt – metodológia Altera MaxPlus II tool P&R, Fitting

  36. 5. FPGA projekt – metodológia P&R, Fitting Cores TOP.EDF COS_RAM.EDF SIN_RAM.EDF Implementation constraints Fitter (mapper) TOP.UCF - clock speed- pad to pad delays- pin assignments- grouping (modules, signals)- module locking • Skúsenosti:- nastavenie parametra “Register Fanout” značne ovplyvňuje časové parametre (pozor, aj plochu!)- rozloženie I/O pinov značne ovplyvňuje časové parametre- manuálnym zásahom do P&R procesu (zadaním rôznych obmedzení) dosiahneme iba mierne zlepšenie časových parametrov (rádovo pár percent)- namiesto zásahu do P&R je efektívnejšií redesign architektúry obvodu, redesgn HDL kódu • Zásady:- kódovať časovo kritické časti veľmi starostlivo - venovať veľkú pozornosť rozloženiu pinov P&R Exaktný časový model TOP.HEX TOP.VHO

  37. 5. FPGA projekt – metodológia HW Bring-up a merania RF generator Analog RF signal Serial link (UART) Oscilloscope Hyperterminal, running test SW (menu driven): Menu: M - Menu I - Init FPGA E - rEset FPGA W <addr> <val> - Write register R <addr> - Read Register > Your choice: I Initialization O.K.> Your choice: R 0 Value read from address 0 is: 001F > Your choice: W 1 00FF Value written to address 1: 00FF > Your choice:

  38. Ďakujem za pozornosť. Otázky a diskusia.

More Related