Cara menggunakan variabel dalam VHDL?

G

Goodman

Guest
Hi all,

Seperti judul!!
Plz berbagi pengalaman!

have a nice day!

 
Variabel Verilog
1.simulasi
Untuk simulasi perbedaan antara sinyal dan variabel yang benar-benar jelas.mendapatkan nilai variabel langsung, tetapi sinyal ini mendapatkan nilai baru setelah semua waktu DELTA langkah saja.

2.Sintesis
Untuk sintesis, orang tidak dapat c; learly mengatakan bahwa variabel tidak akan disintesis.Itu semua tergantung pada pengkodean.tapi lebih baik mengikuti beberapa aturan (ex: variabel dalam FO loop, penggunaan variabel untuk memeory, .... dll) untuk penggunaan yang tepat variabel.Dalam kasus di atas variabel akan memberikan hasil yang lebih baik dalam sintesis bila dibandingkan dengan sinyal.Tapi sinyal tetap digunakan untuk semua implementasi desain.Jadi, titik synthesys melihatnya sangat diffcicult untuk distuinguish antara sinyal dan variabel, itu semua tergantung pada pengkodean.

 
Goodman wrote:

Hi all,Seperti judul!!

Plz berbagi pengalaman!have a nice day!
 
vs sinyal variabel
(1) Fisik makna
Sinyal mewakili interkoneksi fisik (kawat) yang berkomunikasi antara proses (fungsi).

Variabel tidak memiliki arti fisik, tidak ada dalam rangkaian nyata, terutama digunakan untuk simulasi, mewakili penyimpanan lokal.Seperti sebuah variabel dalam C atau Pascal, sebuah variabel dalam VHDL dengan hanya membawa satu potongan informasi: nilai saat ini.

(2) Delay
Sinyal tugas dapat memiliki keterlambatan, update pada akhir process.It penting untuk menyadari bahwa bahkan tanpa setelah klausa, semua tugas sinyal terjadi dengan beberapa penundaan sangat kecil, yang dikenal sebagai delta penundaan.Secara teknis, delta penundaan itu tidak ada unit diukur, tetapi dari perspektif desain hardware Anda harus memikirkan penundaan delta sebagai satuan waktu terkecil, anda bisa mengukur, seperti femtosecond.

Penempatan variabel diperbarui segera

(3) Defination
Sinyal tidak dapat didefinisikan dalam proses dan sub (termasuk fuction dan prosedur), harus didefinisikan di luar mereka
Variabel hanya dapat difined dalam proses dan sub (termasuk fuction dan prosedur), tidak boleh didefinisikan di luar.Berikut ini adalah dua contoh klasik untuk menjelaskan kepada differents antara sinyal dan variabel
---------- Untuk sinyal -----------------
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY C1 adalah
PORT (IP: dalam std_logic;
CP: di std_logic;
OP: keluar std_logic
)
END C1;
ARSITEKTUR sebuah OF C1 IS
sinyal d: std_logic;
BEGIN
proses (CP, IP)
mulai
jika CP'event dan CP = '1 'lalu
D <= IP;
OP <= D;
end if;
proses akhir;
END a;
_________For Variable_________________________
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY C2 adalah
PORT (IP: dalam std_logic;
CP: di std_logic;
OP: keluar std_logic
)
END C2;
ARSITEKTUR sebuah OF C2 IS
BEGIN
proses (CP, IP)
variabel D: std_logic;
mulai
jika CP'event dan CP = '1 'lalu
D: = IP;
OP <= D;
end if;
proses akhir;
END a;

 
Variabel dalam VHDL memiliki properti berurutan.Sementara proses melaksanakan perubahan sinyal dilakukan setelah jam jika itu adalah proses clock.Tetapi variabel di sisi lain perubahan simultanously pada selang waktu yang sama.Mereka mirip dengan kawat di sirkuit nyata dan mereka digunakan untuk model masukan terjaga keamanannya mengatakan Din dikontrol melalui beberapa combinational ckt dan terkunci.

Variabel ini sangat berguna jika kita ingin menulis jenis C coding

 
hai
kemudian melakukan u bermaksud mengatakan, bahwa variabel tidak synthesizable dalam VHDL???

 

Welcome to EDABoard.com

Sponsor

Back
Top