https://kactus2.cs.tut.fi/https://kactus2.cs.tut.fi/favicon.ico2017-03-10T15:00:08ZKactus2 Project ManagementKactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=12972017-03-10T15:00:08ZJanne Virtanenjanne.m.virtanen@tut.fi
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>Assignee</strong> set to <i>Janne Virtanen</i></li></ul><p>This should be fixable, although it will take some time and testing. Essentially this requires parsing which bits will be left unconnected and then assign them with either default value if it exists, or z if it does not.</p>
<p>Current work around could be using tieoffs, but apparently tieoff editor does not support part selection.</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=12982017-03-13T10:34:26ZRichard Schindlerrichard.schindler@socionext.com
<ul></ul><p>Hi Janne,</p>
<p>can you do this for unconnected ports as well?<br />When having unconnected ports by accident in a large design, it will be much easier to find this issues when the ports are undriven and not tied to low by default.</p>
<p>Best regards,</p>
<p>Richard</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=12992017-03-13T11:59:01ZRichard Schindlerrichard.schindler@socionext.com
<ul><li><strong>File</strong> <a href="/attachments/download/129/DefaultValue_342_2.zip">DefaultValue_342_2.zip</a> added</li></ul><p>I think there is a general problem with default value assignment, not even when using part select operator.<br />When a port is mapped to a bus interface this issue is also visible.<br />In the attached example clk_en port of Sink module is not assigned to default value.</p>
<p>Best regards,</p>
<p>Richard</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=13002017-03-16T09:09:11ZJanne Virtanenjanne.m.virtanen@tut.fi
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Some bugs were found in closer inspection, but according to the standard, the default value for a port is used only if it is unconnected. This means that no bits from any default value is used if any bits of the port is connected.</p>
<p>Moreover, if an unconnected port in mapped in a bus interface have a default value defined in abstraction definition, it shall be used for the port.</p>
<p>As stated earlier, an obvious workaround could be a tie-off with part select, but I do not know if and how we will proceed with that. This seemed to work by injecting part selection to the XML file of a design, but the editor does not currently allow it.</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=13022017-03-22T10:51:40ZRichard Schindlerrichard.schindler@socionext.com
<ul></ul><p>Hi Janne,</p>
<p>I think the current implementation of unconnected ports is not correct.<br />The standard says: “The value shall be applied to this port when it is left unconnected, independent of being part of a busInterface. This value shall be over-ridden by the default value from the abstraction definition if the interface is connected”<br />Can you please keep this issue in mind and fix it on a longterm basis?</p>
<p>Best regards,</p>
<p>Richard</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=13032017-03-23T09:22:54ZJanne Virtanenjanne.m.virtanen@tut.fi
<ul></ul><p>Current implementation should take this into account.</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=13042017-03-23T11:07:42ZRichard Schindlerrichard.schindler@socionext.com
<ul><li><strong>File</strong> <a href="/attachments/download/130/DefaultValue_342_3.zip">DefaultValue_342_3.zip</a> added</li></ul><p>Sorry for the inconvenience but I tried with K2 version 3.4.0 and I think, the implementation is not like described in the standard.<br />Please see the example in the attachment.<br />Maybe I'm wrong but my understanding is, that for the unconnected interface the default values of the port definition should be assigned.</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=13052017-03-23T12:25:24ZEsko Pekkarinen
<ul><li><strong>Status</strong> changed from <i>Closed</i> to <i>In Progress</i></li></ul><p>DefaultValue_432_3: I agree the default values for data1 and en1 should come from the port definition and not from the abstraction definition, since interface DATA_1 is not connected in the design. We'll look to fix this soon.</p> Kactus2 - Bug #342: Missing default value for unused bitshttps://kactus2.cs.tut.fi/issues/342?journal_id=13062017-03-23T13:13:56ZJanne Virtanenjanne.m.virtanen@tut.fi
<ul></ul><p>Fixed. Now DATA_0 gets its defaults from abstraction definition and DATA_1 picks the port defaults. Likewise, a third port in DATA_0 picks its default value from port since it has no defined default value in the abstraction definition.</p>