Dopolnjujejo Prijava Verilog 2 je obseg pretvorbe

A

analog_fever

Guest
Za velikost znak na 2 posadka konverzijo (in obratno) v Verilog delam naslednje: 32 bit binarni vhod -, MSB bit je znak tako za znak velikosti in dopolnjujejo 2 na številke. 32 bit rezultat - B if (A [31]) B = {[31], (~ [30:0] + "b1)} else B = enako funkcijo pa oba pretvorbe. Zdaj, če je A = 32'b1000000_00000000_00000000_00000000 (negativna nič, znak velikosti), sem pričakoval, da bi dobili 32'b10000000_00000000_00000000_00000000 v B. Za = 32'b10000000_00000000_00000000_00000000, bo izračun na desni strani enačbe 33'b11000000_00000000_00000000_00000000. Kateri je seveda napačen odgovor zaradi overflow. Vendar vidim 32'b0 v B, iz moje simulacijo. Ali lahko nekdo pomaga - 1. Sem kaj spregledal? 2. Sem uporabo pravilne metode za dopolnjujejo 2 je - pretvorba znak velikosti, in obratno?
 
nič ne imenuje "-ve nič", v 2 je dopolnilo. menijo, 3 malo več. V znak velikosti obliki 000 = 0 001 = 1 010 = 2 011 = 3 100 = -0 101 = -1 110 = -2 111 = -3 V 2 posadka obliki 000 = 0 001 = 1 010 = 2 011 = 3 100 = -4 101 = -3 110 = -2 111 = -1 Vedite, da je znak, velikosti -0, ki manjka v pojasnilu dopolnjujejo 2, da je dopolnila 2 je -4, ki manjka v znak-velikosti. zato poskrbite, da vaš Verilog kodo računov za to zadevo.
 

Welcome to EDABoard.com

Sponsor

Back
Top