<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Signed arithmetics in Verilog: The only rule one needs to know</title>
	<atom:link href="http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/feed/" rel="self" type="application/rss+xml" />
	<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/</link>
	<description>Anything I found worthy to write down.</description>
	<lastBuildDate>Sun, 29 Nov 2020 17:07:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>By: Dave</title>
		<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/comment-page-1/#comment-1526</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Sun, 15 Nov 2020 19:26:23 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=3289#comment-1526</guid>
		<description>I avoid declaring signed type altogether. Much easier to just manage 2s complement sign explicitly. I have seen inconsistency in how signed type is handled between different simulators and compilers.</description>
		<content:encoded><![CDATA[<p>I avoid declaring signed type altogether. Much easier to just manage 2s complement sign explicitly. I have seen inconsistency in how signed type is handled between different simulators and compilers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim</title>
		<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/comment-page-1/#comment-1436</link>
		<dc:creator>Tim</dc:creator>
		<pubDate>Tue, 23 Jul 2019 11:58:30 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=3289#comment-1436</guid>
		<description>Hey Eli,


thanks for your great blog, it helped me a lot so far! :)


Just recently I realized another issue with Verilog signed operations in Cadence:
I declared two 16-bit operands, one signed &amp; one unsigned. Then I executed the following operation:

prod = $signed(op_a_signed * op_b_unsigned);

and it turned out that the result returned by the typecast $signed() was also a 16-bit value (LSBs) unlike the result reg (prod) which was declared as a 32-bit value.


So apparently the typecasts $signed() or $unsigned() return a value with bitness of the operands, not the bitness of the value the result is returned to.


Maybe this helps someone!</description>
		<content:encoded><![CDATA[<p>Hey Eli,</p>
<p>thanks for your great blog, it helped me a lot so far! :)</p>
<p>Just recently I realized another issue with Verilog signed operations in Cadence:<br />
I declared two 16-bit operands, one signed &amp; one unsigned. Then I executed the following operation:</p>
<p>prod = $signed(op_a_signed * op_b_unsigned);</p>
<p>and it turned out that the result returned by the typecast $signed() was also a 16-bit value (LSBs) unlike the result reg (prod) which was declared as a 32-bit value.</p>
<p>So apparently the typecasts $signed() or $unsigned() return a value with bitness of the operands, not the bitness of the value the result is returned to.</p>
<p>Maybe this helps someone!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yan</title>
		<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/comment-page-1/#comment-1318</link>
		<dc:creator>Yan</dc:creator>
		<pubDate>Wed, 07 Mar 2018 01:27:21 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=3289#comment-1318</guid>
		<description>Good point!</description>
		<content:encoded><![CDATA[<p>Good point!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pedro</title>
		<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/comment-page-1/#comment-1214</link>
		<dc:creator>Pedro</dc:creator>
		<pubDate>Thu, 27 Oct 2016 18:06:08 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=3289#comment-1214</guid>
		<description>I also find that arrays of signed numbers do not work as expected. Verilog signed math is fraught with hazards.</description>
		<content:encoded><![CDATA[<p>I also find that arrays of signed numbers do not work as expected. Verilog signed math is fraught with hazards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SHUBHAM</title>
		<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/comment-page-1/#comment-1180</link>
		<dc:creator>SHUBHAM</dc:creator>
		<pubDate>Thu, 21 Apr 2016 18:35:33 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=3289#comment-1180</guid>
		<description>thanks to you bro</description>
		<content:encoded><![CDATA[<p>thanks to you bro</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/comment-page-1/#comment-1075</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 31 Mar 2015 16:52:39 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=3289#comment-1075</guid>
		<description>Thanks</description>
		<content:encoded><![CDATA[<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oggy</title>
		<link>http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/comment-page-1/#comment-946</link>
		<dc:creator>Oggy</dc:creator>
		<pubDate>Mon, 19 May 2014 13:35:43 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=3289#comment-946</guid>
		<description>Thank you, man. I thought I was crazy.</description>
		<content:encoded><![CDATA[<p>Thank you, man. I thought I was crazy.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
