Comment Verilog se comporter avec les nombres négatifs?

Par exemple, dire que j'ai un reg [7:0] myReg
Je affectez-lui la valeur -8'D69

Je sais Verilog stocke sous forme de complément de 2 il doit donc être stocké comme

10111011

La question que je me pose maintenant est de savoir si je devais effectuer une opération sur elle, dire myReg/2

Serait-il évaluer à -34? Ou faudrait-il 10111011 et de le transformer en 187 puis effectuer les opérations de division, de retour de 93?

Vous devez également déclarer des nombres signés en tant que tel. reg signed [7:0] my_reg
Vous pouvez utiliser >>> 1 pour effectuer un signe étendu de diviser par 2. (s'il est déclaré comme un type signé).

OriginalL'auteur wonton | 2012-09-13