2
在系統Verilog中是否有任何支持超過32位的系統函數?我想將實值數量轉換爲包含多於32位的整數值。 $ rtoi()系統函數正是我想要的值,可以表示爲32位或更少。有沒有內置的,或者我需要寫我自己的?將實數值轉換爲大於32位的整數值的最佳方法是什麼?
對於一個具體的例子,我想能夠做到像下面這樣:
logic [41:0] test_value;
initial begin
test_value = $rtoi($pow(2.0, 39.5));
end
哪裏,而不是$ rtoi(),我會使用系統功能追捧未知。鑑於正確的功能,我希望這會導致test_value被初始化爲位序列42'b1011010100000100111100110011001111111001
或可能的42'b1011010100000100111100110011001111111010
如果支持四捨五入。
我可以寫自己的功能,但我想避免重新發明車輪,除非沒有車輪。
謝謝您的回答,@ dave_59。那些都爲我工作。僅供參考:顯式類型轉換中存在拼寫錯誤,聲明的標識符是uint42_t,並且轉換具有額外的下劃線uint_42_t ...我試圖修復它,但它不允許我,因爲我沒有更改至少6個字符。 – hops