- 1 1. Pengenalan: Kepentingan dan Tujuan “display” dalam Verilog
- 2 2. Asas $display: Sintaks, Kes Penggunaan, dan Langkah Berhati‑hati
- 3 3. Membandingkan Tugas Sistem Output Log: $display, $write, $strobe, $monitor
- 4 4. Penentu Format dan Teknik Paparan Lanjutan
- 5 5. Contoh Praktikal: Menggunakan $display dalam Test Bench dan Modul
- 6 6. Aplikasi Kawalan Paparan (Paparan Piksel/Teks/Imej)
- 7 7. Penggunaan yang Sesuai dan Petua Berdasarkan Senario Aplikasi
- 8 8. Soalan Lazim (FAQ)
- 8.1 Q1. Apa perbezaan antara $display dan $monitor?
- 8.2 Q2. Bila saya harus menggunakan $strobe?
- 8.3 Q3. Apa kegunaan penentu format %m?
- 8.4 Q4. Log saya menjadi sangat besar kerana saya menggunakan banyak $display. Apa yang harus saya lakukan?
- 8.5 Q5. Bolehkah $display digunakan untuk sintesis (FPGA/ASIC)?
- 8.6 Q6. Bagaimana saya memaparkan teks atau imej pada perkakasan sebenar?
- 9 9. Kesimpulan & Langkah Seterusnya
1. Pengenalan: Kepentingan dan Tujuan “display” dalam Verilog
Apa Maksud “display” dalam Verilog?
Dalam Verilog, $display ialah tugas sistem yang digunakan sebagai alat untuk “memaparkan” keadaan dalaman sesuatu reka bentuk semasa simulasi. Seperti printf dalam C, ia membolehkan anda mengeluarkan isyarat, nilai pembolehubah, dan rentetan ke terminal atau konsol—memainkan peranan utama dalam penyahpepijatan dan pengesahan fungsi.
Mengapa $display Penting untuk Pembangunan Verilog?
- Kecekapan penyahpepijatan yang dipertingkatkan : Dalam reka bentuk litar yang kompleks, memvisualisasikan sama ada isyarat dalaman berfungsi dengan betul adalah kritikal. Dengan menggunakan
$display, anda boleh serta-merta memeriksa nilai isyarat yang diminati semasa simulasi. - Visualisasi simulasi : Apabila menjejaki peralihan nilai pada titik masa tertentu, bentuk gelombang sahaja mungkin tidak mencukupi. Log paparan menyediakan cara yang boleh dipercayai untuk menandakan detik‑detik tepat tersebut.
- Berguna untuk dokumentasi juga : Apabila menyampaikan niat reka bentuk atau peraturan operasi kepada jurutera lain, menyisipkan log paparan yang beranotasi dapat meningkatkan pemahaman kod.
Tujuan dan Struktur Artikel Ini
Dalam artikel ini, kami akan menerangkan secara berperingkat perkara‑perkara berikut:
- Sintaks asas dan penggunaan : Pengenalan teliti kepada sintaks dan penggunaan asas
$display. - Perbandingan dengan tugas sistem lain : Kami akan menyusun perbezaan antara tugas berkaitan paparan seperti
$write,$strobe, dan$monitor. - Penentu format dan teknik penggunaan lanjutan : Penggunaan penentu format seperti
%d,%b,%h,%s, serta teknik paparan khas akan diperkenalkan. - Contoh penggunaan praktikal : Kami akan menunjukkan contoh konkrit dalam test bench dan kod, memberikan pengetahuan yang boleh diaplikasikan serta‑merta.
- Aplikasi kawalan paparan : Kes penggunaan contoh akan merangkumi output perkakasan seperti LCD atau kawalan monitor serta paparan teks/gambar.
Dengan struktur ini, pengguna baru dan pertengahan dapat memahami $display dalam Verilog dengan betul dan mengaplikasikannya dalam amalan. Dalam setiap bahagian yang berikut, kami akan meneruskan dengan jelas menggunakan contoh dan diagram bila boleh.
2. Asas $display: Sintaks, Kes Penggunaan, dan Langkah Berhati‑hati
Sintaks Asas $display
Apabila menggunakan $display dalam Verilog, sintaks asasnya ialah seperti berikut.
$display("string or format specifiers", signal1, signal2, ...);
- Bahagian rentetan : Tulis apa‑apa teks atau penentu format (contohnya:
%d,%b,%h). - Argumen : Senaraikan nama isyarat atau pembolehubah yang hendak dikeluarkan mengikut format yang bersesuaian.
Contoh: Memaparkan kiraan jam dan nilai isyarat
$display("Time=%0t : clk=%b, reset=%b", $time, clk, reset);
Dalam contoh ini, masa simulasi serta nilai isyarat jam/reset dikeluarkan.
Kes Penggunaan $display
- Mengekalkan kemajuan simulasi Dengan menyisipkan
$displaypada titik‑titik tertentu dalam reka bentuk anda, anda dapat mengesahkan bahagian kod mana yang telah dicapai. - Pengesahan nilai isyarat Walaupun penonton bentuk gelombang menyukarkan pemahaman intuitif cabang bersyarat atau peralihan keadaan, mengeluarkan teks memudahkan pemahaman.
- Paparan mesej bersyarat Dengan menggabungkan bersama pernyataan
if, anda boleh mencatat mesej hanya apabila syarat tertentu dipenuhi.if (reset) $display("Reset asserted at %0t", $time);
Perbezaan Antara $display dan $write
$display secara automatik menambah baris baru pada akhir output. Sebaliknya, $write meneruskan output tanpa menambah baris baru.
Contoh:
$display("Hello");
$display("World");
Output:
Hello
World
$write("Hello");
$write("World");
Output:
HelloWorld
Jika anda memerlukan log baris demi baris yang lebih jelas, gunakan $display. Apabila anda ingin memformat output pada satu baris, gunakan $write.
Lang Berhati‑hati
- Elakkan output berlebihan Jika anda menggunakan
$displaysetiap kitaran jam, log menjadi besar dan kebolehbacaan menurun. → Gunakan penapisan untuk mengurangkan output. - Gunakan paparan masa Memaparkan
$timeatau$realtimemembolehkan anda menangkap masa operasi dengan tepat. - Tugas hanya untuk simulasi
$displaytidak boleh digunakan untuk sintesis (pelaksanaan FPGA/ASIC). Ia merupakan alat debug yang hanya untuk simulasi.
3. Membandingkan Tugas Sistem Output Log: $display, $write, $strobe, $monitor
Verilog menawarkan tugas sistem selain $display untuk output. Kegunaan dan masa pelaksanaannya berbeza, jadi penting untuk memahami cara menggunakannya secara berasingan.
$display: Tugas Paparan Standard
- Ciri-ciri Secara automatik menambah baris baru dan mencatat satu baris bagi setiap panggilan.
- Kegunaan Paling kerap digunakan sebagai kaedah debug asas; anda boleh memanggilnya pada bila-bila masa untuk output sekali.
$write: Paparan Tanpa Baris Baru
- Ciri-ciri Tidak menambah baris baru dan oleh itu output diteruskan pada baris yang sama.
- Kegunaan Berguna apabila anda mahu memaparkan beberapa nilai secara bersebelahan.
- Contoh
$write("A=%d, ", a); $write("B=%dn", b);→ Output:A=5, B=10.
$strobe: Output pada Akhir Kitaran Simulasi
- Ciri-ciri Mencetak nilai selepas semua penilaian simulasi dalam langkah semasa selesai.
- Kegunaan Berguna untuk mengelakkan keadaan perlumbaan (apabila banyak isyarat berubah serentak).
- Contoh
$strobe("Time=%0t, signal=%b", $time, sig);→ Manakala$displaymungkin menunjukkan nilai antara,$strobemenunjukkan nilai yang telah stabil.
$monitor: Output Penjejakan Automatik
- Ciri-ciri Secara automatik output apabila mana-mana isyarat yang dipantau berubah.
- Kegunaan Mudah apabila anda mahu memantau sekumpulan isyarat secara berterusan.
- Contoh
$monitor("At %0t: a=%b, b=%b", $time, a, b);→ Log apabilaaataubberubah.
Jadual Ringkasan
| Tugas | Baris Baru | Masa Output | Kegunaan Utama |
|---|---|---|---|
$display | Ya | Bila dipanggil | Output log asas |
$write | Tidak | Bila dipanggil | Pemformatan baris tunggal |
$strobe | Ya | Selepas kitaran simulasi berakhir | Semak nilai yang stabil |
$monitor | Ya | Automatik bila isyarat berubah | Pemantauan berterusan |
Tips untuk Penggunaan Efektif
- Gunakan
$displaysecara lalai : Mudah dibaca dan sesuai untuk pemula. - Gunakan
$writeapabila anda mahu output gabungan satu baris. - Gunakan
$strobeapabila anda perlukan nilai yang stabil selepas perubahan. - Gunakan
$monitorapabila anda perlukan pemantauan isyarat secara berterusan.
4. Penentu Format dan Teknik Paparan Lanjutan
Dengan tugas seperti $display atau $write, anda boleh menyertakan “penentu format” dalam rentetan untuk memaparkan isyarat atau pembolehubah dalam format yang dikehendaki. Oleh kerana ia menyerupai printf dalam C, penggunaan yang betul mengikut tujuan anda dapat meningkatkan kecekapan debugging secara signifikan.
Penentu Format Asas
| Penentu | Keterangan | Contoh Output |
|---|---|---|
%b | binari | 1010 |
%d | perpuluhan | 10 |
%h | heksadesimal | A |
%o | oktal | 12 |
%c | aksara ASCII | A |
%s | rentetan | Hello |
%t | masa simulasi | #100 dll. |
%m | nama hierarki modul | top.u1.u2 |
Contoh Praktikal
- Paparkan isyarat dalam pelbagai format
reg [7:0] data = 8'b10101010; $display("data = %b (bin), %d (dec), %h (hex)", data, data, data);→ Contoh output:data = 10101010 (bin), 170 (dec), AA (hex) - Semak hierarki modul
$display("Current module hierarchy is %m");→ Contoh output:Current module hierarchy is top.u1.counter - Paparkan masa simulasi
$display("Time=%0t: clk=%b", $time, clk);→ Contoh output:Time=100: clk=1
Teknik Paparan Lanjutan
- Penjajaran sifar & lebar medan Anda boleh menentukan penjajaran sifar atau lebar medan seperti
%0d. Contoh:$display("Count=%04d", count);→ Output:Count=0012 - Perbezaan bertanda vs tidak bertanda
%dmengendalikan nilai sebagai bertanda,%umengendalikan nilai sebagai tidak bertanda. Jika nilai negatif tidak dipaparkan seperti yang dijangka, semak semula penentu format. - Pemformatan mesej berbilang baris Gunakan
nuntuk memecah baris bagi meningkatkan kebolehbacaan. Contoh:$display("Start of testnSignal A=%bnSignal B=%b", A, B);
Langkah Berhati-hati
- Perhatikan lebar bit : Isyarat Verilog mungkin mempunyai lebar yang berbeza; penggunaan
%dboleh menyebabkan pemotongan atau isu peluasan tanda. - Mengendalikan nilai tidak ditakrifkan (X, Z) : Jika anda memasukkan bit yang tidak ditakrifkan, penggunaan
%bakan memaparkanxatauzsecara langsung.
5. Contoh Praktikal: Menggunakan $display dalam Test Bench dan Modul
Dari sini kami akan memperkenalkan penggunaan berkesan $display melalui contoh kod Verilog sebenar, meliputi asas test bench hingga log debug bersyarat.
Contoh Asas: Output dalam Test Bench
Dengan menyisipkan $display ke dalam test bench, anda dapat memerhati tingkah laku semasa simulasi.
module tb_counter;
reg clk;
reg reset;
wire [3:0] count;
// DUT (Device Under Test)
counter uut (
.clk(clk),
.reset(reset),
.count(count)
);
// Clock generation
initial begin
clk = 0;
forever #5 clk = ~clk; // invert every 5 units
end
// Test scenario
initial begin
reset = 1;
#10 reset = 0;
#50 $finish;
end
// Display state
always @(posedge clk) begin
$display("Time=%0t | reset=%b | count=%d", $time, reset, count);
end
endmodule
Dalam contoh ini, setiap naik tepi jam memicu output reset dan count. Oleh kerana anda boleh memeriksa log teks serta gelombang, penjejakan tingkah laku menjadi lebih mudah.
Contoh Paparan Bersyarat
Dengan menggabungkan pernyataan if anda boleh log hanya apabila syarat tertentu dipenuhi.
always @(posedge clk) begin
if (count == 4'd10) begin
$display("Count has reached 10 (Time=%0t)", $time);
end
end
→ Ini membolehkan anda mengelakkan log berlebihan sambil menumpukan pada peristiwa yang penting.
Contoh Mesej Debug
Semasa debugging reka bentuk, adalah berkesan untuk mengesan bila isyarat memasuki “keadaan tidak dijangka”.
always @(posedge clk) begin
if (count > 4'd12) begin
$display("WARNING: count overflow detected! Time=%0t, value=%d", $time, count);
end
end
→ Anda dapat dengan cepat menemui kecacatan reka bentuk atau tingkah laku simulasi yang tidak dijangka.
Memantau Pelbagai Isyarat Secara Serentak
Apabila memaparkan banyak isyarat, mengumpulkannya ke dalam satu baris menggunakan $display menjadikan log lebih mudah dibaca.
$display("Time=%0t | clk=%b | reset=%b | A=%h | B=%h | SUM=%h",
$time, clk, reset, A, B, SUM);

Ringkasan Petua Praktikal
- Letakkan
$displaydalam test bench untuk memvisualisasikan kemajuan - Gunakan cabang bersyarat untuk memperhalus log
- Jana mesej amaran untuk mengesan anomali
- Gabungkan pelbagai isyarat dalam satu baris untuk meningkatkan kebolehbacaan
6. Aplikasi Kawalan Paparan (Paparan Piksel/Teks/Imej)
Sehingga kini, kami telah memperkenalkan $display untuk log simulasi. Pada masa yang sama, Verilog juga banyak digunakan untuk “kawalan paparan” dalam pelaksanaan perkakasan (LCD, VGA, output HDMI). Dalam bahagian ini, kami akan memperkenalkan secara ringkas cara melaksanakan paparan skrin pada tahap perkakasan.
Konsep Asas Kawalan Paparan
Untuk memaparkan teks atau imej pada skrin, anda mesti menjana isyarat video dan bukannya sekadar menggunakan $display.
Isyarat kawalan tipikal termasuk:
- HSYNC (Horizontal Sync) : Isyarat yang menandakan akhir setiap baris
- VSYNC (Vertical Sync) : Isyarat yang menandakan akhir setiap bingkai
- Data RGB : Isyarat yang mewakili warna setiap piksel (contoh, 8bit × 3 = 24bit warna)
Dalam Verilog, anda mengawal isyarat‑isyarat ini melalui kaunter dan mesin keadaan serta mengeluarkannya berdasarkan masa untuk merealisasikan “paparan skrin”.
Contoh 1: Memaparkan Bar Warna
Contoh paling asas ialah memaparkan jalur warna secara mendatar pada paparan.
always @(posedge clk) begin
if (h_counter < 100) rgb <= 24'hFF0000; // red
else if (h_counter < 200) rgb <= 24'h00FF00; // green
else if (h_counter < 300) rgb <= 24'h0000FF; // blue
else rgb <= 24'h000000; // black
end
→ Ini menghasilkan jalur warna merah, hijau, dan biru yang diselaraskan merentasi skrin secara mendatar.
Contoh 2: Paparan Teks
Untuk paparan teks, anda menyediakan ROM fon dan menukar corak titik setiap aksara menjadi piksel.
// Referencing the pattern of 'A' from the font ROM and displaying
if (font_rom[char_code][y][x] == 1'b1)
rgb <= 24'hFFFFFF; // white for display
else
rgb <= 24'h000000; // black background
→ Ini melukis aksara tertentu (contoh, “A”) pada skrin.
Contoh 3: Paparan Imej
Untuk memaparkan imej, anda membaca data bitmap yang disimpan terlebih dahulu (ROM atau memori luaran) dan menukarnya menjadi output piksel.
rgb <= image_rom[addr]; // Retrieve color data from ROM
Dalam sistem terbenam yang menggunakan FPGA, kaedah ini membolehkan anda memaparkan ikon atau logo ringkas.
Perbezaan Berbanding Debug $display
$displayialah output teks (hanya simulasi)- Kawalan paparan ialah penjanaan isyarat video (boleh dilaksanakan pada perkakasan)
Walaupun tujuan mereka berbeza, pelajar Verilog sering keliru antara keduanya.
- “Saya mahu mengesahkan kelakuan semasa simulasi” → Gunakan
$display - “Saya mahu output ke skrin sebenar pada FPGA” → Reka logik isyarat video
Pengembangan Aplikasi
- Dalam pembelajaran papan FPGA, Verilog kerap digunakan untuk paparan LED 7-segmen atau paparan LCD kecil.
- Dengan kemajuan selanjutnya, anda boleh membina sistem yang menyokong output VGA/HDMI untuk pembangunan permainan atau paparan GUI.
- Dengan menggabungkan pengetahuan tentang
$displaydengan logik kawalan paparan, anda boleh mengendalikan “paparan” dalam simulasi dan perkakasan sebenar.
7. Penggunaan yang Sesuai dan Petua Berdasarkan Senario Aplikasi
Apabila kita menyebut “paparan” dalam Verilog, terdapat dua aspek: tugas $display yang hanya untuk simulasi, dan kawalan paparan pelaksanaan perkakasan. Menggunakan masing‑masing dengan betul menghasilkan pembangunan dan penyahpepijatan yang cekap.
Penggunaan dalam Simulasi
$displaysebagai log penyahpepijatan- Outputkan pembolehubah atau isyarat kritikal dengan
$displayuntuk memeriksa sama ada reka bentuk anda berkelakuan seperti yang dijangka. - Mengesahkan “nilai di bawah syarat tertentu” atau “kaunter mencapai titik” melalui log adalah berkesan.
- Outputkan pembolehubah atau isyarat kritikal dengan
- Elakkan output berlebihan
- Mengoutput pada setiap kitaran jam akan membanjiri log dan mengurangkan kebolehbacaan. Persempit syaratnya.
- Contoh:
if (state == ERROR) $display("Ralat berlaku pada %0t", $time);
- Bezakan antara tugas
$monitor→ Untuk isyarat yang anda ingin pantau secara berterusan$strobe→ Apabila anda perlu mengoutput nilai yang telah stabil$write→ Untuk output mendatar berformat
Penggunaan dalam Kawalan Paparan Perkakasan
- Paparan 7-segmen untuk pembelajaran
- Dalam projek pemula FPGA, memaparkan nilai kaunter pada LED 7-segmen adalah standard.
- Gabungkan dengan output simulasi
$displayuntuk memperdalam pemahaman tentang perbezaan paparan vs simulasi.
- Kawalan monitor LCD atau VGA
- Gunakan ROM fon atau ROM imej untuk memaparkan teks atau imej.
- Dengan juga menggunakan
$displaydalam simulasi, anda boleh mengesahkan dua kali bahawa penjanaan isyarat video adalah betul.
- Lapisan penyahpepijatan dalam perkakasan
- Anda boleh menindih “nilai kaunter”, “koordinat”, “mesej penyahpepijatan” pada output video sebenar.
- Dalam pembangunan FPGA, adalah biasa untuk “menjadikan skrin itu sendiri sebagai alat penyahpepijatan”.
Petua Praktikal
- Ikuti aliran simulasi → perkakasan Pertama gunakan
$displayuntuk mengesahkan kelakuan dalam simulasi, kemudian beralih ke logik kawalan paparan untuk pelaksanaan perkakasan. - Gunakan log dan gelombang secara serentak Log teks dari
$displaymenunjukkan “masa berlakunya peristiwa”, manakala gelombang menunjukkan “peralihan terperinci”. Menggunakan kedua-duanya meningkatkan ketepatan penyahpepijatan. - Seragamkan format mesej dalam pembangunan pasukan Menstandardkan format mesej
$display(awalan, paparan masa, dll.) memudahkan analisis log apabila ramai orang bekerja bersama.
Ringkasan
- Tugas jenis
$displayadalah “alat pemerhatian” yang hanya untuk simulasi - Kawalan paparan bermaksud pelaksanaan perkakasan “kaedah paparan”
- Dengan menggunakan masing-masing dengan betul dan menggabungkannya anda dapat membolehkan pembangunan yang cekap
8. Soalan Lazim (FAQ)
Q1. Apa perbezaan antara $display dan $monitor?
A. $display mengeluarkan output sekali pada saat ia dipanggil. Sebaliknya, $monitor secara automatik mengeluarkan output setiap kali isyarat yang dipantau berubah.
- Untuk penyahpepijatan sekali sahaja →
$display - Untuk pemantauan berterusan →
$monitor
Q2. Bila saya harus menggunakan $strobe?
A. $strobe mengeluarkan nilai yang telah stabil pada akhir kitaran simulasi. Contohnya, apabila pelbagai isyarat berubah serentak pada tepi jam, $display mungkin menunjukkan nilai antara. Dalam kes tersebut $strobe memudahkan untuk menunjukkan nilai akhir.
Q3. Apa kegunaan penentu format %m?
A. %m mengeluarkan nama hierarki modul semasa. Dalam reka bentuk yang besar, log “hierarki mana mesej itu datang” memudahkan analisis dengan ketara.
$display("Current module: %m");
Contoh output:
Current module: top.u1.counter
Q4. Log saya menjadi sangat besar kerana saya menggunakan banyak $display. Apa yang harus saya lakukan?
A. Langkah-langkah berikut berkesan:
- Gunakan pernyataan
ifuntuk menapis output - Hanya keluarkan pengesanan ralat atau peristiwa tertentu
- Gunakan
$monitoruntuk memantau hanya isyarat minimum yang diperlukan - Keluarkan ke fail log dan gunakan alat penapisan semasa analisis
Q5. Bolehkah $display digunakan untuk sintesis (FPGA/ASIC)?
A. Tidak. $display adalah tugas yang hanya untuk simulasi. Alat sintesis mengabaikannya jadi tidak muncul dalam perkakasan sebenar. Jika anda ingin memaparkan output pada perkakasan sebenar, anda mesti mereka bentuk dengan “LED 7‑segmen”, “LCD”, “logik kawalan VGA”, dll., dalam Verilog.
Q6. Bagaimana saya memaparkan teks atau imej pada perkakasan sebenar?
A. Bukan melalui $display, tetapi dengan menjana isyarat video.
- Paparan 7‑segmen → Untuk paparan nombor atau aksara ringkas
- VGA/LCD → Menjana isyarat HSYNC, VSYNC, RGB dan mengawalnya
- Teks → Menggunakan ROM fon dan mengeluarkan corak titik
- Imej → Menyimpan bitmap dalam ROM atau memori luaran dan mengeluarkan piksel mengikut keperluan
9. Kesimpulan & Langkah Seterusnya
Ringkasan Artikel Ini
Dalam artikel ini kami membincangkan “display” dalam Verilog dari asas hingga aplikasi. Titik utama termasuk:
- Asas
$display
* Tugas simulasi yang memaparkan isyarat atau pembolehubah, boleh digunakan serupa denganprintfdalam C. - Perbezaan dengan tugas berkaitan
*$write→ Papar tanpa baris baru
*$strobe→ Keluarkan nilai yang telah stabil pada akhir kitaran simulasi
*$monitor→ Memantau perubahan isyarat secara automatik - Menggunakan penentu format
* Dengan menggunakan%b,%d,%h,%m,%t, anda dapat mengeluarkan log yang lebih jelas dan praktikal. - Contoh praktikal
* Sisipkan$displayke dalam test bench untuk memantau kemajuan.
* Gunakan mesej bersyarat untuk membolehkan penyahpepijatan yang cekap. - Aplikasi dalam kawalan paparan
*$displayhanya untuk simulasi; pelaksanaan perkakasan menggunakan HSYNC, VSYNC, RGB untuk memaparkan teks/imej.
* Dari mempelajari paparan 7‑segmen hingga kawalan VGA/HDMI lanjutan, pelbagai pengembangan boleh dilakukan.
Langkah Seterusnya
- Maju ke SystemVerilog → Dalam bahasa penerus SystemVerilog, anda boleh menggunakan ciri debug yang lebih maju (penegasan,
$displayyang dipertingkatkan, dll.). - Gabungkan dengan penonton gelombang → Dengan menggabungkan log
$displaydan data gelombang, anda dapat menganalisis kedua-dua nilai numerik dan peralihan, meningkatkan ketepatan debugging. - Pelajari output paparan perkakasan → Dalam projek papan FPGA kecil, cuba output pada 7‑segmen atau LCD untuk merasai perbezaan antara “paparan simulasi” dan “kawalan paparan perkakasan”.
- Gunakan dalam pembangunan berpasukan → Dengan menstandardkan format mesej
$display, anda meningkatkan kecekapan analisis log dalam pembangunan berbilang orang.
Kesimpulan
$display lebih daripada sekadar “output teks”. Ia merupakan alat yang kuat untuk debugging simulasi. Dan apabila anda melangkah ke dunia kawalan paparan, anda dapat merasai kegembiraan memaparkan grafik pada monitor sebenar melalui FPGA.
Saya harap artikel ini membantu pelajar Verilog memahami dengan jelas kedua-dua “debugging simulasi” dan “output paparan perkakasan”.

