⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plinterface.pl

📁 自动生成VERILOG 工具
💻 PL
字号:
## This file is part of the Perlilog project.## Copyright (C) 2003, Eli Billauer## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA## A copy of the license can be found in a file named "licence.txt", at the# root directory of this project.## Perlilog's interface class${__PACKAGE__.'::errorcrawl'}='system';sub sustain {  my $self = shift;  $self->SUPER::sustain(@_);  my @ports=$self->get('perlilog-ports-to-connect');  my ($i, $tmp);  # We now set the 'mates' property, which is supposed to  # point at the closest counterpart that the port is connected  # with. Note that we don't care if 'mates' was already set, but  # we just set it to our value. This assures that 'mates'  # will be set according to the pairing that was made at the  # latest stage, hence the closest one. If this gets messed up,  # it's probably because some interface class messed up the  # order of the returned object list.  for ($i=0; $i<=$#ports; $i++) {    $tmp = shift @ports;    $tmp->set('mates', @ports);    push @ports, $tmp;  }  }sub who {  my $self = shift;  my $sus = $self -> get('perlilog-transient');  if (not (defined $sus)) {    return "Int. obj. \'".$self->get('name')."\'";  } elsif ($sus eq 'transient') {    return "(transient) Int. obj. \'".$self->get('nick')."\'";  } else {    return "auto. gen. int. obj. \'".$self->get('name')."\'";  }}sub complete {  my $self = shift;  $self->SUPER::complete(@_);  my $papa = $self->get('parent');  # If the interface object doesn't have a parent, its parent is the  # first port's owner's parent.  unless (ref $papa) {    my $port;    foreach $port ($self->get('perlilog-ports-to-connect')) {      $papa=$port->get('parent')->get('parent');      last if (ref $papa);    }    $self->setparent($papa);  }}# Just a shortcut to core intobjectssub intobjects {  my $self = shift;  return &Perlilog::intobjects(@_);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -