有符號數溢位發生有兩種情況:正正相加得負,負負相加得正(其實負負相加是各自的補碼相加)。
module top_module (
input [7:0] a,
input [7:0] b,
output [7:0] s,
output overflow
); //
assign s = a + b;
assign overflow =
( a[7]
&& b[7]
&& ~s[7])||
(~a[7]
&& ~b[7]
&& s[7]);
endmodule
解析:
assign s = a + b ;//兩個8bit數相加
assign overflow =assign overflow = ( a[7] && b[7] && ~s[7] ) || (~a[7] && ~b[7] && s[7]);// 邏輯或。表示至少出現這兩種情況之一時輸出為真為1。
兩種情況之一: a 正 b 正,求和之後的 s 為負
兩種情況之二: a 負 b 負,求和之後的 s 為正
assign overflow = ( a[7] && b[7] && ~s[7] ) || (~a[7] && ~b[7] && s[7]); //用來判斷有符號數的溢位
FPGA初學者 個人學習筆記(二)
有重複操作時 重複操作指的是對向量中多個位操作 進行多個模組的例項引用 可以根據某些引數的定義來選擇性的執行以編輯的 我的理解就是相當於在乙個大的 塊中選擇合適的小的 塊來執行。generate for generate if generate case 必須有genvar關鍵字定義for語句的變數...
Linux 初學者筆記
我是乙個徹底的linux初學這,從接觸到寫這個東西只有2天的時間。但是這兩天的時間真的又充實有快樂。我想把這兩天發生的是 些下來,對自己是個紀念 也希望對比我更初級的初級使用者有所幫助。這裡寫的方法都是在 http forum.ubuntu.org.cn 裡面搜到的方法!感謝這個論壇,感謝這裡面的熱...
初學者的筆記!!!
幾天不更新了!出差偷懶都是理由,主要是偷懶吧!出差只是乙個藉口!為了盡快學習 因為大公司進不去 所以主動來到一家小公司。本來以為會好好學 有大佬會貼身講解。但半個月的裝置除錯經歷讓我知道了,沒有這麼簡單。今天聽了好不容易可以聽一下大佬是怎麼改錯誤的。畢業兩年的大佬,也是我現在可以遇見的幾乎是最大的大...