Cara membuat program VHDL pertama Anda:Halo Dunia!
Saat mempelajari bahasa pemrograman baru, saya selalu suka memulai dengan belajar cara mencetak. Saat Anda menguasai keluaran "Hello World!", Anda tahu bahwa Anda telah membuat lingkungan bekerja. Ini juga menunjukkan kerangka dasar bahasa, kode minimum yang diperlukan untuk menghasilkan keluaran apa pun.
Anda mungkin berpikir:tetapi VHDL adalah bahasa deskripsi perangkat keras, bagaimana bisa menampilkan teks sama sekali? Anda akan memerlukan layar yang terhubung ke FPGA atau sesuatu dan segala macam logika di antaranya, dan itu tidak akan sederhana sama sekali. Meskipun semua ini benar, mari kita lupakan sejenak FPGA dan ASIC dan fokuskan perhatian kita pada bahasa VHDL.
Pos blog ini adalah bagian dari seri Tutorial VHDL Dasar.
VHDL dapat dianggap sebagai bahasa pemrograman paralel, oleh karena itu kita dapat menggunakan pendekatan programmer ini untuk mempelajarinya. Karena kami menggunakan bahasa untuk menggambarkan sirkuit digital, satu-satunya cara kami dapat menjalankannya di komputer kami adalah dengan menggunakan simulator , dan simulator pasti mampu mengeluarkan "Hello World!" ke layar.
Cara memasang simulator dan editor VHDL secara gratis
Olahraga
Video tutorial ini akan menunjukkan cara membuat program VHDL pertama Anda:
Kode terakhir yang kita buat:
entity T01_HelloWorldTb is
end entity;
architecture sim of T01_HelloWorldTb is
begin
process is
begin
report "Hello World!";
wait;
end process;
end architecture;
Output ke konsol simulator saat kita menekan tombol run di ModelSim:
Pada dua baris pertama, kami mendeklarasikan entitas . Entitas modul mendeklarasikan input dan outputnya. Agar modul dapat dijalankan dalam simulator, ia tidak dapat memiliki input atau output apa pun. Oleh karena itu modul kami tidak memiliki apa pun selain deklarasi entitas kosong.
Selanjutnya, kami mendeklarasikan arsitektur dari modul. Sementara entitas adalah antarmuka modul ke dunia luar, arsitektur adalah implementasi internalnya. Sebuah modul mungkin memiliki beberapa arsitektur yang dapat digunakan dengan entitas yang sama. Saya tidak akan terlalu khawatir tentang hal-hal ini pada saat ini karena ini adalah fitur VHDL lanjutan.
Di dalam arsitektur, kami mendeklarasikan proses . Untuk saat ini, kita dapat menganggap sebuah proses sebagai utas dalam program kita, di mana segala sesuatunya terjadi secara berurutan.
Di dalam proses, kami mencetak "Hello World!" menggunakan report kata kunci. Di baris berikutnya, ada satu wait; . Ketika simulator mencapai garis ini, tidak ada lagi yang akan terjadi. Prosesnya akan menunggu di sini selamanya.
Ketika kami mensimulasikan desain ini di ModelSim, kami dapat melihat "Hello World!" dicetak ke output konsol. Setelah itu, tidak ada lagi yang terjadi.
Bawa Pulang
Anda dapat menganggap proses sebagai rangkaian program
report pernyataan mencetak teks ke konsol simulator
Eksekusi suatu proses akan menunggu selamanya pada wait; pernyataan