RENESAS ForgeFPGA tarkvara simulatsioon
Oluline teave
Simulatsioon on tehnika, mille abil rakendatakse disainile erinevatel aegadel erinevaid sisendstiimuleid, et kontrollida, kas RTL-kood käitub ettenähtud viisil. Seda kasutatakse disaini vastupidavuse kontrollimiseks. Simulatsioon võimaldab kasutajal view ajastusdiagramm seotud signaale, et mõista, kuidas projekteerimise kirjelduse disain file käitub.
Testpingid on kooditükid, mida kasutatakse simuleerimiseks. Lihtne testpink loob testitava üksuse (UUT) ja juhib sisendit. Tarkvara Go Configure kasutab Icarus Verilogi (iVerilog) ja GTKWave'i, et jälgida simulatsiooni lainekujusid katsestendi stiimuliga.
See dokument kirjeldab samme, mida tuleb teha Icaruse installimisel oma süsteemi ja kuidas käivitada edukat simulatsiooni.
Icarus Verilogi installimine
a. Installige Icarus Verilog (IVerilog) uusim versioon saidilt https://bleyer.org/icarus/
b. Lisage PATH-ile kindlasti IVerilog ja laske sellel installida GTKWave (vt joonis 1)
c. Avage Go Configure tarkvara ja valige osa: SLG47910 (Rev BB), et avada Forge Workshop (vt joonis 2).
d. Klõpsake ülaosas tööriistariba keskel FPGA-redaktoril või saab kasutaja topeltklõpsata ka akna keskel asuval FPGA põhistruktuuril.
e. Avaneb uus aken nimega Forge Workshop. Klõpsake ülaosas menüü tööriistaribal valikuid Valikud → Seaded. Avage dialoogiboksis Seaded vahekaardi Kasutaja sätted jaotises Tööriistad. Tühjendage nii Icarus Verilogi kui ka GTKWave'i jaoks kasti Kasuta "süsteemikeskkonda". Lisage antud ruumi oma süsteemi salvestatud Iverilogi ja GTKWave'i tee (vt joonis 4).
Olete kõik valmis katsestendi simuleerimiseks ja ülaltoodud sammud tagavad, et GTKWave käivitub automaatselt, kui simuleeritakse Go Configure tarkvaras katsestendit.
Katselaud
Mis tahes süsteemi eduka rakendamise kõige olulisem samm on disaini ja selle funktsionaalsuse kontrollimine. Keerulise süsteemi kontrollimine pärast riistvara juurutamist ei ole mõistlik valik. See on ebaefektiivne nii raha, aja kui ka ressursside osas. Seetõttu kasutatakse FPGA puhul Verilogi lähtekoodi testimiseks testbenchi.
Oletame, et meil on 11-bitine sisend ja me tahame seadet testida kõigi võimalike sisendikombinatsiooni väärtuste jaoks, st (211). Kuna tegemist on väga suure arvu kombinatsioonidega, on seda võimatu käsitsi testida. Sellistel juhtudel on katsestendid väga kasulikud, kuna saate konstruktsiooni automaatselt testida kõigi võimalike väärtuste jaoks ja seega kinnitada katseprojekti usaldusväärsust. Verilog Testbenche kasutatakse disainilahenduste simuleerimiseks ja analüüsimiseks ilma füüsilist riistvaraseadet kasutamata.
Testitav disain, lühendatult DUT, on funktsioonide sünteesitav moodul, mida soovime testida. Teisisõnu, me tahaksime testida just vooluringi disaini. Saame kirjeldada oma DUT-d, kasutades üht kolmest Verilogi modelleerimisstiilist – Gate-level, Dataflow või Behavioral.
Teststend ei ole sünteesitav, seetõttu kasutatakse seda ainult simulatsiooni eesmärgil. See võimaldab kasutajal kasutada tervet valikut Verilogi konstruktsioone, nt märksõnu nagu “for”, “$display” ja “$monitor” jne. Lihtne testpink loob testitava seadme (UUT) või testitava seadme (DUT) ja ajami sisendid.
Testbenchi mõistmine
Ajaskaala definitsioon Testbenchis
Simuleerimisel peab tarkvara teadma, kuidas kellaaeg on määratletud. Viivitusühik määratakse ajaskaala direktiivi abil, mis määrab ajaühiku ja sellele järgnevate moodulite täpsuse. Ajaskaala aitab kindlaks teha, mida #1 ajas tähendab. # kasutatakse süsteemi sisestatava viivituse määratlemiseks vastavalt ajaskaalas määratud ajaühikule. Niisiis, #1 tähendab 1 ns viivitust, kui ajaühik on ns.
Süntaks:
`ajaskaala / /
time_unit on aeg, mida tähistab viivitus #1. Aja_täpsuse alus näitab, mitut kümnendkoha täpsust ajaühikute suhtes kasutada. (Vt rida 23 joonisel 5)
Saame kasutada ajaskaala konstruktsioone, et kasutada samas kujunduses erinevaid ajaühikuid. Kasutaja peab meeles pidama, et viivituse spetsifikatsioonid ei ole sünteesitavad ja neid ei saa teisendada riistvaraloogikaks. Viivitusfunktsioonid on täielikult simulatsiooni eesmärgil. $aega ja $reaalajas süsteemifunktsioonid tagastavad praeguse kellaaja ja aruandluse vaikevormingut saab muuta mõne teise süsteemiülesandega $timeformat .
Example:
`ajaskaala 10us/100ns
`ajaskaala 1ns/1ps
#10 lähtestamine = 1; // viivitab signaali 10 ns võrra
#0.49 $display( “T = %0t ajahetkel #0.49”, $reaalajas) ;
Määratud viivitus on #0.49, mis on väiksem kui pool ajaühikut. Aja täpsus on siiski määratud 1 ps ja seetõttu ei saa simulaator minna väiksemaks kui 1 ns, mis muudab selle antud viivituslause ümardamiseks ja annab 0 ns. Seega ei anna see avaldus viivitust.
Simulatsioonilogi:
T = 1 ajal #0.49
Mooduli deklaratsioon
Mooduli deklaratsioon mis tahes testpingis erineb peamisest Verilogi koodist. Testpingis deklareeritakse moodul ilma terminaliportideta. (Vt rida 25 joonisel 5)
Süntaks:
moodul ;
Mooduli deklaratsioonile järgneb põhiprojektis varem määratletud sisend- ja väljundsignaalide määratlemine file.
Kasutame simulatsiooni ajal juhtimis- ja signaalide jälgimiseks kahte tüüpi signaali. Reg-andmetüüp hoiab väärtust seni, kuni sellele määratakse uus väärtus. Sellele andmetüübile saab määrata väärtuse ainult alati või algplokis.
Juhtme andmetüüp on nagu füüsilise ühenduse oma. See sisaldab väärtust, mida juhib port, määramislause või reg. Seda andmetüüpi ei saa kasutada algplokis ega alati. Selles jaotises tehakse ka kõik parameetrid ja täisarvud.
Example:
Reg a,b; // HDL-koodi sisend on testbenchis defineeritud kui reg
Traat y; // HDL-i väljundsignaal on defineeritud juhtmena testpingis
DUT instantseerimine
Testpingi eesmärk on kontrollida, kas meie DUT-moodul töötab. Seetõttu peame mooduli testimiseks looma oma disainimooduli.
Süntaks:
(. (signaal1), . signaal1>(signaal2));
Example:
ALU d0 (.a(a), // signaal "a" ALU-s peaks olema ühendatud "a" moodulis ALU_tb
.b(b), // signaal "b" ALU-s peaks olema ühendatud "b" moodulis ALU_tb
.c(c)) ;// signaal "c" ALU-s tuleb ühendada "c"-ga moodulis ALU_tb
Oleme testmooduliks loonud DUT-mooduli ALU. Eksemplari nime (d0) valib kasutaja. Signaalid punktiga "." nende ees on ALU moodulis olevate signaalide nimed, samas kui juhe või reg, millega need katsestendis ühendatakse, on sulgudes () oleva signaali kõrval. Soovitatav on kodeerida iga pordiühendus eraldi reale, et iga kompileerimise veateade osutaks õigesti reanumbrile, kus viga ilmnes. Kuna need ühendused on loodud nimede järgi, pole nende ilmumise järjekord oluline.
DUT-i saab teha ka moodulitele, kus testpingi moodulil on erinevad signaalinimed. Signaalide õige kaardistamine on instantseerimisel oluline.
Example:
ALU d0 (.a(A), // signaal "a" ALU-s peaks olema ühendatud "A" moodulis ALU_tb
.clk(clock), // signaal "clk" ALU-s peaks olema ühendatud "clock" ALU_tb mooduliga
.out(OUT)) ; // signaal "out" ALU-s peaks olema ühendatud "OUT" moodulis ALU_tb
Alati ja esialgne plokk testpingis
Verilogis on kaks järjestikust plokki, esialgne ja alati. Just nendes plokkides rakendame stiimulit.
Esialgne blokeering
Esialgne plokk, mida täidetakse ainult üks kord ja mis lõpetatakse ploki viimase rea täitmisel. Stiimul kirjutatakse algplokki. (Vaata ridu 54-72 joonisel 5)
Süntaks:
..
esialgne algus
$prügifile();
$dumpvars();
..(sisesta stiimul)
lõppu
esialgne plokk alustab oma täitmist simulatsiooni alguses ajahetkel t = 0. Alustades esimesest reast alguse ja lõpu vahel, täidetakse iga rida ülalt alla, kuni jõutakse viivituseni. Kui viivitus on saavutatud, ootab selle ploki täitmine, kuni viivitusaeg (10-kordsed ühikud) on möödas, ja alustab seejärel uuesti täitmist.
Kasutaja saab määrata stiimuleid kasutades silmuseid (for, while, if-else) ka selle algploki sees, selle asemel, et kõiki kombinatsioone käsitsi sisestada.
Example:
Esialgne algus
A = 0; b = 0; // käivita täitmine
#10 a = 0; b = 1; // täitmine on t = 10 ajaühikut
#10 a = 1; b = 0; // täitmine on t = 20 ajaühikut
lõppu
Prügi maha Files
Veel üks asi, mida meeles pidada, on $ deklaratsioonprügimäelefiles ja $prügimäed algploki sees (vt rida 55-56 joonisel 5). $prügimäelefile kasutatakse võrkude ja registrite väärtuste muutuste kustutamiseks a file seda nimetatakse selle argumendiks.
Näiteksample:
$prügimäelefile("alu_tb.vcd");
tühistab muudatused a file nimega alu_tb.vcd. Muudatused registreeritakse a file nimega VCD file mis tähistab väärtuse muutuse dump. VCD (value change dump) salvestab kogu teabe väärtuste muutuste kohta. Meil ei saa olla rohkem kui üks $ prügikastfile avaldused Verilogi simulatsioonis.
$prügimäed kasutatakse selleks, et määrata, millised muutujad dumpingusse kantakse ( file mainis $dumpfile). Lihtsaim viis selle kasutamiseks on ilma argumentideta. $dumpvarsi üldine süntaks on
$prügimäed ( <, >);
Põhimõtteliselt saame määrata, millised moodulid ja millised muutujad moodulites kustutatakse. Lihtsaim viis selle kasutamiseks on seada tase 0-le ja mooduli nimi ülemiseks mooduliks (tavaliselt ülemiseks testpingi mooduliks).
$prügimäed(0, alu_tb);
Kui tase on seatud väärtusele 0 ja määratud on ainult mooduli nimi, jäetakse välja KÕIK selle mooduli muutujad ja kõik muutujad KÕIKides madalama taseme moodulites, mille see ülemine moodul loob. Kui mõnda moodulit see ülemine moodul ei loo, siis selle muutujat ei kata. Veel üks asi, $ deklaratsioonprügimäelefile peab olema enne $dumpvars või mis tahes muud süsteemiülesannet, mis määrab dump. Need prügimäed files tuleb deklareerida enne stiimuli sisendeid muul viisil, nendesse tõmmistesse väärtusi ei salvestata files.
Blokeeri alati
Vastupidiselt esialgsetele väidetele käivitub plokk alati korduvalt, kuigi täitmine algab ajal t = 0. Näiteksample, on kella signaal oluline järjestikuste vooluahelate (nt klapid) tööks. Seda tuleb pidevalt tarnida. Seega saame katsestendis kella töökoodi kirjutada järgmiselt (vt rida 52 joonisel 5):
alati
#10 clk = ~clk;
lõppmoodul
Ülaltoodud lause täidetakse 10 ns pärast, alates t = 0. Clk väärtus inverteeritakse 10 ns pärast eelmisest väärtusest. Seega genereerides 20 ns impulsi laiusega taktsignaali. Seetõttu genereerib see väide signaali sagedusega 50 MHz. Oluline on märkida, et signaali lähtestamine toimub enne alati blokeerimist. Kui me initsialiseerimisosa ei tee, on clk-signaal x väärtusest t – 0 ja 10 ns pärast inverteeritakse see teiseks x-ks.
Enesekontrolli katsestend
Eneset kontrolliv testpink sisaldab avaldust hetkeoleku kontrollimiseks.
- $kuva süsteemiülesannet kasutatakse peamiselt silumissõnumite kuvamiseks, et jälgida simulatsiooni kulgu
esialgne algus
A = 0; b = 0; c = 0; #10; // rakenda sisend, oota
if( y ! == 1) algab
$display("000 nurjus"); //kontroll
c = 1; #10 ; //rake sisend, oota
lõppu
else if ( y ! == 0) algab
$display("001 nurjus") // kontrollige
b = 1; c = 0; #10 ; lõppu
muidu if(y!==0)
$display (“ 010 nurjus”); //kontroll
lõppu
lõppmoodul
$kuva kasutatakse muutujate, stringide või avaldiste väärtuste kuvamiseks. Ülaltoodud example, kui mõni if-else tsükkel on täidetud, kuvab simulaatori logi vastava $kuva avaldus. Vaikimisi on stringide lõpus uus rida.
$kuva (“aeg = %t , A = %b, B = %b, C = % b”, $aega, A, B, C);
Tsitaatides mainitud tegelased trükitakse nii, nagu nad on. Täht koos %ga tähistab stringi vormingut. Kasutame binaarandmete esitamiseks %b. Saame kasutada %d, %h, %o vastavalt kümnend-, kuueteistkümnend- ja kaheksandsüsteemi esitamiseks. %g kasutatakse reaalarvude väljendamiseks. Need asendatakse tsitaat väljas olevate väärtustega mainitud järjekorras. Näiteksample, kuvatakse ülaltoodud väide simulatsioonilogis järgmiselt: aeg = 20, A = 0, B =1, C = 0
Tabel 1. Verilogi tabelivormingud
Argument | Kirjeldus |
%h, %H | Kuva kuueteistkümnendsüsteemis |
%d, %D | Kuva kümnendvormingus |
%b, %B | Kuva binaarvormingus |
%m, %M | Kuva hierarhiline nimi |
%s, %S | Kuva stringina |
%t, %T | Kuva ajavormingus |
%f, %F | Kuva "päris" kümnendkoha vormingus |
%e, %E | Kuva "päris" eksponentsiaalses vormingus |
$kuva prindib peamiselt andmed või muutuja sellisel kujul, nagu see tol hetkel on nagu printf C-s. Peame mainima $kuva mis tahes teksti jaoks, mida me vajame view simulatsioonilogis.
- $aega
$aega on süsteemiülesanne, mis tagastab simulatsiooni praeguse aja.
- $jälgida
$jälgida jälgib andmeid või muutujat, mille jaoks see on kirjutatud, ja kui muutuja muutub, prindib see välja
muutunud väärtus. See saavutab sarnase efekti, kutsudes $display iga kord, kui mõni selle argument saabub
uuendatud. $jälgida on nagu ülesanne, mis on loodud töötama põhilõime taustal, mis jälgib ja
kuvab oma argumendimuutujate väärtusmuutused. $jälgida on sama süntaksiga kui $kuva.
$jälgida(“ aeg = %t, A = %b, B = %b, C = % b”, $aega, A, B, C);
Jooniselt 7 on näha, et katsestendi enesehindamiseks on lisatud uusi koodiridu. $ paigutuskuva ja $jälgida laused katsestendi erinevates osades annavad erinevaid tulemusi (vt joonis 8). $aega nendes avaldustes mainitud prindib aja, millal väärtust prinditakse. Samal ajal, kui ühik öeldakse 170000 XNUMX, näeme, kuidas A ja B väärtused erinevad $ tõttukuva ja $jälgida avaldused.
GTKWave tarkvara
GTKWave on täisfunktsionaalne GTK+ laine viewer Unixi, Win32 ja Mac OSX jaoks, mis loeb LXT, LXT2, VZT, FST ja GHW files kui ka tavaline VCD/EVCD files ja võimaldab nende viewing. Selle ametlik websait asub aadressil http://gtkwave.sourceforge.net/ . GTKWave on soovitatav viewer by Icarus Verilog simulatsioonitööriist.
Kui kasutaja on disaini funktsionaalsuse testimiseks edukalt loonud, saab kasutaja nüüd kasutada GTKWave'i tarkvara view lainekujud.
GTKWave'i tarkvara käivitamiseks view Lainekujude puhul peab kasutaja klõpsama tööriistariba ülaosas nupul Simulate Testbench või peamenüüst Tööriistad→ Simulatsioon→ Simuleeri testbench. Kui süntaksivigu pole, siis olenevalt kujundusest peaks GTKWave automaatselt käima või kuvatakse testpingis olevate stiimulite tulemused akna logija jaotises.
Tarkvara GTKWave avab .vcd-vormingus tõmmisefile automaatselt. GTKWave'i aken ei kuva avanedes lainekuju. See annab kasutajale võimaluse valida, milliseid signaale ta soovib view ja jälgida. Signaali valimiseks peab kasutaja kuvama, kasutaja peab klõpsama oma mooduli/eksemplari nimel akna vasakus servas vahekaardi SST all. Klõpsates igal eksemplaril +, näete alumises jaotises signaale, mis on selle eksemplariga seotud. Seejärel saate soovitud signaali lohistada või topeltklõpsata, et kuvada signaalide aknas. Samuti saate valida kõik (CTRL + A) ja sisestada need signaalide aknasse (vt joonis 9).
Signaalid lisatakse nüüd signaaliaknasse, kuid seda pole veel simuleeritud. Pärast soovitud signaalide lisamist signaaliaknasse klõpsake nuppu et sobitada signaale akna praeguse laiusega ja seejärel laadida signaale uuesti laadimisest
tööriistaribal olev sümbol. Nüüd näete signaale koos nende vastavate väärtustega.
Signaali väärtused
Vaikimisi on signaalide väärtused kuueteistkümnendsüsteemis ja kõik lained on roheliseks värvitud (kui need töötavad õigesti).
Kasutaja saab muuta nende signaalide omadusi, paremklõpsates signaalil ja valides Data Format või Color Format. Kasutaja saab sisestada ka tühja signaali, et teha signaalirühmade vahel sektsioone. Kui olete soovitud optilise tulemuse saavutanud, saate oma konfiguratsioonid salvestada File → Kirjutage Salvesta File.
GTKWave'i tööriistariba
Tööriistariba (vt joonis 10) võimaldab kasutajal täita signaali põhifunktsioone. Arutame iga suvandit tööriistaribal vasakult paremale.
- Menüü valikud: Selle valiku korral saame view kõik tarkvara erinevad funktsioonid, mida saab kasutada tarkvaraga mängimiseks. Selle menüüvaliku üksikasju käsitletakse selle kasutusjuhendi 8. jaotises.
- Lõika jäljed: Seda kasutatakse signaaliaknast valitud signaali kustutamiseks/lõikamiseks
- Kopeeri jäljed: Seda kasutatakse signaaliaknast valitud signaali kopeerimiseks
- Kleebi jäljed: kopeeritud/lõigatud jälge saab kleepida signaaliaknas teise kohta
- Zoom Fit: seda kasutatakse signaalide sobitamiseks vastavalt kasutaja valitud akna suurusele
- Suumi sisse: Seda kasutatakse signaaliakna suurendamiseks
- Suumi välja: seda kasutatakse signaaliakna väljasuumimiseks
- Suumi tagasivõtmine: seda kasutatakse signaaliakna sisse-/väljasuumimise tühistamiseks
- Suumi alustamiseks: see suumib signaali akent, kuvades signaalide algusaega.
- Suumi lõpuni: see suumib signaali akent, kus kuvatakse signaalide lõpuaeg
- Leia eelmine serv: See nihutab markerit vasakule küljele, mis näitab eelmist serva
- Leia järgmine serv: See nihutab markerit paremale, näidates järgmist serva
- Kerige alumist/ülemist sidet: selle abil saame määrata ajavahemiku, mille jooksul kasutaja soovib kuvada. Näiteksample, saame määrata ajavahemikuks 0 sekundit kuni 500 ns, kuvab see signaale ainult selle kestusega.
- Laadi uuesti: Uuesti laadimist vajutatakse alati, kui kuvatav signaal muutub. See laadib uuesti ja kuvab signaali vastavalt uutele parameetritele. Näiteksample, pärast signaali ajaraami muutmist peame signaali uuesti laadima, et kuvada signaal uues seatud ajaraamis.
Menüü valikud
GTKWave'i tarkvara vasakpoolsest ülanurgast pääseb kasutaja ligi menüüvalikutele, klõpsates kolmel vertikaalsel joonel (vt joonis 11). Kasutaja leiab menüüvalikute alt järgmised valikud:
File
The File alammenüü sisaldab erinevaid juurdepääsuga seotud üksusi files, importiv-eksportiv VCD files, printimine ja lugemine/kirjutamine files ja väljumine.
Muuda
Alammenüüd Redigeerimine kasutatakse mitmesuguste utiliidifunktsioonide täitmiseks, näiteks väärtuste andmete esituse muutmiseks laine alamaknas. Alammenüü Redigeerimine valikute abil saab kasutaja muuta signaalide andmevormingut, neid ümber paigutada, nihutada, kärpida, esile tõsta, rühmitada signaale, kommenteerida signaale, muuta signaalide värvi jne.
Otsing
Otsingu alammenüüd kasutatakse võrgunimede ja -väärtuste otsimiseks. See aitab täita funktsioone VCD signaalide ja eksemplaride erinevatel hierarhiatasanditel file.
Aeg
Aja alammenüü sisaldab navigeerimisnuppude ja olekupaneeli nuppude poolt täidetavate funktsioonide superkomplekti.
See võimaldab lihtsaid, ajaga seotud funktsioone, nagu suumimine, liikumine teatud ajahetkele, signaali nihutamine teatud suunas jne.
Marker
Markeri alammenüüd kasutatakse markeriga erinevate manipulatsioonide tegemiseks ja ka ekraanivälise kerimise juhtimiseks.
See võimaldab lisada signaaliaknale arvukalt markereid. Lubatud on maksimaalselt 26 nimemarkerit ja kõigi ajad peavad olema erinevad.
a. Markerite lisamiseks signaaliaknasse
Vasakklõps soovitud kohas, kuhu soovite markerit paigutada, ja vajutage ALT + N. See asetab soovitud punkti nimega markeri (A, B, C jne). Kasutaja saab seda jätkata 26 erineva aja asukoha jaoks.
Kõigi kohatähiste ajaväärtuse võrdlemiseks valige Menüü → Tähised → Kuva Markeri muutmise andmed.
See avab iga markeri ajaväärtusega akna. Kasutaja saab iga paigutatud markeri ajaväärtuse käsitsi üles märkida ja need lahutada, et arvutada kahe markeri vaheline ajavahe.
b. Markeri eemaldamiseks signaaliaknas
Kasutaja saab valida Menüü → Markerid → Kogu nimega marker. See eemaldab signaaliaknasse pandud viimatinimetatud markeri. Kasutaja saab eemaldada kõik nimega markerid, valides Menüü → Markerid → Kogu nimega markerid (Joonis 12).
Joonisel 13 on näha, kuidas signaali värve on muudetud. Signaaliaknasse lisatud tühja signaali saate jälgida ka kommentaariga – Blank Signal.
Pange tähele ka 6 nimega markeri (A–E) olemasolu ja nende markerite vahelise ajaväärtuse arvutamist ps-des.
View
The View alammenüüd kasutatakse erinevate atribuutide juhtimiseks, mis käsitlevad olekuüksuste ja väärtuste graafilist esitamist signaali alamaknas. Sellest menüüst saate muuta signaaliakna mustvalgeks või ka värviliseks. The View alammenüü võimaldab teil muuta ka aja dimensiooni, mis ulatub sekunditest (sekunditest) ficosekunditeni (fs). Selle valiku leiab kasutaja View → Skaleeri ajamõõtmele → fs.
Abi
Abi alammenüü sisaldab valikuid nii on-line spikri lubamiseks kui ka programmi versiooniteabe kuvamiseks.
Järeldus
See dokument loodi selleks, et aidata kasutajal edukalt oma disaini simuleerida ja funktsionaalsust kontrollida, parandades vajaliku katsestendi joonist ning kasutades lainekujude kuvamiseks ja tulemuste jälgimiseks Icarus Verilogi koos GTKWave'iga.
Läbivaatamise ajalugu
Läbivaatamine | Kuupäev | Kirjeldus |
1.00 | 20. mai 2024 | Esialgne vabastamine. |
R19US0011EU0100 Rev.1.0
20. mai 2024
© 2024 Renesas Electronics
Dokumendid / Ressursid
![]() |
RENESAS ForgeFPGA tarkvara simulatsioon [pdfKasutusjuhend REN_r19us0011eu0100, ForgeFPGA tarkvara simulatsioon, ForgeFPGA tarkvara, ForgeFPGA, ForgeFPGA simulatsioon, tarkvara simulatsioon, simulatsioon, tarkvara |