Daftar Isi:

VHDL Stopwatch: 8 Langkah (dengan Gambar)
VHDL Stopwatch: 8 Langkah (dengan Gambar)

Video: VHDL Stopwatch: 8 Langkah (dengan Gambar)

Video: VHDL Stopwatch: 8 Langkah (dengan Gambar)
Video: How to create a timer in VHDL 2024, Juli
Anonim
Stopwatch VHDL
Stopwatch VHDL

Ini adalah tutorial cara membuat stopwatch menggunakan VHDL dan papan sirkuit FPGA, seperti Papan Basys3 Atrix-7. Stopwatch mampu menghitung dari 00.00 detik hingga 99,99 detik. Ini menggunakan dua tombol, satu untuk tombol start/stop dan satu lagi untuk tombol reset. Angka-angka ditampilkan pada layar tujuh segmen papan menggunakan anoda dan katodanya. Ada tiga file berbeda yang diperlukan agar stopwatch ini berfungsi.

Langkah 1: Perangkat Keras/Perangkat Lunak

  • Papan FPGA Basys3 Atrix-7
  • Suite Desain Vivado dari Xilinx
  • USB 2.0 A Male ke Micro-B Male

Langkah 2: Blok Diagram

Diagram Blok
Diagram Blok

Stopwatch keseluruhan memiliki tiga input dan dua output. Tiga input tersebut adalah start/stop, reset, dan clock. Start/stop dan reset adalah tombol dan jam adalah jam 100MHz papan. Dua output adalah anoda dan katoda untuk tampilan tujuh segmen.

Modul pertama (pembagi jam) memiliki satu masukan dan dua keluaran. Masukannya adalah jam papan 100MHz dan keluarannya adalah dua jam terpisah, satu berjalan pada 480Hz dan satu lagi menjalankan 0,5MHz.

Modul kedua (tampilan) memiliki lima input dan dua output. Inputnya adalah jam 100MHz papan, dua jam dari modul pembagi jam, dan tombol start/stop dan reset. Outputnya adalah anoda dan katoda.

Modul terakhir (dimodelkan oleh seluruh diagram blok) memiliki tiga input dan dua output. Ini adalah file yang menyatukan semuanya. Inputnya adalah 100MHz board dan tombol start/stop dan reset. Outputnya adalah anoda dan katoda yang mengontrol tampilan tujuh segmen. Semua input dan output secara fisik ada di papan untuk modul terakhir.

Langkah 3: Diagram Status

Diagram Negara
Diagram Negara

Gambar di atas menunjukkan diagram status cara kerja stopwatch. Menekan tombol reset tidak mempengaruhi status stopwatch. Status selanjutnya ditentukan oleh tombol start/stop. Mulai/berhenti adalah "TINGGI" saat ditekan, tetapi tidak saat ditekan, dan "RENDAH" saat tombol memantul kembali atau ditahan setelah "TINGGI" sejenak.

Jika stopwatch menghitung dan tombol start/stop berbunyi "TINGGI", maka stopwatch berhenti menghitung. Jika stopwatch dihentikan dan tombol start/stop berbunyi "TINGGI" maka stopwatch mulai menghitung lagi. Untuk kedua status, jika tombol mulai/berhenti adalah "RENDAH", maka itu akan tetap dalam status saat ini.

Langkah 4: Modul Pembagi Jam

Modul pembagi jam memiliki satu masukan, jam papan 100MHz, dan dua keluaran, jam 480Hz dan 0,5MHz. Jam 480Hz digunakan untuk membuat semua LED pada tampilan tujuh segmen "aktif" pada saat yang sama dengan beralih melalui empat secara cepat. Jam 0.5MHz digunakan untuk stopwatch untuk benar-benar menghitung dengan centi-detik.

Langkah 5: Modul Tampilan

Modul tampilan ini memiliki lima input, jam papan 100MHz, dua jam dari modul jam, dan tombol start/stop dan reset, dan dua output, anoda dan katoda. Modul ini juga memiliki "logika" tentang bagaimana stopwatch menghitung dan menggabungkan mesin keadaan terbatas.

Langkah 6: Modul Binding

Modul terakhir ini adalah modul yang menyatukan dua modul lainnya. Ini memiliki tiga input, jam papan 100MHz dan tombol start/stop dan reset, dan dua output, anoda dan katoda. Jam 100MHz masuk ke modul pembagi jam dan modul tampilan, dan tombol start/stop dan reset masuk ke modul tampilan. Output dari modul pembagi jam (480Hz dan 0.5MHz) menuju ke dua input jam dari modul tampilan. Output dari modul tampilan (anoda dan katoda) menuju ke output modul akhir.

Langkah 7: Kendala

Kendala
Kendala

Kedua input dapat berupa tombol apa saja pada Basys3 Atrix-7 FPGA Board dan outputnya adalah empat anoda dan delapan katoda (karena Anda juga menginginkan titik desimal antara detik dan milidetik) untuk tampilan tujuh segmen.

Langkah 8: Selesai

Unggah program ke Basys3 Atrix-7 FPGA Board Anda dan tekan tombol start/stop Anda untuk mengaktifkan stopwatch!

Direkomendasikan: