Selain & banding dalam VHDL ...

S

sp

Guest
'a' dan 'b' adalah std_logic_vector (3 downto 0), termasuk paket unsigned

b <= a '1 ';

untuk tambahan di atas ...penambahan dilakukan wth <a "0001"> atau <a "1000">??

i do tht n seperti quartus2 tidak menunjukkan kesalahan ...

'a' adalah 4 bit, tetapi '1 'adalah salah satu bit,,, tetapi dapat menambahkan bersama?? ..apakah itu tidak membutuhkan lebar yang sama untuk menambahkan bersama? ...

saya mencoba untuk membaca paket arith tetapi saya tidak dapat mengerti tampaknya gumpalan yang tertulis di sana,,, pengalaman tidak Enuff

<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />--------------------------------------------------

dan untuk komparator ...itu membandingkan dari paling kiri atau paling kanan? ... MSB LSB membandingkan membandingkan pertama atau pertama? ..

terima kasih ....

salam,
sp

 
Pertanyaan bagus!

b <= a '1 '; ini akan mensintesis untuk incrementor

b <= a '0001 '; ini akan mensintesis untuk seorang penambah

Pikirkan tentang hardware sebenarnya Anda ingin menerapkan dan kemudian menulis Verilog
kode untuk hanya menguraikan hardware.

Hal ini berlaku untuk pertanyaan komparator ur juga!
Hope this helps!

 
terima kasih nand_gate untuk membantu ...

jadi jika saya hanya ingin menambahkan satu, sehingga tidak membuat diff di inkremental dan adder, kan?

(a "0.001") = (a '1 ') ???????

apakah sama kemudian ??...

u bcos jika ingin menambahkan satu untuk 32bits, maka u akan memerlukan 31 unit angka nol di depan??

dan dan menggulung i dimaksud dalam posting pertama saya jika u do tht
b <= a '1 ';

akan melakukan <a "0001"> atau <a "1000">??
jika '1 'adalah juga std_logic jenis ...

banyak terima kasih ..

salam,
sp

 
Mengenai penambahan VHDL:

1.

The result of addition's lenght is the maximum length of the operands. 2.Menambahkan didefinisikan untuk ditandatangani, unsigned & overriden untuk std_logic_vector.
3.Operand harus dari jenis yang sama, kecuali menambah konstan seperti dalam kasus Anda.
4.Operand yang terkecil akan diperluas untuk menyesuaikan ukuran yang lebih besar sesuai dengan jenis Operand.Ditandatangani oleh yang diperluas.
5.Mengenai kasus Anda:Kode:

b <= a '1 ';
 
terima kasih .... amraldo

i mengerti bahkan lebih sekarang ....

ieee.std_logic_unsigned.all digunakan ....
a std_logic_vector (3 downto 0)
b std_logic_vector (4 downto 0)
jadi jikaKode:

b <= (0 & a) '11 ';
 
Saya kira dari akhir Anda posting Anda ingin model yang membawa keluar.Cara yang Anda lakukan adalah mutlak benar.
Tapi bagaimana pemodelan yang membawa masuk?
Jika Anda menulis:
Kode:

a, b: di std_logic_vector (3 downto 0);

cin: di std_logic;

c: out std_logic_vector (4 downto 0);

...

c <= a b cin;
 
terima kasih atas bantuan ur ....i am tidak berpikir melakukan pula dibawa dalam ....

i am melakukan perkalian floating point ....hanya tht ketika saya ingin menambahkan '1 'biner ke sinyal ...i am malas untuk mengetik di begitu banyak '0 'bit (32bits adalah gumpalan i am melakukan

<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />

)....

so i coba wth a '1 'kedua hav diff panjang tapi tidak ada kesalahan ...jadi i am bertanya-tanya bagaimana '1 'dapat menambah' a 'jika' a 'adalah 4 bit ...yang '1 'adalah menafsirkan sebagai 0.001 atau 1000 ...

tetapi orang terus menceritakan hal-hal lain .....

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Sedih" border="0" />

hehehe

so i keluar satu lagi .... a '11 '...jadi pertanyaan saya adalah 11 adalah menerjemahkan untuk 0.011 atau 1100 ....i membaca paket arith ...ni hampir pingsan

<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />

i am masih cukup baru untuk VHDL ...

terima kasih semua orang untuk membantu,,, i am berterima kasih ...
tapi tolong jawab pertanyaan saya ...

salam,
sp

 

Welcome to EDABoard.com

Sponsor

Back
Top