RENESAS ForgeFPGA Proqram Simulyasiyası

Vacib məlumat
Simulyasiya, RTL kodunun nəzərdə tutulan şəkildə davranıb-rəftar etmədiyini yoxlamaq üçün müxtəlif vaxtlarda dizayna müxtəlif giriş stimullarının tətbiqi üsuludur. Dizaynın möhkəmliyini yoxlamaq üçün istifadə olunur. Simulyasiya istifadəçiyə imkan verir view dizaynda dizayn təsvirinin necə olduğunu anlamaq üçün əlaqəli siqnalların vaxt diaqramı file davranır.
Testbençləri simulyasiya üçün istifadə olunan kod parçalarıdır. Sadə bir test masası Test Edilən Vahidi (UUT) işə salacaq və girişi idarə edəcək. Go Configure proqramı test masasında təqdim olunan stimulla simulyasiya dalğa formalarını müşahidə etmək üçün Icarus Verilog (iVerilog) və GTKWave istifadə edir.
Bu sənəd sisteminizdə Icarus-u quraşdırarkən atılmalı olan addımları və uğurlu simulyasiyanın necə həyata keçiriləcəyini təsvir edir.
Icarus Verilog quraşdırılması
a. Icarus Verilogun (IVerilog) ən son versiyasını quraşdırın https://bleyer.org/icarus/
b. PATH-ə IVerilog əlavə etməyinizə əmin olun və GTKWave-i quraşdırmağa icazə verin (Şəkil 1-ə baxın)

c. Go Configure Software proqramını açın və Forge Workshop-u açmaq üçün hissəni seçin: SLG47910(Rev BB) (Şəkil 2-ə baxın).

d. Yuxarıdakı alətlər panelinin ortasındakı FPGA Redaktoru üzərinə klikləyin və ya istifadəçi pəncərənin ortasındakı FPGA Əsas strukturuna da iki dəfə klikləyə bilər.

e. Forge Workshop adlı yeni bir pəncərə açılır. Üst tərəfdəki menyu alətlər panelində Seçimlər → Parametrlər üzərinə klikləyin. Parametrlər dialoq qutusunda İstifadəçi Parametrləri sekmesi altında Alətlər bölməsinə keçin. Həm Icarus Verilog, həm də GTKWave üçün “sistem mühiti qutusundan istifadə et” seçimini ləğv edin. Sisteminizdə saxlanmış Iverilog və GTKWave yolunu verilən boş yerə əlavə edin (Şəkil 4-ə baxın).

Siz hamınız test masasını simulyasiya etməyə hazırsınız və yuxarıdakı addımlar Go Configure proqramında testbench simulyasiya edərkən GTKWave-in avtomatik işə salınmasını təmin edir.
Test bench
Hər hansı bir sistemin uğurla həyata keçirilməsində ən vacib addım dizaynı və onun funksionallığını yoxlamaqdır. Aparatı tətbiq etdikdən sonra mürəkkəb sistemi yoxlamaq müdrik seçim deyil. Pul, vaxt və resurslar baxımından səmərəsizdir. Beləliklə, FPGA vəziyyətində, Verilog mənbə kodunu sınamaq üçün bir testbench istifadə olunur.
Tutaq ki, 11 bitlik bir girişimiz var və biz cihazı bütün mümkün giriş kombinasiyaları üçün test etmək istəyirik, yəni (211). Bu, çox sayda birləşmə olduğundan, onu əl ilə yoxlamaq mümkün deyil. Belə hallarda, test masaları çox faydalıdır, çünki siz dizaynı bütün mümkün dəyərlər üçün avtomatik sınaqdan keçirə və beləliklə, sınaq dizaynının etibarlılığını təsdiqləyə bilərsiniz. Verilog Testbenches heç bir fiziki aparat cihazına ehtiyac olmadan dizaynları simulyasiya etmək və təhlil etmək üçün istifadə olunur.
DUT kimi qısaldılmış sınaq altında olan dizayn sınaqdan keçirmək istədiyimiz funksionallığın sintez edilə bilən moduludur. Başqa sözlə, sınaqdan keçirmək istədiyimiz dövrə dizaynıdır. Verilog-da üç modelləşdirmə üslubundan birini istifadə edərək DUT-umuzu təsvir edə bilərik - Gate-level, Dataflow və ya Davranış.
Testbench sintez edilə bilməz, buna görə də yalnız simulyasiya məqsədləri üçün istifadə olunur. Bu, istifadəçiyə Verilog konstruksiyalarının tam spektrindən istifadə etməyə imkan verir, məsələn, “for”, “$display” və “$monitor” kimi açar sözlər və s. test skamyalarının yazılması üçün. Sadə bir test masası Test Edilən Vahidi (UUT) və ya Sınaqda olan Cihazı (DUT) işə salacaq və girişləri idarə edəcək.
Testbench-i başa düşmək

Testbench-də Zaman Ölçüsü Tərifi
Simulyasiya edərkən proqram təminatı vaxtın necə təyin olunduğunu bilməlidir. Gecikmə vahidi vaxt vahidini və ona əməl edən modullar üçün dəqiqliyi təyin edən `vaxt miqyası direktivindən istifadə etməklə müəyyən edilir. “Zaman şkalası №1-in vaxt baxımından nə demək olduğunu müəyyən etməyə kömək edir. # zaman şkalasında göstərilən vaxt vahidinə uyğun olaraq sistemə daxil ediləcək gecikməni təyin etmək üçün istifadə olunur. Beləliklə, #1 zaman_vahidi ns ilə olarsa, 1 ns gecikmə deməkdir.
Sintaksis:
`zaman miqyası / /
time_unit #1 gecikmənin təmsil etdiyi vaxtın miqdarıdır. Zaman_dəqiqliyi bazası zaman vahidlərinə nisbətən neçə onluq dəqiqlik nöqtəsinin istifadə olunacağını göstərir. (Şəkil 23-də 5-cü sətirə baxın)
Eyni dizaynda müxtəlif zaman vahidlərindən istifadə etmək üçün zaman şkalası konstruksiyalarından istifadə edə bilərik. İstifadəçi yadda saxlamalıdır ki, gecikmə spesifikasiyaları sintez edilə bilməz və hardware məntiqinə çevrilə bilməz. Gecikmə funksiyaları tamamilə simulyasiya məqsədləri üçündür. $vaxt və $real vaxt sistem funksiyaları cari vaxtı qaytarır və standart hesabat formatı başqa bir sistem tapşırığı ilə dəyişdirilə bilər $timeformat .
Example:
`zaman miqyası 10us/100ns
`zaman şkalası 1ns/1ps
#10 sıfırlama = 1; // siqnalı 10 ns gecikdirir
#0.49 $display( “T = %0t at Time #0.49”, $real vaxt) ;
Göstərilən gecikmə #0.49-dur ki, bu da yarım vahid vaxtdan azdır. Bununla belə, vaxt dəqiqliyi 1ps olaraq müəyyən edilmişdir və buna görə də simulyator 1ns-dən kiçik ola bilməz ki, bu da onu verilmiş gecikmə ifadəsini yuvarlaqlaşdırmağa və 0ns-ni əldə etməyə imkan verir. Beləliklə, bu bəyanat heç bir gecikmə təmin etmir.
Simulyasiya jurnalı:
1 saylı vaxtda T = 0.49
Modul Bəyannaməsi
Hər hansı bir test masasında modul bəyanı əsas Verilog kodundan fərqlidir. Testbench-də modul onunla birlikdə heç bir terminal portu olmadan elan edilir. (Şəkil 25-də 5-ci sətirə baxın)
Sintaksis:
modul ;
Modul bəyannaməsindən sonra əsas dizaynda əvvəllər müəyyən edilmiş giriş və çıxış siqnalları müəyyən edilir. file.
Simulyasiya zamanı idarəetmə və monitorinq siqnalları üçün iki siqnal növündən istifadə edirik. Reg məlumat növü ona yeni dəyər təyin olunana qədər dəyəri saxlayacaq. Bu məlumat növü yalnız həmişə və ya ilkin blokda dəyər təyin edilə bilər.
Tel məlumat növü fiziki əlaqə kimidir. O, port, təyin bəyanatı və ya reg tərəfindən idarə olunan dəyəri saxlayacaq. Bu məlumat növü ilkin və ya həmişə blokda istifadə edilə bilməz. İstənilən parametr və tam ədəd elanı da bu bölmədə aparılır.
Example:
Reg a,b; // HDL kodundakı giriş testbench-də reg kimi müəyyən edilir
Tel y; // HDL-də çıxış siqnalı testbench-də tel kimi müəyyən edilir
DUT Instantiation
Test masasının məqsədi DUT modulumuzun işlədiyini yoxlamaqdır. Beləliklə, modulu sınaqdan keçirmək üçün dizayn modulumuzu işə salmalıyıq.
Sintaksis:
(. (siqnal1), . siqnal1>(siqnal2));
Example:
ALU d0 (.a(a), // ALU-da "a" siqnalı ALU_tb modulunda "a"-ya qoşulmalıdır
.b(b), // ALU-da "b" siqnalı ALU_tb modulunda "b"-ə qoşulmalıdır
.c(c)) ;// ALU-da "c" siqnalı ALU_tb modulunda "c"-ə qoşulmalıdır
DUT modulu ALU-nu test moduluna tətbiq etdik. Nümunə adı (d0) istifadəçinin seçimidir. "." nöqtəsi olan siqnallar. onların qarşısında ALU modulunun daxilindəki siqnalların adları, sınaq skamyasında qoşulduqları naqil və ya reg isə mötərizədəki () siqnalın yanındadır. Hər bir port bağlantısını ayrıca sətirdə kodlaşdırmaq tövsiyə olunur ki, hər hansı kompilyasiya xətası mesajı səhvin baş verdiyi sətir nömrəsini düzgün göstərsin. Bu bağlantılar adla qurulduğu üçün onların görünmə sırası əhəmiyyətsizdir.
DUT instantiation da testbench modulunun müxtəlif siqnal adlarına malik olduğu modullar üçün edilə bilər. Siqnalların düzgün xəritələşdirilməsi instantasiya zamanı vacib olan şeydir.
Example:
ALU d0 (.a(A), // ALU-da "a" siqnalı ALU_tb modulunda "A"-ya qoşulmalıdır
.clk(saat), // ALU-da “clk” siqnalı “saat” ALU_tb moduluna qoşulmalıdır
.out(OUT)); // ALU-da “out” siqnalı ALU_tb modulunda “OUT”a qoşulmalıdır
Həmişə və Test Benchində İlkin Blok
Verilog-da ilkin və həmişə iki ardıcıl blok var. Biz stimulu məhz bu bloklarda tətbiq edirik.
İlkin blok
Yalnız bir dəfə yerinə yetirilən və blokun sonuncu sətri yerinə yetirildikdə dayandırılan ilkin blok. Stimul başlanğıc bloka yazılır. (Şəkil 54-də 72-5-ci sətirə baxın)
Sintaksis:
..
ilkin başlayır
$dampfile();
$dumpvars();
..(stimul daxil edin)
son
ilkin blok t = 0 zamanında simulyasiyanın başlanğıcında öz icrasına başlayır. Başlanğıc və son arasındakı birinci sətirdən başlayaraq, hər bir sətir gecikmə əldə olunana qədər yuxarıdan aşağı yerinə yetirilir. Gecikməyə çatdıqda, bu blokun icrası gecikmə vaxtı (10 vaxt vahidi) keçənə qədər gözləyir və sonra yenidən icranı götürür.
İstifadəçi bütün kombinasiyaları əl ilə daxil etmək əvəzinə, bu ilkin blokun daxilində döngələrdən (for, while, if-else) istifadə edərək stimulları müəyyən edə bilər.

Example:
İlkin Başlanğıc
A = 0; b = 0; // icraya başlayın
#10 a = 0; b = 1; // icra t = 10-vahid vaxtdadır
#10 a = 1; b = 0; // icra t = 20-vahid vaxtdadır
son
Zibil Files
Yadda saxlanması lazım olan başqa bir məqam dolların bəyan edilməsidirzibilfiles və $dumpvars ilkin blokun daxilində (Şəkil 55-də 56-5 sətirinə baxın). $zibilfile a-da şəbəkələrin və registrlərin qiymətlərindəki dəyişiklikləri silmək üçün istifadə olunur file bu onun arqumenti olaraq adlandırılır.
məsələnample:
$zibilfile(“alu_tb.vcd”);
a-da dəyişiklikləri ləğv edəcək file alu_tb.vcd adlı. Dəyişikliklər a-da qeyd olunur file VCD adlanır file bu, dəyər dəyişikliyi zibilini ifadə edir. VCD (value change dump) dəyər dəyişiklikləri haqqında bütün məlumatları saxlayır. Bizdə birdən çox $dump ola bilməzfile Verilog simulyasiyasındakı ifadələr.
$dumpvars hansı dəyişənlərin atılacağını müəyyən etmək üçün istifadə olunur ( file $dump tərəfindən qeyd edilmişdirfile). Onu istifadə etməyin ən sadə yolu heç bir arqument olmadandır. $dumpvarların ümumi sintaksisi belədir
$dumpvars ( <, >);
Biz əsasən hansı modulların və modullarda hansı dəyişənlərin atılacağını müəyyən edə bilərik. Bundan istifadə etməyin ən sadə yolu səviyyəni 0 və modul adını üst modul kimi təyin etməkdir (adətən üst testbench modulu).
$dumpvars(0, alu_tb);
Səviyyə 0-a təyin edildikdə və yalnız modulun adı göstərildikdə, o, həmin modulun BÜTÜN dəyişənlərini və bu üst modul tərəfindən yaradılmış BÜTÜN aşağı səviyyəli modullardakı bütün dəyişənləri tullayır. Əgər hər hansı modul bu üst modul tərəfindən yaradılmayıbsa, onun dəyişəni əhatə olunmayacaq. Daha bir şey, dolların bəyannaməsizibilfile $dumpvars və ya dump təyin edən hər hansı digər sistem tapşırıqlarından əvvəl gəlməlidir. Bu zibil files başqa stimul girişlərindən əvvəl elan edilməlidir, bu zibildə heç bir dəyər saxlanmayacaq files.
Həmişə Blok edin
İlkin ifadələrdən fərqli olaraq, həmişə blok təkrar-təkrar yerinə yetirilir, baxmayaraq ki, icra t = 0 zamanında başlayır. Məsələnample, saat siqnalı flip-floplar kimi ardıcıl sxemlərin işləməsi üçün vacibdir. Davamlı olaraq tədarük edilməlidir. Beləliklə, saatın işləmə kodunu bir sınaq masasında yaza bilərik (Şəkil 52-də 5-ci sətirə baxın):
həmişə
#10 clk = ~clk;
son modul
Yuxarıdakı ifadə t = 10-dan başlayaraq 0 ns sonra yerinə yetirilir. Clk dəyəri əvvəlki dəyərdən 10 ns sonra tərsinə çevriləcəkdir. Beləliklə, 20 ns impuls genişliyində bir saat siqnalı yaradır. Buna görə də, bu bəyanat 50 MHz tezlikli bir siqnal yaradır. Qeyd etmək vacibdir ki, siqnalın işə salınması həmişə blokdan əvvəl həyata keçirilir. İnisiallaşdırma hissəsini etməsək, clk siqnalı t – 0-dan x olacaq, 10 ns-dən sonra isə başqa bir x-ə çevriləcək.
Özünü Yoxlama Testi
Özünü yoxlayan testbench cari vəziyyəti yoxlamaq üçün bir bəyanat ehtiva edir.
- $göstərin sistem tapşırığı əsasən simulyasiya axını izləmək üçün sazlama mesajlarını göstərmək üçün istifadə olunur
ilkin başlayır
A = 0; b = 0; c = 0; #10; // daxiletmə tətbiq edin, gözləyin
if( y ! == 1) başlayır
$display( “000 uğursuz oldu”); //yoxlayın
c = 1; #10; //girişi tətbiq edin, gözləyin
son
başqa ( y ! == 0) başlayarsa
$display("001 uğursuz oldu") // yoxlayın
b = 1; c = 0; #10; son
başqa əgər(y!==0)
$display (“010 uğursuz oldu”); //yoxlayın
son
son modul
$göstərin dəyişənlərin, sətirlərin və ya ifadələrin dəyərlərini göstərmək üçün istifadə olunur. Yuxarıdakı keçmişdənample, if-else döngəsindən hər hansı biri təmin edildikdə, simulyator jurnalı müvafiq $-ı göstərəcək.göstərin bəyanat. Sətirlərin sonunda standart olaraq yeni sətir var.
$göstərin (“zaman = %t , A = %b, B = %b, C = % b”, $vaxt, A, B, C);
Sitatlarda qeyd olunan simvollar olduğu kimi çap olunacaq. % ilə birlikdə hərf sətir formatını bildirir. Binar verilənləri təmsil etmək üçün %b istifadə edirik. Biz müvafiq olaraq onluq, onaltılıq və səkkizlik rəqəmləri təmsil etmək üçün %d, %h, %o istifadə edə bilərik. Həqiqi ədədləri ifadə etmək üçün %g istifadə olunur. Bunlar qeyd olunan qaydada sitat xaricindəki dəyərlərlə əvəz olunacaq. məsələnample, yuxarıdakı ifadə simulyasiya jurnalında belə göstəriləcək: vaxt = 20, A = 0, B =1, C = 0
Cədvəl 1. Verilog Cədvəl Formatları
| Arqument | Təsvir |
| %h, %H | Onaltılıq formatda göstərin |
| %d, %D | Onluq formada göstərin |
| %b, %B | İkili formatda göstərin |
| %m, %M | İerarxik adı göstərin |
| %s, %S | Sətir kimi göstərin |
| %t, %T | Vaxt formatında göstərin |
| %f, %F | Onluq formatda 'real' göstərin |
| %e, %E | Eksponensial formatda 'real' göstərin |
$göstərin Əsasən verilənləri və ya dəyişəni C-dəki printf kimi o zamankı kimi çap edir. Biz $ qeyd etməliyik.göstərin Bizə lazım olan hər hansı mətn üçün view simulyasiya jurnalında.
- $vaxt
$vaxt simulyasiyanın cari vaxtını qaytaracaq sistem tapşırığıdır.
- $monitor
$monitor yazıldığı verilənlərə və ya dəyişənə nəzarət edəcək və dəyişən hər dəfə dəyişdikdə çap edəcək
dəyişdirilmiş dəyər. O, hər hansı arqument əldə etdikdən sonra $display çağırmaqla oxşar effekt əldə edir
yeniləndi. $monitor və nəzarət edən əsas mövzunun fonunda işləmək üçün yaranan bir vəzifə kimidir
arqument dəyişənlərinin dəyər dəyişikliklərini göstərir. $monitor $ ilə eyni sintaksisə malikdirgöstərin.
$monitor(“zaman = %t, A = %b, B = %b, C = % b”, $vaxt, A, B, C);

Şəkil 7-dən siz testbench-in özünü qiymətləndirmək üçün yeni kod sətirlərinin əlavə edildiyini müşahidə edə bilərsiniz. dolların yerləşdirilməsigöstərin və $monitor test masasının müxtəlif bölmələrindəki ifadələr fərqli nəticələr verəcəkdir (Şəkil 8-ə baxın). $vaxt bu ifadələrdə qeyd olunan dəyərin çap olunduğu vaxtı çap edir. Eyni zamanda vahid 170000 deyir, biz $ səbəbiylə A və B üçün dəyər fərqinin necə olduğunu görə bilərik.göstərin və $monitor bəyanatlar.

GTKWave Proqramı
GTKWave tam xüsusiyyətli GTK+ dalğasıdır viewLXT, LXT32, VZT, FST və GHW oxuyan Unix, Win2 və Mac OSX üçün er files, eləcə də standart VCD/EVCD files və imkan verir viewing. Onun rəsmi websayt yerləşir http://gtkwave.sourceforge.net/ . GTKWave tövsiyə olunur viewIcarus Verilog simulyasiya aləti tərəfindən.
İstifadəçi dizaynın funksionallığını yoxlamaq üçün uğurla sınaq masası yaratdıqdan sonra istifadəçi indi GTKWave proqram təminatından istifadə edə bilər. view dalğa formaları.
GTKWave proqramını işə salmaq üçün view dalğa formalarında istifadəçi alətlər panelinin yuxarısındakı Simulate Testbench düyməsini və ya əsas menyudan Alətlər → Simulyasiya → Testbench simulyasiya et düyməsini sıxmalıdır. Sintaksis səhvləri yoxdursa, dizayndan asılı olaraq, GTKWave avtomatik olaraq işə salınmalı və ya testbenchdəki stimulların nəticələri pəncərənin Logger bölməsində göstəriləcəkdir.
GTKWave proqramı .vcd formatlı zibil qutusunu açırfile avtomatik. GTKWave pəncərəsi açıldıqda dalğa formasını göstərmir. Bu, istifadəçiyə istədiyi siqnalları seçmək imkanı verir view və müşahidə edin. Siqnal seçmək üçün istifadəçi göstərməlidir, istifadəçi SST nişanı altında pəncərənin sol tərəfində modulunun/nümunəsinin adını klikləməlidir. Hər bir nümunənin + üzərinə klikləməklə, alt hissədə həmin misalla əlaqəli siqnalları görə bilərsiniz. Sonra istədiyiniz siqnalı sürükləyib buraxa və ya Siqnallar pəncərəsində göstərmək üçün iki dəfə klikləyə bilərsiniz. Siz həmçinin hamısını seçə bilərsiniz (CTRL + A) və onları siqnallar pəncərəsinə daxil edə bilərsiniz (bax Şəkil 9).

Siqnallar indi siqnal pəncərəsinə əlavə edilib, lakin onun hələ simulyasiyası yoxdur. İstədiyiniz siqnalları siqnal pəncərəsinə əlavə etdikdən sonra üzərinə klikləyin
siqnalları pəncərənin cari genişliyinə uyğunlaşdırmaq və sonra yenidən yükləmədən siqnalları yenidən yükləmək
alətlər panelində olan simvol. İndi siz siqnalları müvafiq dəyərlərlə görə bilərsiniz.
Siqnal Dəyərləri
Varsayılan olaraq, siqnalların dəyərləri onaltılıq formatdadır və bütün dalğalar yaşıl rəngdədir (əgər düzgün işləyirsə).
İstifadəçi bu siqnalın xassələrini siqnalın üzərinə sağ klikləyərək Data Format və ya Rəng Formatını seçməklə dəyişə bilər. İstifadəçi həmçinin siqnallar qrupu arasında bölmələr yaratmaq üçün boş bir siqnal daxil edə bilər. İstədiyiniz optik nəticə əldə edildikdə, siz getməklə konfiqurasiyalarınızı saxlaya bilərsiniz File → Saxla yaz File.
GTKWave Alətlər Paneli
Alətlər paneli (Şəkil 10-a baxın) istifadəçiyə siqnal üçün əsas funksiyaları yerinə yetirməyə imkan verir. Gəlin alətlər panelində soldan sağa hər bir variantı müzakirə edək.

- Menyu Seçimləri: Bu seçim altında biz edə bilərik view proqram təminatı ilə oynamaq üçün istifadə edilə bilən proqramın bütün müxtəlif xüsusiyyətləri. Bu menyu seçimi altındakı təfərrüatlar bu istifadəçi təlimatının 8-ci bölməsində əhatə olunur.
- İzləri kəsin: Siqnal pəncərəsindən seçmə siqnalını silmək/kəsmək üçün istifadə olunur
- İzləri kopyalayın: Seçilmiş siqnalı siqnal pəncərəsindən köçürmək üçün istifadə olunur
- İzləri yapışdırın: Kopyalanan/kəsilmiş iz siqnal pəncərəsində başqa yerə yapışdırıla bilər
- Zoom Fit: İstifadəçinin göstərmək üçün seçdiyi pəncərənin ölçüsünə uyğun olaraq siqnalları uyğunlaşdırmaq üçün istifadə olunur
- Böyüt: Siqnal pəncərəsini böyütmək üçün istifadə olunur
- Uzaqlaşdır: Siqnal pəncərəsini böyütmək üçün istifadə olunur
- Zoom Geri Al: siqnal pəncərəsində böyütmə/kiçiltməni ləğv etmək üçün istifadə olunur
- Başlamaq üçün böyüt: bu, siqnalların başlama vaxtını göstərən siqnal pəncərəsini böyüdəcək.
- Sona yaxınlaşdır: bu, siqnalların bitmə vaxtını göstərən siqnal pəncərəsini böyüdəcək
- Əvvəlki kənarı tapın: Bu, markeri əvvəlki kənarı göstərən sola sürüşdürür
- Növbəti kənarı tapın: Bu, markeri növbəti kənarı göstərən sağa sürüşdürür
- Aşağı/yuxarı bağı sürüşdürün: bundan istifadə edərək istifadəçinin göstərmək istədiyi vaxt çərçivəsini təyin edə bilərik. məsələnample, biz vaxt çərçivəsini 0 saniyə ilə 500 ns arasında təyin edə bilərik, o, yalnız bu müddət ərzində siqnalları göstərəcək.
- Yenidən yükləyin: Göstərilən siqnalda dəyişiklik olduqda yenidən yükləməyə basılır. Yeni parametrlərə uyğun olaraq siqnalı yenidən yükləyəcək və göstərəcək. məsələnample, siqnalın vaxt çərçivəsini dəyişdirdikdən sonra siqnalı yeni təyin olunmuş vaxt çərçivəsində göstərmək üçün siqnalı yenidən yükləmək lazımdır.
Menyu Seçimləri
GTKWave proqramının yuxarı sol küncündən istifadəçi üç şaquli xəttə klikləməklə menyu seçimlərinə daxil ola bilər (Şəkil 11-ə baxın). İstifadəçi Menyu seçimləri altında aşağıdakı seçimləri tapa bilər:

File
The File alt menyuda girişlə bağlı müxtəlif elementlər var files, idxal-ixrac VCD files, çap və oxu/yazma files və çıxış.
Redaktə et
Redaktə alt menyusu dalğa alt pəncərəsində dəyərlərin məlumat təqdimatını dəyişdirmək kimi müxtəlif kommunal funksiyaları yerinə yetirmək üçün istifadə olunur. "Edit" alt menyusunun altındakı seçimlərdən istifadə edərək istifadəçi siqnalların məlumat formatını dəyişdirə, onları yenidən təşkil edə, dəyişdirə, kəsə, vurğulaya, siqnalları qruplaşdıra, siqnalları şərh edə, siqnalların rəngini dəyişdirə və s.
Axtarış
Axtar alt menyusu şəbəkə adları və dəyərlər üzərində axtarışlar aparmaq üçün istifadə olunur. VCD-də siqnalların və nümunələrin müxtəlif iyerarxiya səviyyələrində funksiyaları yerinə yetirməyə kömək edir file.
Vaxt
Vaxt alt menyusu Naviqasiyalar və Vəziyyət Paneli düymələri tərəfindən yerinə yetirilən funksiyaların üst dəstini ehtiva edir.
O, sadə, zamanla əlaqəli, böyütmə, müəyyən bir zaman nöqtəsinə keçmə, siqnalı müəyyən bir istiqamətə dəyişdirmə və s.
Marker
Marker alt menyusu markerdə müxtəlif manipulyasiyalar yerinə yetirmək, həmçinin ekrandan kənar sürüşməyə nəzarət etmək üçün istifadə olunur.
Bu, siqnal pəncərəsinə çoxsaylı markerlər əlavə etmək funksiyasına imkan verir. Maksimum 26 ad markerinə icazə verilir və hamı üçün vaxt fərqli olmalıdır.
a. Siqnal pəncərəsində Markerlər əlavə etmək üçün
Markerin yerləşdirilməsini istədiyiniz yerdə sol klikləyin və ALT + N düymələrini basın. Bu, lazımi nöqtədə adlandırılmış markeri (A,B,C və s.) yerləşdirəcək. İstifadəçi bunu 26 müxtəlif vaxt məkanı üçün etməyə davam edə bilər.
Bütün yerlərin markerlərində vaxt dəyərini müqayisə etmək üçün Menyu → Markerlər → Dəyişiklik Marker Datasını göstər.
Bu, hər Markerdə vaxt dəyəri olan bir pəncərə açacaq. İstifadəçi yerləşdirilmiş hər bir markerdə vaxt dəyərini əl ilə qeyd edə və 2 marker arasındakı vaxt fərqini hesablamaq üçün onları çıxara bilər.
b. Siqnal pəncərəsində Markeri silmək üçün
İstifadəçi Menyu → Markerlər → Adlandırılmış Markeri toplaya bilər. Bu, siqnal pəncərəsində yerləşdirilmiş son adlı Markeri siləcək. İstifadəçi Menyu → Markerlər → Bütün Adlandırılmış Markerləri Topla (Şəkil 12) bölməsinə keçməklə bütün adlandırılmış Markerləri silə bilər.

Şəkil 13-də siqnal rənglərinin necə dəyişdirildiyini görə bilərik. Siqnal pəncərəsinə əlavə edilmiş Boş Siqnalı şərhlə də müşahidə edə bilərsiniz – Boş Siqnal.
Həmçinin 6 Adlı Markerin (A – E) mövcudluğuna və bu Markerlər arasında ps-də vaxt dəyərinin hesablanmasına diqqət yetirin.

View
The View alt menyu status elementlərinin qrafik göstərilməsi ilə məşğul olan müxtəlif atributları və siqnal alt pəncərəsindəki dəyərləri idarə etmək üçün istifadə olunur. Bu menyudan siz siqnal pəncərəsini Qara-Ağ və ya rəngli rəngə çevirə bilərsiniz. The View alt menyu həmçinin saniyədən (saniyə) fikosaniyələrə (fs) qədər dəyişən vaxt Ölçüsünü dəyişməyə imkan verir. İstifadəçi bu seçimi tapa bilər View → Zaman Ölçüsünün Ölçüsü → fs.
Kömək edin
Kömək alt menyusunda onlayn yardımın aktivləşdirilməsi, eləcə də proqram versiyası məlumatının göstərilməsi üçün seçimlər var.
Nəticə
Bu sənəd istifadəçiyə dizaynını uğurla təqlid etməkdə və lazımi test masasının tərtibini düzəltmək və dalğa formalarını göstərmək və nəticələri müşahidə etmək üçün GTKWave ilə birlikdə Icarus Verilogdan istifadə etməklə funksionallığı yoxlamağa kömək etmək üçün yaradılmışdır.
Təftiş Tarixçəsi
| Reviziya | Tarix | Təsvir |
| 1.00 | 20 may 2024-ci il | İlkin buraxılış. |
R19US0011EU0100 Rev.1.0
20 may 2024-ci il
© 2024 Renesas Electronics

Sənədlər / Resurslar
![]() |
RENESAS ForgeFPGA Proqram Simulyasiyası [pdf] İstifadəçi təlimatı REN_r19us0011eu0100, ForgeFPGA Software Simulation, ForgeFPGA Software, ForgeFPGA, ForgeFPGA Simulation, Software Simulation, Simulation, Software |
