Simulasi Perisian RENESAS ForgeFPGA

Simulasi Perisian RENESAS ForgeFPGA

Maklumat Penting

Simulasi ialah teknik menggunakan rangsangan input yang berbeza pada reka bentuk pada masa yang berbeza untuk menyemak sama ada kod RTL berkelakuan seperti yang dimaksudkan. Ia digunakan untuk mengesahkan keteguhan reka bentuk. Simulasi membolehkan pengguna untuk view gambarajah masa bagi isyarat yang berkaitan untuk memahami bagaimana penerangan reka bentuk dalam reka bentuk file berkelakuan.

Testbenches ialah kepingan kod yang digunakan untuk simulasi. Meja ujian ringkas akan membuat Instalasi Unit Dalam Ujian (UUT) dan memacu input. Perisian Go Configure menggunakan Icarus Verilog (iVerilog) dan GTKWave untuk memerhati bentuk gelombang simulasi dengan rangsangan yang disediakan dalam meja ujian.

Dokumen ini menerangkan langkah-langkah yang perlu diambil semasa memasang Icarus pada sistem anda dan cara menjalankan simulasi yang berjaya.

Memasang Icarus Verilog

a. Pasang versi terkini Icarus Verilog (IVerilog) daripada https://bleyer.org/icarus/
b. Pastikan anda menambah IVerilog pada PATH dan biarkan ia memasang GTKWave (Lihat Rajah 1)
Memasang Icarus Verilog

c. Buka Perisian Go Configure dan pilih bahagian: SLG47910(Rev BB) untuk membuka Bengkel Forge (lihat Rajah 2).
Memasang Icarus Verilog

d. Klik pada Editor FPGA di tengah-tengah bar alat di bahagian atas atau pengguna juga boleh klik dua kali pada struktur Teras FPGA di tengah tetingkap.
Memasang Icarus Verilog

e. Tetingkap baharu dibuka dipanggil Bengkel Forge. Dalam bar alat menu di bahagian atas, klik pada Pilihan → Tetapan. Dalam kotak dialog Tetapan, pergi ke Alat di bawah tab Tetapan Pengguna. Nyahpilih Gunakan "kotak persekitaran sistem" untuk kedua-dua Icarus Verilog dan GTKWave. Tambahkan laluan ke Iverilog dan GTKWave yang disimpan dalam sistem anda ke dalam ruang yang diberikan (lihat Rajah 4).
Memasang Icarus Verilog

Anda semua bersedia untuk mensimulasikan bangku ujian dan langkah di atas memastikan bahawa GTKWave dilancarkan secara automatik apabila mensimulasikan bangku ujian pada perisian Go Configure.

Testbench

Langkah paling penting dalam melaksanakan mana-mana sistem dengan jayanya adalah untuk mengesahkan reka bentuk dan fungsinya. Mengesahkan sistem yang kompleks selepas melaksanakan perkakasan bukanlah pilihan yang bijak. Ia tidak berkesan dari segi wang, masa dan sumber. Oleh itu, dalam kes FPGA, meja ujian digunakan untuk menguji kod sumber Verilog.

Katakan kita mempunyai input yang 11 bit, dan kita ingin menguji peranti untuk semua kemungkinan nilai gabungan input iaitu (211). Oleh kerana ini adalah bilangan kombinasi yang sangat besar, adalah mustahil untuk mengujinya secara manual. Dalam kes sedemikian, bangku ujian sangat berguna kerana anda boleh menguji reka bentuk secara automatik untuk semua nilai yang mungkin dan oleh itu, sahkan kebolehpercayaan reka bentuk ujian. Verilog Testbenches digunakan untuk mensimulasikan dan menganalisis reka bentuk tanpa memerlukan sebarang peranti perkakasan fizikal.

Reka bentuk yang sedang diuji, disingkatkan sebagai DUT, ialah modul yang boleh disintesis bagi fungsi yang ingin kami uji. Dalam erti kata lain, reka bentuk litar yang kami ingin uji. Kami boleh menerangkan DUT kami menggunakan salah satu daripada tiga gaya pemodelan dalam Verilog - Peringkat Gerbang, Aliran Data atau Tingkah Laku.

Meja ujian tidak boleh disintesis, oleh itu ia digunakan untuk tujuan simulasi sahaja. Ini membolehkan pengguna menggunakan rangkaian penuh konstruk Verilog cth, kata kunci seperti "untuk", "$paparan" dan "$monitor" dsb. untuk menulis meja ujian. Meja ujian ringkas akan menjadikan Unit Dalam Ujian (UUT) atau Peranti Dalam Ujian (DUT) dan memacu input.

Memahami Testbench

Memahami Testbench

Definisi Skala Masa dalam Testbench

Semasa mensimulasikan, perisian perlu mengetahui bagaimana masa telah ditentukan. Unit kelewatan ditentukan menggunakan `arahan skala masa, yang menentukan unit masa dan ketepatan untuk modul yang mengikutinya. `Skala masa membantu dalam menentukan maksud #1 dari segi masa. # digunakan untuk menentukan kelewatan yang akan diperkenalkan dalam sistem mengikut unit masa yang ditetapkan dalam skala masa. Jadi, #1 bermaksud 1 ns kelewatan jika unit_masa dalam ns.

Sintaks:
`skala masa / /

unit_masa ialah jumlah masa yang diwakili oleh kelewatan #1. Pangkalan ketepatan_masa mewakili bilangan titik perpuluhan ketepatan untuk digunakan secara relatif kepada unit masa. (Lihat baris 23 dalam Rajah 5)

Kita boleh menggunakan binaan skala masa untuk menggunakan unit masa yang berbeza dalam reka bentuk yang sama. Pengguna perlu ingat bahawa spesifikasi kelewatan tidak boleh disintesis dan tidak boleh ditukar kepada logik perkakasan. Fungsi kelewatan adalah sepenuhnya untuk tujuan simulasi. $masa dan $masa nyata fungsi sistem mengembalikan masa semasa dan format pelaporan lalai boleh ditukar dengan tugas sistem lain $timeformat .

Example: 

`skala masa 10us/100ns
`skala masa 1ns/1ps
#10 set semula = 1; // melengahkan isyarat sebanyak 10 ns
#0.49 $paparan( “T = %0t pada Masa #0.49”, $realtime) ;

Kelewatan yang dinyatakan ialah #0.49 iaitu kurang daripada setengah unit masa. Walau bagaimanapun, ketepatan masa ditentukan sebagai 1ps dan oleh itu simulator tidak boleh pergi lebih kecil daripada 1ns yang menjadikannya untuk membulatkan pernyataan kelewatan yang diberikan dan menghasilkan 0ns. Jadi, kenyataan ini gagal memberikan sebarang kelewatan.

Log Simulasi: 

T = 1 pada Masa #0.49

Pengisytiharan Modul

Pengisytiharan modul dalam mana-mana testbench tidak seperti kod Verilog utama. Dalam testbench, modul diisytiharkan tanpa sebarang port terminal bersama-sama dengannya. (Lihat baris 25 dalam Rajah 5)

Sintaks: 

modul ;

Pengisytiharan modul diikuti dengan mentakrifkan isyarat input dan output yang ditakrifkan lebih awal dalam reka bentuk utama file.
Kami menggunakan dua jenis isyarat untuk memandu dan memantau isyarat semasa simulasi. Jenis data reg akan memegang nilai sehingga nilai baharu diberikan kepadanya. Jenis data ini boleh diberikan nilai hanya dalam blok sentiasa atau awal.
Jenis data wayar adalah seperti sambungan fizikal. Ia akan memegang nilai yang didorong oleh port, peruntukkan pernyataan atau reg. Jenis data ini tidak boleh digunakan pada permulaan atau sentiasa disekat. Sebarang parameter dan pengisytiharan integer juga dilakukan dalam bahagian ini.

Example:
Reg a,b; // input dalam kod HDL ditakrifkan sebagai reg dalam testbench
Wayar y; // isyarat keluaran dalam HDL ditakrifkan sebagai wayar dalam testbench

DUT Instantiation

Tujuan meja ujian adalah untuk mengesahkan sama ada modul DUT kami berfungsi. Oleh itu, kami perlu membuat seketika modul reka bentuk kami untuk menguji modul.

Sintaks: 

(. (isyarat1), . isyarat1>(isyarat2));

Example:

ALU d0 (.a(a), // isyarat "a" dalam ALU harus disambungkan kepada "a" dalam modul ALU_tb
.b(b), // isyarat "b" dalam ALU harus disambungkan kepada "b" dalam modul ALU_tb
.c(c)); // isyarat "c" dalam ALU harus disambungkan kepada "c" dalam modul ALU_tb

Kami telah menjadikan modul DUT ALU kepada modul ujian. Nama contoh (d0) ialah pilihan pengguna. Isyarat dengan noktah “.” di hadapannya adalah nama untuk isyarat di dalam modul ALU, manakala wayar atau reg yang mereka sambungkan di bangku ujian terletak di sebelah isyarat dalam kurungan (). Adalah disyorkan untuk mengekodkan setiap sambungan port dalam baris yang berasingan supaya sebarang mesej ralat kompilasi akan menunjukkan dengan betul ke nombor baris tempat ralat itu berlaku. Oleh kerana sambungan ini dibuat mengikut nama, susunan ia muncul adalah tidak relevan.

Instalasi DUT juga boleh dibuat untuk modul di mana modul testbench mempunyai nama isyarat yang berbeza. Pemetaan isyarat yang betul ialah perkara yang penting semasa membuat instantiat.

Example: 

ALU d0 (.a(A), // isyarat "a" dalam ALU harus disambungkan kepada "A" dalam modul ALU_tb
.clk(jam), // isyarat "clk" dalam ALU harus disambungkan ke modul ALU_tb "jam"
.keluar(KELUAR)); // isyarat "keluar" dalam ALU harus disambungkan kepada "KELUAR" dalam modul ALU_tb

Sentiasa & Blok Awal dalam Testbench

Terdapat dua blok berurutan dalam Verilog, awal dan sentiasa. Di dalam blok inilah kita menggunakan rangsangan.

Blok awal

Blok awal yang dilaksanakan sekali sahaja dan ditamatkan apabila baris terakhir blok dilaksanakan. Rangsangan ditulis ke dalam blok awal. (Lihat baris 54-72 dalam Rajah 5)

Sintaks:
..
permulaan awal
$dumpfile();
$dumpvars();
..(masukkan rangsangan)
tamat

blok awal memulakan pelaksanaannya pada permulaan simulasi pada masa t = 0. Bermula dengan baris pertama antara permulaan dan akhir, setiap baris dilaksanakan dari atas ke bawah sehingga kelewatan dicapai. Apabila kelewatan dicapai, pelaksanaan blok ini menunggu sehingga masa kelewatan (10-unit masa) telah berlalu dan kemudian mengambil pelaksanaan semula.
Pengguna boleh mentakrifkan rangsangan menggunakan gelung (untuk, manakala, jika-lain) serta di dalam blok awal ini dan bukannya memasukkan semua kombinasi secara manual.
Blok awal

 

Example:
Permulaan Awal
A = 0; b = 0; // mulakan pelaksanaan
#10 a = 0; b = 1; // pelaksanaan adalah pada t = 10-unit masa
#10 a = 1; b = 0; // pelaksanaan adalah pada t = 20-unit masa
tamat

Buang Files

Perkara lain yang perlu diingat ialah pengisytiharan $buangfiles dan $dumpvars di dalam blok awal (lihat baris 55- 56 dalam Rajah 5). $buangfile digunakan untuk membuang perubahan dalam nilai jaring dan daftar dalam a file itu dinamakan sebagai hujahnya.

Untuk example:

$buangfile(“alu_tb.vcd”);

akan membuang perubahan dalam a file bernama alu_tb.vcd. Perubahan direkodkan dalam a file dipanggil VCD file yang bermaksud longgokan perubahan nilai. VCD (value change dump) menyimpan semua maklumat tentang perubahan nilai. Kami tidak boleh mempunyai lebih daripada satu $dumpfile kenyataan dalam simulasi Verilog.

$dumpvars digunakan untuk menentukan pembolehubah mana yang akan dibuang (dalam file disebut oleh $dumpfile). Cara paling mudah untuk menggunakannya adalah tanpa sebarang hujah. Sintaks umum $dumpvars ialah

$dumpvars ( <, >);

Kami pada asasnya boleh menentukan modul mana, dan pembolehubah mana dalam modul akan dibuang. Cara paling mudah untuk menggunakan ini adalah untuk menetapkan tahap kepada 0 dan nama modul sebagai modul teratas (biasanya modul meja ujian teratas).

$dumpvars(0, alu_tb);

Apabila tahap ditetapkan kepada 0, dan hanya nama modul yang ditentukan, ia membuang SEMUA pembolehubah modul itu dan semua pembolehubah dalam SEMUA modul peringkat rendah yang dibuat oleh modul teratas ini. Jika mana-mana modul yang tidak digunakan oleh modul teratas ini, maka pembolehubahnya tidak akan dilindungi. Seperkara lagi, pengisytiharan $buangfile mesti datang sebelum $dumpvars atau mana-mana tugas sistem lain yang menentukan dump. Tempat pembuangan ini files mesti diisytiharkan sebelum input rangsangan jika tidak, tiada nilai akan disimpan dalam tempat pembuangan ini files.

Sentiasa Sekat

Bertentangan dengan pernyataan awal, blok sentiasa berulang kali dilaksanakan, walaupun pelaksanaan bermula pada masa t = 0. Untuk exampOleh itu, isyarat jam adalah penting untuk pengendalian litar berjujukan seperti Flip-flops. Ia perlu dibekalkan secara berterusan. Oleh itu, kita boleh menulis kod untuk pengendalian jam dalam meja ujian seperti (lihat baris 52 dalam Rajah 5):

sentiasa
#10 clk = ~ clk;
modul akhir

Pernyataan di atas akan dilaksanakan selepas 10 ns bermula dari t = 0. Nilai clk akan terbalik selepas 10 ns daripada nilai sebelumnya. Oleh itu, menjana isyarat jam dengan lebar nadi 20 ns. Oleh itu, pernyataan ini menghasilkan isyarat frekuensi 50 MHz. Adalah penting untuk ambil perhatian bahawa, permulaan isyarat dilakukan sebelum blok sentiasa. Jika kita tidak melakukan bahagian permulaan, isyarat clk akan menjadi x dari t – 0, dan selepas 10 ns, ia akan diterbalikkan kepada x lain.

Meja Ujian Semakan Sendiri

Meja ujian semakan sendiri termasuk pernyataan untuk menyemak keadaan semasa.

  • $paparan tugas sistem digunakan terutamanya untuk memaparkan mesej nyahpepijat untuk menjejaki aliran simulasi

permulaan awal
A = 0 ; b = 0 ; c = 0; #10; // gunakan input, tunggu
jika( y ! == 1) bermula
$paparan( “000 gagal”); //semak
c = 1; #10 ; //gunakan input, tunggu
tamat
lain jika ( y ! == 0) bermula
$display("001 gagal") // semak
b = 1; c = 0; #10 ; tamat
lain jika(y!==0)
$paparan (“010 gagal”); //semak
tamat
modul akhir

$paparan digunakan untuk memaparkan nilai pembolehubah, rentetan atau ungkapan. Daripada ex di atasample, apabila mana-mana gelung if-else berpuas hati, maka log simulator akan memaparkan $ masing-masingpaparan kenyataan. Terdapat baris baharu secara lalai di hujung rentetan.

$paparan (“masa = %t , A = %b, B = %b, C = % b”, $masa, A, B, C);

Watak-watak yang disebut dalam petikan akan dicetak sebagaimana adanya. Huruf bersama % menandakan format rentetan. Kami menggunakan %b untuk mewakili data binari. Kita boleh menggunakan %d, %h, %o untuk mewakili perpuluhan, perenambelasan dan perlapanan. %g digunakan untuk menyatakan nombor nyata. Ini akan digantikan dengan nilai di luar petikan dalam susunan yang disebutkan. Untuk example, pernyataan di atas akan dipaparkan dalam log simulasi sebagai: masa = 20, A = 0, B =1, C = 0

Jadual 1. Format Jadual Verilog

Hujah Penerangan
%h, %H Paparkan dalam format Heksadesimal
%d, %D Paparkan dalam bentuk perpuluhan
%b, %B Paparan dalam format binari
%m, %M Paparkan nama hierarki
%s, %S Paparkan sebagai rentetan
%t, %T Paparan dalam format masa
%f, %F Paparkan 'sebenar' dalam format perpuluhan
%e, %E Paparkan 'sebenar' dalam format eksponen

$paparan terutamanya mencetak data atau pembolehubah seperti yang berlaku pada masa itu seperti printf dalam C. Kita mesti menyebut $paparan untuk apa sahaja teks yang kita perlu view dalam log simulasi.

  • $masa

$masa ialah tugas sistem yang akan mengembalikan masa semasa simulasi.

  • $pantau

$pantau akan memantau data atau pembolehubah yang mana ia ditulis dan apabila pembolehubah berubah, ia akan mencetak
nilai yang berubah. Ia mencapai kesan yang sama dengan memanggil $display selepas setiap kali sebarang hujahnya mendapat
dikemas kini. $pantau adalah seperti tugas yang dicetuskan untuk dijalankan di latar belakang utas utama yang memantau dan
memaparkan perubahan nilai pembolehubah hujahnya. $pantau mempunyai sintaks yang sama seperti $paparan.

$pantau(“ masa = %t, A = %b, B = %b, C = % b”, $masa, A, B, C);
Meja Ujian Semakan Sendiri

Daripada Rajah 7 anda boleh melihat bahawa barisan kod baharu telah ditambah untuk menilai sendiri meja ujian. Peletakan $paparan dan $pantau kenyataan dalam bahagian berlainan meja ujian akan menghasilkan keputusan yang berbeza (lihat Rajah 8). $masa yang disebut dalam penyata ini mencetak masa di mana nilai sedang dicetak. Pada masa yang sama unit mengatakan 170000, kita dapat melihat bagaimana terdapat perbezaan dalam nilai untuk A dan B disebabkan oleh $paparan dan $pantau kenyataan.
Meja Ujian Semakan Sendiri

Perisian GTKWave

GTKWave ialah gelombang GTK+ yang ditampilkan sepenuhnya viewer untuk Unix, Win32 dan Mac OSX yang berbunyi LXT, LXT2, VZT, FST dan GHW files serta VCD/EVCD standard files dan membenarkan mereka viewing. rasminya webtapak berada di http://gtkwave.sourceforge.net/ . GTKWave adalah disyorkan viewer oleh alat simulasi Icarus Verilog.

Setelah pengguna berjaya mencipta meja ujian untuk menguji kefungsian reka bentuk, pengguna kini boleh menggunakan perisian GTKWave untuk view bentuk gelombang.

Untuk melancarkan perisian GTKWave kepada view bentuk gelombang, pengguna perlu mengklik pada butang Simulate Testbench di bahagian atas bar alat atau dari menu utama Tools→ Simulation→ Simulate Testbench. Jika tiada ralat sintaks maka bergantung pada reka bentuk, GTKWave hendaklah dilancarkan secara automatik atau keputusan rangsangan dalam ujian meja akan dipaparkan dalam bahagian Logger pada tetingkap.

Perisian GTKWave membuka pembuangan format .vcdfile secara automatik. Tetingkap GTKWave tidak memaparkan bentuk gelombang apabila dibuka. Ini memberi pengguna peluang untuk memilih isyarat yang dikehendakinya view dan memerhati. Untuk memilih isyarat, pengguna perlu memaparkan, pengguna perlu klik pada nama modul/contoh mereka di sebelah kiri tetingkap di bawah tab SST. Dengan mengklik + bagi setiap tika, anda boleh melihat isyarat yang berkaitan dengan tika itu di bahagian bawah. Kemudian anda boleh seret & lepas isyarat yang dikehendaki atau klik dua kali padanya untuk dipaparkan dalam tetingkap Isyarat. Anda juga boleh memilih semua (CTRL + A) dan memasukkannya ke tetingkap isyarat (lihat Rajah 9).
Perisian GTKWave

Isyarat kini ditambah pada tetingkap isyarat tetapi ia masih belum disimulasikan. Selepas menambah isyarat yang dikehendaki pada tetingkap isyarat, klik padaSimbol untuk menyesuaikan isyarat dengan lebar semasa tetingkap dan kemudian muat semula isyarat daripada muat semulaSimbol simbol yang terdapat pada bar alat. Anda kini boleh melihat isyarat dengan nilai masing-masing.

Nilai Isyarat

Secara lalai, nilai isyarat adalah dalam format heksadesimal dan semua gelombang berwarna hijau (jika berjalan dengan betul).

Pengguna boleh menukar sifat isyarat ini dengan mengklik kanan pada isyarat dan memilih Format Data atau Format Warna. Pengguna juga boleh memasukkan isyarat kosong untuk membuat bahagian antara kumpulan isyarat. Apabila anda mempunyai hasil optik yang diingini, anda boleh menyimpan konfigurasi anda dengan pergi File → Tulis Simpan File.

Bar Alat GTKWave

Bar alat (lihat Rajah 10) membolehkan pengguna melaksanakan fungsi asas untuk isyarat. Mari kita bincangkan setiap pilihan pada bar alat dari kiri ke kanan.
Bar Alat GTKWave

  1. Pilihan Menu: Di bawah pilihan ini kita boleh view semua pelbagai ciri perisian yang boleh digunakan untuk bermain-main dengan perisian. Butiran di bawah pilihan menu ini diliputi di bawah Bahagian 8 panduan pengguna ini.
  2. Potong Jejak: Ia digunakan untuk memadam/memotong isyarat pilih daripada tetingkap isyarat
  3. Salin Jejak: Ia digunakan untuk menyalin isyarat yang dipilih daripada tetingkap isyarat
  4. Tampal Jejak: Surih yang disalin/dipotong boleh ditampal di lokasi lain dalam tetingkap isyarat
  5. Zum Fit: Ia digunakan untuk memuatkan isyarat mengikut saiz tetingkap yang pengguna pilih untuk dipaparkan
  6. Zum Masuk: Ia digunakan untuk mengezum masuk tetingkap isyarat
  7. Zum Keluar: Ia digunakan untuk mengezum keluar tetingkap isyarat
  8. Zum Buat Asal: ia digunakan untuk membuat asal zum masuk/keluar pada tetingkap isyarat
  9. Zum untuk Mula: ini akan mengezum tetingkap isyarat, memaparkan masa mula isyarat.
  10. Zum ke Tamat: ini akan mengezum tetingkap isyarat yang memaparkan masa tamat isyarat
  11. Cari tepi sebelumnya: Ini mengalihkan penanda ke sebelah kiri yang menunjukkan tepi sebelumnya
  12. Cari tepi seterusnya: Ini mengalihkan penanda ke kanan menunjukkan tepi seterusnya
  13. Tatal ikatan bawah/atas: menggunakan ini kita boleh menetapkan rangka masa di mana pengguna ingin memaparkan. Untuk exampOleh itu, kita boleh menetapkan rangka masa kepada 0 saat hingga 500 ns, ia akan memaparkan isyarat dalam tempoh itu sahaja.
  14. Tambah nilai: Muat semula ditekan apabila terdapat perubahan pada isyarat yang dipaparkan. Ia akan memuatkan semula dan memaparkan isyarat mengikut parameter baharu. Untuk exampOleh itu, selepas menukar jangka masa isyarat, kita perlu memuatkan semula isyarat untuk memaparkan isyarat dalam rangka masa yang ditetapkan baharu.

Pilihan Menu

Dari sudut kiri atas perisian GTKWave, pengguna boleh mengakses pilihan menu dengan mengklik tiga baris menegak (lihat Rajah 11). Pengguna boleh mencari pilihan berikut di bawah pilihan Menu:
Pilihan Menu

File

The File submenu mengandungi pelbagai item yang berkaitan dengan mengakses files, mengimport-mengeksport VCD files, percetakan, dan membaca/menulis files dan keluar.

Sunting

Submenu Edit digunakan untuk melaksanakan pelbagai fungsi utiliti seperti menukar perwakilan data nilai dalam subtingkap gelombang. Menggunakan pilihan di bawah submenu Edit, pengguna boleh menukar format data isyarat, menyusunnya semula, mengalihkannya, memangkasnya, menyerlahkannya, kumpulan isyarat, mengulas pada isyarat, menukar warna isyarat, dsb.

Cari

Submenu Carian digunakan untuk melakukan carian pada nama dan nilai bersih. Ia membantu untuk melaksanakan fungsi pada tahap hierarki yang berbeza bagi isyarat dan kejadian dalam VCD file.

Masa

Submenu masa mengandungi superset fungsi yang dilakukan oleh butang Navigasi dan Panel Status.
Ia membolehkan fungsi mudah, berkaitan masa, seperti zum, bergerak ke titik masa tertentu, mengalih isyarat ke arah tertentu, dsb.

Penanda

Submenu penanda digunakan untuk melakukan pelbagai manipulasi pada penanda serta mengawal tatal di luar skrin.
Ia membolehkan kefungsian menambah banyak penanda pada tetingkap isyarat. Maksimum 26 penanda nama dibenarkan dan masa untuk semua mesti berbeza.

a. Untuk menambah Penanda dalam tetingkap isyarat
Klik kiri pada titik yang diperlukan di mana anda mahu Penanda diletakkan dan tekan ALT + N. Ini akan meletakkan penanda bernama (A,B,C, dll.) pada titik yang diperlukan. Pengguna boleh terus melakukan ini untuk 26 lokasi masa yang berbeza.
Untuk membandingkan nilai masa di semua penanda tempat, Menu → Penanda → Tunjukkan Data Penanda Perubahan.
Ini akan membuka tetingkap dengan nilai masa pada setiap Penanda. Pengguna boleh mencatat nilai masa secara manual pada setiap penanda yang diletakkan dan menolaknya untuk mengira perbezaan masa antara 2 penanda.
b. Untuk mengalih keluar Penanda dalam tetingkap isyarat

Pengguna boleh pergi ke Menu → Penanda → Kumpul Penanda Dinamakan. Ini akan mengalih keluar Penanda nama terakhir yang diletakkan dalam tetingkap isyarat. Pengguna boleh mengalih keluar semua Penanda bernama dengan pergi ke Menu → Penanda → Kumpul Semua Penanda Dinamakan (Rajah 12).
Pilihan Menu

Dalam Rajah 13, kita dapat melihat bagaimana warna isyarat telah ditukar. Anda boleh melihat Isyarat Kosong yang ditambahkan pada tetingkap isyarat juga dengan ulasan - Isyarat Kosong.
Perhatikan juga kehadiran 6 Penanda Dinamakan (A – E) dan pengiraan nilai masa antara Penanda ini dalam ms.
Pilihan Menu

View

The View submenu digunakan untuk mengawal pelbagai atribut yang berkaitan dengan pemaparan grafik item status serta nilai dalam sub tetingkap isyarat. Daripada menu ini, anda boleh menukar tetingkap isyarat kepada Hitam & Putih atau berwarna juga. The View submenu juga membolehkan anda menukar Dimensi masa antara saat (saat) kepada fikosaat (fs). Pengguna boleh mencari pilihan ini View → Skala kepada Dimensi Masa → fs.

Tolong

Submenu bantuan mengandungi pilihan untuk mendayakan bantuan dalam talian serta memaparkan maklumat versi program.

Kesimpulan

Dokumen ini dicipta untuk membantu pengguna dalam mensimulasikan reka bentuk mereka dengan jayanya dan mengesahkan kefungsian dengan membetulkan penggubalan meja ujian yang diperlukan dan menggunakan Icarus Verilog bersama-sama dengan GTKWave untuk memaparkan bentuk gelombang dan memerhatikan hasilnya.

Sejarah Semakan

Semakan tarikh Penerangan
1.00 20 Mei 2024 Keluaran awal.

R19US0011EU0100 Rev.1.0
20 Mei 2024
© 2024 Renesas Electronics
Logo

Dokumen / Sumber

Simulasi Perisian RENESAS ForgeFPGA [pdf] Panduan Pengguna
REN_r19us0011eu0100, Simulasi Perisian ForgeFPGA, Perisian ForgeFPGA, ForgeFPGA, Simulasi ForgeFPGA, Simulasi Perisian, Simulasi, Perisian

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *