<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Art of FPGA Design - Post 29</title><link>/technologies/fpga-group/b/blog/posts/the-art-of-fpga-design---post-29</link><description>The DSP48 Primitive - Complex multipliers Traditionally a complex multiplication can be decomposed into four real multiplications and two additions: x+i·y=(a+i·b)(c+i·s)=(a·c−b·s)+i·(a·s+b·c) where i=√−1 ...</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: The Art of FPGA Design - Post 29</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/the-art-of-fpga-design---post-29</link><pubDate>Tue, 23 Jul 2024 20:53:25 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a87ca903-c270-44d7-acd4-7a1a819a127a</guid><dc:creator>hcommin</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;The &amp;quot;lifting&amp;quot; technique sounds very interesting, but I can&amp;#39;t imagine storing (1+s)/c in a LUT (directly) because that&amp;#39;s going to explode towards +/- infinity around pi/2. There might be some clever trick to avoid needing to store the huge values, but it&amp;#39;s not immediately obvious to me how to do it.&lt;/p&gt;
&lt;p&gt;I also wonder about the memory requirement. Assuming the full sine period is needed (like in a mixer, but not an FFT), sine and cosine can be easily generated from just 1/4 of a sine period (or, less elegantly, from 1/8 of a sine and 1/8 of a cosine) stored in a LUT. Do&amp;nbsp;similar symmetries exist in the &amp;quot;lifting&amp;quot; method, which could be exploited to reduce the memory requirement?&lt;/p&gt;
&lt;p&gt;And, of course, I wonder about the numerical accuracy. How does the fixed-point error of &amp;quot;lifting&amp;quot; compare with an ordinary sine LUT (with the same word width)?&lt;/p&gt;
&lt;p&gt;My gut feeling is that there is a heavy price to pay in order to save a couple of adders. I really hope I&amp;#39;m wrong because it&amp;#39;s a fascinating idea.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=7226&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>