SoPC-oppimis- ja suunnitteluympäristö Pekka Rantala
Muutama termi • SoPC = System on Programmable Chip • FPGA = Field Programmable Gate Array • Stratix II = Alteran yksi FPGA-piiri (–perhe) • NIOS II = Alteran softaprosessori • VHDL =... Hardware Description Language • IP = Intelligent Property
FPGA-piiri sisältä • 15,600 to 179,400 equivalent logic elements (LEs) (= ALMs x 2,5) • Up to 9 Mbits of on-chip RAM • Up to 1,170 user I/O pins
ALM, Adaptive Logic Module
FPGA-piiriFPGA-kehityskortti Piiri, jonka toiminnot voidaan määrittää ohjelmoimalla Altera Nios II Development Kit Stratix II Edition
FPGA-piirin suunnitteluympäristö ohjelmointi
FPGA-piirin suunnittelun vaiheet FPGA -piiri Lohkokuva (Piirikaavio) CPU (Nios II) SOPC Builder VHDL-kielinen kuvaus+simulointi C/C++ -koodi.elf.sof ModelSim ohjelmointi Quartus II Nios II IDE synteesi + …
Kokonaisuus jaetaan toiminnallisiin lohkoihin Lohkojen kuvaustavat: - VHDL - Piirikaaviosymbolit - Megafunktiot - IP-lohkot - …
Toiminnan kuvaus VHDL-kielellä • Voidaan tehdä suoraan Quartuksessa • Parempi ympäristö kuitenkin Modelsim – monipuolisemmat simulointimahdollisuudet
VHDL-esimerkki
VHDL-simulointiesimerkki
Toiminnan kuvaus toiminnallisilla lohkoilla Quartuksessa käytettävissä useita eri tapoja – yksinkertaiset piirikaaviosymbolit, esim. 74-sarjan piirit – megafunktiot – NIOS II -keskusyksikkö – kaupalliset IP-lohkot Megafunktio on Alteran tarjoama ”puolivalmiste”, jonka voi muokata parametrien avulla tarpeidensa mukaiseksi
SOPC Builder –työkalu Nios II CPU:lle
Nios II -vaihtoehdot: economy, standard, full
Kokonaisuuden osat on kuvattu eri tavoilla • VHDL-kuvaukset Modelsimillä • ”standardi” lohkot megafunktioina • Nios II –CPU SOPC Builderilla
Nios II –CPU:lle tehdään C/C++ -ohjelma Quartuksessa mukana oleva ohjelman editori + kääntäjä
Lohkojen näkymin Quartuksen lohkokuvana
Lohkojen toteutuksen tarkastelu, esim tilakone
Koko suunnitteluprosessin työvaiheet
Suunnitelman sijoittaminen piirille, pinnien liittäminen
Suunnitelman sijoittuminen FPGA:lle Tyhjä piiri Demokytkentä piirillä Nios II:n osuus piirillä
Suunnitelmaa voi tarkastella FPGA:n pinnalta ALMin (= Adaptive Logic Module) tarkkuudella
Loppusanat • mahdollisuuksia on valtavasti • tässä ei ole ollut esillä DSP-ominaisuuksia • perinteinen softa / kovo -raja hämärtyy Lähteet • • Quartus II ja Modelsim-ohjelmat Pekka Rantala