<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Bus Copies Explained!</title>
	<link>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/</link>
	<description>This blog is about Simulink.</description>
	<pubDate>Mon, 23 Nov 2009 00:44:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
		<item>
		<title>By: Seth</title>
		<link>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-665</link>
		<dc:creator>Seth</dc:creator>
		<pubDate>Sun, 18 Jan 2009 21:01:05 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-665</guid>
		<description>@wei - (1) Something similar could happen when you have a large input array.  It depends on how the input is constructed.  Muxed signals may behave in much the same way as a virtual bus.
(2) Please see the section entitled "Important Code Efficiency Note".  RTW WILL implicitly make only the needed copy, but this is done as part of the "Expression Folding" optimization.  By turning this on, you will remove unnecessary temporary variables like the ones created in this example.  Some people choose not to turn on this optimization when they need full traceability from model features down to the code.</description>
		<content:encoded><![CDATA[<p>@wei - (1) Something similar could happen when you have a large input array.  It depends on how the input is constructed.  Muxed signals may behave in much the same way as a virtual bus.<br />
(2) Please see the section entitled &#8220;Important Code Efficiency Note&#8221;.  RTW WILL implicitly make only the needed copy, but this is done as part of the &#8220;Expression Folding&#8221; optimization.  By turning this on, you will remove unnecessary temporary variables like the ones created in this example.  Some people choose not to turn on this optimization when they need full traceability from model features down to the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wei</title>
		<link>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-664</link>
		<dc:creator>wei</dc:creator>
		<pubDate>Sun, 18 Jan 2009 18:11:13 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-664</guid>
		<description>Hi Seth,
1.What about when a large array input data with one index is used inside of (atomic) subsystem? 
2.Couldn't Simulink, actually RTW, detect those feed through data and make copies as needed and implicitly? What’s the advantage to let user control this aspect of model?</description>
		<content:encoded><![CDATA[<p>Hi Seth,<br />
1.What about when a large array input data with one index is used inside of (atomic) subsystem?<br />
2.Couldn&#8217;t Simulink, actually RTW, detect those feed through data and make copies as needed and implicitly? What’s the advantage to let user control this aspect of model?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seth</title>
		<link>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-662</link>
		<dc:creator>Seth</dc:creator>
		<pubDate>Wed, 14 Jan 2009 14:17:44 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-662</guid>
		<description>@Ashish - Thank you for your response.  I didn't remember that merge block case.  Excellent example!</description>
		<content:encoded><![CDATA[<p>@Ashish - Thank you for your response.  I didn&#8217;t remember that merge block case.  Excellent example!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ashish Sadanandan</title>
		<link>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-661</link>
		<dc:creator>Ashish Sadanandan</dc:creator>
		<pubDate>Tue, 13 Jan 2009 22:33:41 +0000</pubDate>
		<guid>http://blogs.mathworks.com/seth/2009/01/13/bus-copies-explained/#comment-661</guid>
		<description>Hi Seth,
I've used the Signal Conversion block in 2 other cases.

1. If a block output is not local (i.e. it is part of the global BlockIO structure) but you need to connect this signal to a Merge block then placing the Signal Conversion block in between creates a local copy of the signal and allows it to be connected to the Merge block.

2. I have a custom S-Function that is used to call legacy code and in one use case it was just going to pass the address of the input signal to the legacy code. Since this S-Function has ssSetInputPortRequiredContiguous set to FALSE this could potentially lead to problems, so using a Signal Conversion blocks eliminates this problem.

In both cases I left the Override Optimizations checkbox unchecked.

Regards,
Ashish.</description>
		<content:encoded><![CDATA[<p>Hi Seth,<br />
I&#8217;ve used the Signal Conversion block in 2 other cases.</p>
<p>1. If a block output is not local (i.e. it is part of the global BlockIO structure) but you need to connect this signal to a Merge block then placing the Signal Conversion block in between creates a local copy of the signal and allows it to be connected to the Merge block.</p>
<p>2. I have a custom S-Function that is used to call legacy code and in one use case it was just going to pass the address of the input signal to the legacy code. Since this S-Function has ssSetInputPortRequiredContiguous set to FALSE this could potentially lead to problems, so using a Signal Conversion blocks eliminates this problem.</p>
<p>In both cases I left the Override Optimizations checkbox unchecked.</p>
<p>Regards,<br />
Ashish.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
