New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verilog::Netlist::PinSelection->msb doesn't return anything. #1500
Comments
Original Redmine Comment Pin msb/lsbs are for when you have e.g. ".pin(connects_to[3:0])". To get the range of a declaration (e.g. "wire [7:0]") you need to go to the net object then look at the type, e.g.
|
Original Redmine Comment OK, thanks. I tried using Verilog::Netlist::Pin->nets but I just get an unblessed reference error. What am I doing wrong? I store an array reference in a hash and then iterate over the pins. I can call Pin->portname, Pin->pinselects, but calling Pin->nets fails.
produces
for the following cell instance:
So it seems to not cope with the 8-bit concatenation and then fails completely for the input IMSK. |
Original Redmine Comment Try an "if $pin->nets", as there might be nothing to iterate on. |
Original Redmine Comment Here's a test case for you.
|
Original Redmine Comment Sorry, when the PinSelect stuff got introduced the net function changed in a way it shouldn't have, and so the documentation was also wrong. Here's what's implemented now: =item $self->nets So do this
|
Original Redmine Comment Thanks a lot. Working now. Edit: Actually, in my case when I have concatenated nets such as
what am I supposed to use to get that net? Verilog::Netlist::Pin->nets doesn't return anything for these. Verilog::Netlist::Pin->pinselects returns a PinSelection but from the documentation it doesn't seem like this is the right useage. |
Author Name: Shareef Jalloq
Original Redmine Issue: 1500 from https://www.veripool.org
I'm trying to process a netlist to pull out port and net names for cells and am having some trouble. If I try to get a PinSelection object, I can query the name but the lsb/msb accessors don't return anything.
So in the following example...
I'm getting the output...
where both nets are defined as...
There also seems to be a useful accessor in Verilog::Netlist::Pin->nets but I can't work out how to use this. If I print the bare object I'm told it's a hash rather than an array which the docs say it is.
Admittedly this is the first time I've used Perl in 10 years so I'm a little rusty.
Cheers.
The text was updated successfully, but these errors were encountered: