5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【std_logic】Verilog VHDLスレ【16'hFFFF】

454 :名無しさん@3周年:04/11/05 01:19:12 ID:f0UORtwd
正の数と、2の補数で表現された値の足し算について教えて下さい。
例えば、
reg [6:0]  position;
reg [3:0]   diff;
で、positionは正の整数、diffは、2の補数です。
で、この二つを足した時にオーバーフローおよびアンダーフロー時は
クリップしたいです。
僕の考えた記述は
position_add[7:0] = {1'b0,position_add[6:0]} + {{4{diff[3]}},diff[3:0]} ;
position_add_clipped[6:0] = position_add[7] & diff[3] ? 7'h00 :
position_add[7] & ~diff[3] ? 7'b1111111 : position_add[6:0] ;
だったと思います。(会社なのでうろ覚えです)
もっと、いい記述方法はありますか?integer宣言とか使うと簡単にかけそうな
気もするのですが、わかりませんでした。
よろしくお願いします。

127 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)