[Libre-soc-dev] clamping/saturation semantics
hendrik at topoi.pooq.com
Sat Dec 12 16:55:16 GMT 2020
On Sat, Dec 12, 2020 at 06:33:57PM +0200, Lauri Kasanen wrote:
> On Sat, 12 Dec 2020 10:53:34 +0000
> Luke Kenneth Casson Leighton <lkcl at lkcl.net> wrote:
> > also should op be always done at src width?
> > in SV spec it states ops to be done at dest width. clearly not for
> > sat ops. which has me wondering if all ops should be done at
> > srcwidth.
> > including FP.
> All ops should be done "as if" they were done at srcwidth. This means
> all results will be correct, but the hw can optimize and go faster in
> some cases.
> Ex: u16+u16=u8 can be done at 8-bit width and the result is still
> But s16-s16=s8 cannot. Consider 1-256 - if that op was done at 8-bit
> width, it would become 1-0=1. When the correct result is -255 (0xfeff),
Would the correct result not be 0xff01 ?
> which then gets chopped preserving sign to -1 (0xff).
> - Lauri
> Libre-soc-dev mailing list
> Libre-soc-dev at lists.libre-soc.org
More information about the Libre-soc-dev