You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Id: 24247
Status: resolved
Left: 0 min
Queue: Verilog-Perl
Owner: Nobody
Requestors: jetrull <jetrull@>
Severity: Important
Broken in: 2.361
Fixed in: 3.000
X Attachments
cellname_space.diff
* Fri Jan 05 18:32:25 2007 (499b) by jetrull
Fri Jan 05 18:32:25 2007 jetrull - Ticket created
Subject: Quoted cell names absorb terminating whitespace
A cell declaration like this:
modname \UU_cellname (...
gets stored in the parser as "\UU_cellname " (note trailing space).
This isn't a problem if the cell name is simply read in and then written
back out later, but if you want to use, for example, $mod->find_cell, it
will fail without the embedded space.
The solution is simple and a patch is attached.
Regards,
Jeff Trull
Subject: cellname_space.diff
[text/x-patch 499b]
--- Verilog-Perl-2.361/Parser.pm 2006-10-02 06:22:50.000000000 -0700
+++ Verilog-Perl-2.361-mrhack/Parser.pm 2007-01-05 15:06:32.924728000 -0800
@@ -406,7 +406,7 @@
$self->{inquote} = 1;
}
elsif (($text =~ s/^([a-zA-Z_\`\$][a-zA-Z0-9_\`\$]*)//)
- || ($text =~ s/^(\\\S+\s+)//)) { #cseddon - escaped identifiers
+ || ($text =~ s/^(\\\S+)\s+//)) { #cseddon - escaped identifiers
my $token = $1;
if (!$self->{inquote}) {
if (Verilog::Language::is_keyword($token)) {
Fri Jan 05 21:51:22 2007 jetrull - Correspondence added
From: jetrull@
I guess it's not as simple as I thought - once the trailing spaces are
no longer stored as part of the symbol (cell or net name) you need to
take extra care to add whitespace whenever you output a quoted symbol.
Minor changes to SigParser.pm and Netlist/Net.pm are required, which I
can provide if desired (need to separate out my other patches).
Jeff
Tue Jan 09 12:49:46 2007 WSNYDER - Correspondence added
Hmm, my approach of removing the \ and space, then having a function to
add back the quoting doesn't work, because of complicated pin connection
expressions. It would need to know exactly where each signal name
begins and ends.
Instead, I think if I remove the \ and space for symbols that don't need
it, it will all be consistent and cells will resolve properly.
Tue Jan 09 12:49:48 2007 RT_System - Status changed from 'new' to 'open'
Wed Jun 13 12:37:17 2007 WSNYDER - Fixed in 3.000 added
Wed Jun 13 12:37:20 2007 WSNYDER - Status changed from 'open' to 'resolved'
The text was updated successfully, but these errors were encountered:
Author Name: Jeff Trull (@jefftrull)
Original Redmine Issue: 126 from https://www.veripool.org
Original Date: 2007-01-05
Original Assignee: Wilson Snyder (@wsnyder)
This bug was cloned from Perl-RT, rt24247.
Email addresses have have been truncated.
Fri Jan 05 18:32:25 2007 jetrull - Ticket created
Fri Jan 05 21:51:22 2007 jetrull - Correspondence added
Tue Jan 09 12:49:46 2007 WSNYDER - Correspondence added
Tue Jan 09 12:49:48 2007 RT_System - Status changed from 'new' to 'open'
Wed Jun 13 12:37:17 2007 WSNYDER - Fixed in 3.000 added
Wed Jun 13 12:37:20 2007 WSNYDER - Status changed from 'open' to 'resolved'
The text was updated successfully, but these errors were encountered: