<?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 28</title><link>/technologies/fpga-group/b/blog/posts/the-art-of-fpga-design---post-28</link><description>The DSP48 Primitive - Inferring larger multipliers The DSP48E2 primitive contains a signed 27x18 multiplier, any signed multiplier up to this size can be implemented with just one such primitive. If we need larger multipliers we can achieve that...</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: The Art of FPGA Design - Post 28</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/the-art-of-fpga-design---post-28</link><pubDate>Mon, 02 Aug 2021 10:04:57 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:1d155bc5-7b82-4dce-9182-37a8ad420a35</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;span&gt;[mention:6df0c41b821640f88ccc622506c3eacd:e9ed411860ed4f2ba0265705b8793d05]&lt;/span&gt; I&amp;#39;m trying to replicate the exercise. Vivado is complaining about 2 lines of code.&lt;/p&gt;&lt;p&gt;I&amp;#39;ve used the &lt;em&gt;types_pkg&lt;/em&gt; from &lt;a class="jive-link-blog-small" href="/technologies/fpga-group/b/blog/posts/the-art-of-fpga-design---post-8"&gt;The Art of FPGA Design - Post 8&lt;/a&gt; . With the functions of blog 6 added. I put all in a &lt;a class="jive-link-external-small" href="https://gist.github.com/jancumps/622591b9a9a74c24e081a8b7407d7a1a" rel="nofollow ugc noopener" target="_blank"&gt;GIST&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I&amp;#39;m using Vivado 2020.2, that supports the VHDL2008 syntax by default.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The two errors I get:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:3ef06e6b-9b7d-4651-b12d-db8be7f5e991:type=text&amp;amp;text=++signal+PL%3ASFIXED_VECTOR%282+to+LATENCY%29%28P%27range%29%3A%3D%28others%3D%3ETO_SFIXED%280.0%2CP%29%29%3B]&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;Illegal subtype for subtype indication&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Cannot read from &amp;#39;out&amp;#39; object &amp;#39;p&amp;#39;, use &amp;#39;buffer&amp;#39; or &amp;#39;inout&amp;#39;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&amp;#39;p&amp;#39; with mode &amp;#39;out&amp;#39; cannot be read&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;[embed:dc8ab71f-3b98-42d9-b0f6-e21e02a0f8e2:3ef06e6b-9b7d-4651-b12d-db8be7f5e991:type=text&amp;amp;text=++++++PL%282%29%3C%3DRESIZE%28RA*RB%2CP%29%3B]&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;found &amp;#39;0&amp;#39; definitions for operator &amp;quot;*&amp;quot;. cannot determine exact overloaded matching definition for &amp;quot;*&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Cannot read from &amp;#39;out&amp;#39; object &amp;#39;p&amp;#39;, use &amp;#39;buffer&amp;#39; or &amp;#39;inout&amp;#39;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;em&gt;&amp;#39;p&amp;#39; with mode &amp;#39;out&amp;#39; cannot be read&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I am not following your blogs in order, so I may have missed something between post 6 and this one.&lt;/p&gt;&lt;p&gt;I&amp;#39;m checking if there&amp;#39;s anything related to these errors ...&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;If you have a pointer, that would be great.&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=7162&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>