Support modports in interfaces #200
Comments
Original Redmine Comment I need to think about if/how to add Modports to the netlist; as you suggest it may be better to have a new object. Meanwhile please switch to using the patch below; it's like yours but I made some trivial cleanups and more importantly fixed parsing modports separated by commas. |
Original Redmine Comment I'm trying to understand what you're after with this change:
I understand why VARDTYPE should be interface.modport, and it probably Also, shouldn't the other interface declarations match using |
Original Redmine Comment I think it's a little confusing if treat interface/modport in port list as instance. For example ad module defintion: module unit1( "master_port" is only a set of wires with direction. It's more like normal ports than a instance. When I trace signal in "master_port", I will find the definition of "nets.master" and process the signal as a port. It's difficult to process if get a instance with type "nets.master" and name "master_port". In Debussy, the parser have IO type named "MIXIO" to hint it's a interface, how about to add it to your parser? |
Original Redmine Comment Thriller Wu wrote:
|
Original Redmine Comment I looked through past mail to find out why interfaces had the instantCb. There were these: First it really is like an instantiation in that it needs to read the interface definition, and more importantly if using non-ANSI style declarations you can't tell what is an interface versus just a module instantiation. Thus it's more orthogonal to include it. Finally I'd prefer not to break existing users. So I'll leave them in; I think you can easily remove them, if not let me know and I'll add another variable to the callback indicating it's a interface (but this will only work for ANSI ports.) I'll also stick with your original IO type "interface" as I think that's more obvious than "MIXIO". |
Original Redmine Comment I applied your additional patches, modified to still do instantCb, and to make a new Netlist::ModPort object. Please port your application and give it a try. |
Original Redmine Comment I thinks it's ok to save instantCb. Another question: @verilog/parser_sv.v:019: INSTANT 'itf' 'modported_int' ''@ but no "ENDCELL" |
Original Redmine Comment You're right there should be a endcell. Pushed to git. |
Original Redmine Comment Is the git version working for you? I'd like to push a new release. |
Original Redmine Comment Via mail: "Yes, it works very well" |
Original Redmine Comment In 3.230. |
Author Name: Wilson Snyder (@wsnyder)
Original Redmine Issue: 200 from https://www.veripool.org
Original Date: 2010-01-08
Original Assignee: Wilson Snyder (@wsnyder)
Support modports in interfaces, see http://www.veripool.org/boards/18/topics/show/183-Verilog-Perl-How-to-traverse-modport-in-interface
The text was updated successfully, but these errors were encountered: