<?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: Quartus: Packing registers into I/O cells</title>
	<atom:link href="http://billauer.co.il/blog/2017/04/altera-intel-fpga-io-ff-packing/feed/" rel="self" type="application/rss+xml" />
	<link>http://billauer.co.il/blog/2017/04/altera-intel-fpga-io-ff-packing/</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: Steve Maslen</title>
		<link>http://billauer.co.il/blog/2017/04/altera-intel-fpga-io-ff-packing/comment-page-1/#comment-1355</link>
		<dc:creator>Steve Maslen</dc:creator>
		<pubDate>Tue, 28 Aug 2018 14:06:43 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=5171#comment-1355</guid>
		<description>Hi Eli, Thanks for the additional pointers. Seems odd that in some cases the only way to get closure is to use non-recommended methods.</description>
		<content:encoded><![CDATA[<p>Hi Eli, Thanks for the additional pointers. Seems odd that in some cases the only way to get closure is to use non-recommended methods.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eli</title>
		<link>http://billauer.co.il/blog/2017/04/altera-intel-fpga-io-ff-packing/comment-page-1/#comment-1354</link>
		<dc:creator>eli</dc:creator>
		<pubDate>Tue, 28 Aug 2018 12:59:59 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=5171#comment-1354</guid>
		<description>Hello,

FPGA vendor often allow for practices that aren&#039;t recommended, simply because there are users out there that employ them.

Specifically, I have a follow-up post to this one, which shows a not-too-exotic case which required set_max_delay assignments:

http://billauer.co.il/blog/2018/08/quartus-sdc-constraining-pins-derived-clock/</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>FPGA vendor often allow for practices that aren&#8217;t recommended, simply because there are users out there that employ them.</p>
<p>Specifically, I have a follow-up post to this one, which shows a not-too-exotic case which required set_max_delay assignments:</p>
<p><a href="http://billauer.co.il/blog/2018/08/quartus-sdc-constraining-pins-derived-clock/" rel="nofollow">http://billauer.co.il/blog/2018/08/quartus-sdc-constraining-pins-derived-clock/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Maslen</title>
		<link>http://billauer.co.il/blog/2017/04/altera-intel-fpga-io-ff-packing/comment-page-1/#comment-1353</link>
		<dc:creator>Steve Maslen</dc:creator>
		<pubDate>Tue, 28 Aug 2018 10:44:57 +0000</pubDate>
		<guid isPermaLink="false">http://billauer.co.il/blog/?p=5171#comment-1353</guid>
		<description>Hi Eli, Thank you for your insightful articles on Altera FPGA Timing issues. At present I am faced with making a faster and more complex version of my working base design.Can I ask a simple philosophical question ?

I have seen several instances of expert users showing how set_max_delay can fix setup timing problems. Also I see expert advice cautioning against using set_max_delay.

One Altera note includes &quot;For cases where you want to use set_max_delay and set_min_delay to establish
an I/O timing requirement (tSU, tH, tCO, and tCO-min), you must constrain the port using set_input_delay/output_delay with a virtual clock. The delay value can be 0 for -max/min in set_output_delay/set_input_delay because
set_max_delay/set_min_delay is used to override the setup and hold requirement and thereby establishing the tSU, tH, tCO, and tCO-min requirement. Because you set your requirement in set_max/min_delay, you do not need to specify a value for the set_input_delay or set_output_delay constraint, but you still must use a virtual clock to make the clock transfer be correctly identified as an I/O transfer. In this way, derive_clock_uncertainty applies uncertainty correctly on this path.&quot;

Question - If Quartus has AI to achieve timing closure, why do we sometimes need additional undesirable? set_max_delay constraints on some paths, to achieve closure ? i.e. if a solution is possible, why does Quartus make us add these quote Altera &quot;dangerous&quot; constraints to make it happen ?  Thanks, Steve</description>
		<content:encoded><![CDATA[<p>Hi Eli, Thank you for your insightful articles on Altera FPGA Timing issues. At present I am faced with making a faster and more complex version of my working base design.Can I ask a simple philosophical question ?</p>
<p>I have seen several instances of expert users showing how set_max_delay can fix setup timing problems. Also I see expert advice cautioning against using set_max_delay.</p>
<p>One Altera note includes &#8220;For cases where you want to use set_max_delay and set_min_delay to establish<br />
an I/O timing requirement (tSU, tH, tCO, and tCO-min), you must constrain the port using set_input_delay/output_delay with a virtual clock. The delay value can be 0 for -max/min in set_output_delay/set_input_delay because<br />
set_max_delay/set_min_delay is used to override the setup and hold requirement and thereby establishing the tSU, tH, tCO, and tCO-min requirement. Because you set your requirement in set_max/min_delay, you do not need to specify a value for the set_input_delay or set_output_delay constraint, but you still must use a virtual clock to make the clock transfer be correctly identified as an I/O transfer. In this way, derive_clock_uncertainty applies uncertainty correctly on this path.&#8221;</p>
<p>Question &#8211; If Quartus has AI to achieve timing closure, why do we sometimes need additional undesirable? set_max_delay constraints on some paths, to achieve closure ? i.e. if a solution is possible, why does Quartus make us add these quote Altera &#8220;dangerous&#8221; constraints to make it happen ?  Thanks, Steve</p>
]]></content:encoded>
	</item>
</channel>
</rss>
