<?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>Fast VHDL CORDIC Sine and Cosine Component on Lattice XP2 Device Using Diamond 3.12</title><link>/technologies/fpga-group/b/blog/posts/fast-vhdl-cordic-sine-and-cosine-component-on-lattice-xp2-device-using-diamond-3-12</link><description>Introduction
This is still work in progress - I&amp;#39;ve only reached the simulation phase and haven&amp;#39;t tried it on a device yet - but I thought it might be of some interest.
Back when I did my &amp;#39;Making Waves&amp;#39; blogs [1], I implemented a fast, unrolled, pipel</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Fast VHDL CORDIC Sine and Cosine Component on Lattice XP2 Device Using Diamond 3.12</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/fast-vhdl-cordic-sine-and-cosine-component-on-lattice-xp2-device-using-diamond-3-12</link><pubDate>Wed, 05 Apr 2023 09:22:14 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:57a43077-0181-43e5-a230-f25f8b9053d9</guid><dc:creator>jc2048</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Just to emphasise that this is still work in progress, here are the sine and cosine waveforms at full amplitude where my arithmetic wraps round. Given the way the algorithm works, I think I&amp;#39;ll probably need an extra bit of resolution for headroom to deal with that, but we&amp;#39;ll see. Needs a little more consideration, in any case.&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-57a43077-0181-43e5-a230-f25f8b9053d9/overflow.png" /&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=25563&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Fast VHDL CORDIC Sine and Cosine Component on Lattice XP2 Device Using Diamond 3.12</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/fast-vhdl-cordic-sine-and-cosine-component-on-lattice-xp2-device-using-diamond-3-12</link><pubDate>Sat, 01 Apr 2023 09:24:57 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:57a43077-0181-43e5-a230-f25f8b9053d9</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Replicated on a Spartan-7:&lt;/p&gt;
&lt;p&gt;&lt;img height="216" src="/resized-image/__size/1280x432/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-57a43077-0181-43e5-a230-f25f8b9053d9/pastedimage1680340806536v1.png" width="640" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Vivado didn&amp;#39;t want to tell the resource use, I&amp;#39;d have to build a little design with the generics for that.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=25563&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Fast VHDL CORDIC Sine and Cosine Component on Lattice XP2 Device Using Diamond 3.12</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/fast-vhdl-cordic-sine-and-cosine-component-on-lattice-xp2-device-using-diamond-3-12</link><pubDate>Fri, 31 Mar 2023 15:45:51 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:57a43077-0181-43e5-a230-f25f8b9053d9</guid><dc:creator>michaelkellett</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Interesting.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve used the Lattice Cordic IP in the past, it likes to grab memory for biggish look up tables.&lt;/p&gt;
&lt;p&gt;They still make you pay for it.&lt;/p&gt;
&lt;p&gt;The Effinix core is free, data for their Trion part below:&lt;/p&gt;
&lt;p&gt;&lt;img src="/resized-image/__size/1280x720/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-57a43077-0181-43e5-a230-f25f8b9053d9/pastedimage1680277215970v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;The Titanium part is about the same resource utilisation but about 3x faster.&lt;/p&gt;
&lt;p&gt;It looks as if sin and cos are approx 16 bit precision so your work looks competetive in terms of resource use and speed.&lt;/p&gt;
&lt;p&gt;MK&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=25563&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>