2016-05-30 140 views
0

我想在Verilog中輸出固定點值。 一般情況下,我用這樣的方法(I'don't知道這是什麼所謂) 例如,如何在verilog中取出定點值?

output = 0.248*5 
output = ((0.248 << 8) * 5) >> 8; 

但是在他的情況下,輸出僅有整數。

我想獲得定點小數部分。

如何處理verilog中的定點值?

+1

可以顯示輸出的定義,你是如何獲取值,顯示?或傳遞給另一個模塊。 Verilog沒有固定點類型,所以你必須使用縮放整數。您還需要定義您的定點格式。 – Morgan

+0

@Morgan謝謝摩根。實際上,我有兩種類型的輸出方式,一種是顯示,一種是傳遞給另一個模塊。 – nashile

回答

0

計算並與8位小數顯示:

integer out; 

initial begin 
    out = ((0.248 * 2**8) * 5); 
    $display("%f", $itor(out)*(2.0**-8.0)); 
end 
+0

你會讓我知道這個方法是什麼嗎? – nashile

+0

親愛的摩根,如果我必須處理浮點計算,棘手,我可以將浮點計算轉換爲固定點嗎?或者我應該以另一種方式? – nashile

+0

對不起@nashile不太理解你的問題。你必須定義你的變量,Verilog只有實數(浮點數)和整數。固定點值必須根據您需要的小數位數來擴大。爲了解釋這個值,例如,對於$ display,你縮小了,但是這個數字被存儲爲一個整數。它只是**縮放整數**。 – Morgan