小编too*_*lic的帖子

"普通"开端块有什么意义?

我正在读一些第三方Verilog,发现这个:

function [31:0] factorial;
    input [3:0] operand;
    reg [3:0] index;

    begin
        factorial = operand ? 1 : 0;
        for(index = 2; index <= operand; index = index + 1)
        factorial = index * factorial;
    end
endfunction
Run Code Online (Sandbox Code Playgroud)

似乎beginend关键字在这里是多余的.是吗?它们的用途是什么?

verilog system-verilog

6
推荐指数
2
解决办法
8991
查看次数

配置ModelSim模拟以显示文本

我可以让ModelSim模拟在信号上显示文本(而不是数值)吗?我有几个州机器状态说,

localparam S_IDLE  = 2'b00; 
localparam S_START = 2'b01; 
localparam S_STOP  = 2'b10;
Run Code Online (Sandbox Code Playgroud)

有没有办法显示S_IDLE例如信号而不是00?谢谢.

verilog modelsim

6
推荐指数
1
解决办法
3449
查看次数

如何访问模块内的内部注册?

我在 Verilog 中有这个架构/拓扑:

图片

如何访问内部 reg IntReg,它不是IntModuleSystemVerilog 中的输入/输出?

always @(posedge clk) begin
    $display ("[Time %0t ps] IntReg value = %x", $time, DUT.IntModule.IntReg);
end
Run Code Online (Sandbox Code Playgroud)

我可以使用绑定吗?如何?

verilog system-verilog

6
推荐指数
1
解决办法
3821
查看次数

如何编写一个测试平台来循环 4 个输入?

我必须为此原理图创建 Verilog 代码和测试平台。

问题

我这里有它的设计。

module prob1(input wire a,b,c,d, output wire out);
    assign out = (a||d)&&(!d&&b&&c);
endmodule
Run Code Online (Sandbox Code Playgroud)

这是到目前为止我所拥有的测试平台。

module prob1_tb();
    reg a,b,c,d;
    wire out;

    prob1 prob1_test(a,b,c,d, out);

    initial begin
        for(int i=0; i=16; i=i+1)
            <loop code here>
        end
    end
endmodule
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是如何将该数字转换为原理图中使用的 4 个输入?或者有更好的方法来做到这一点吗?

testing loops verilog system-verilog

6
推荐指数
1
解决办法
3万
查看次数

如何从 perl 脚本本身打印出正在运行的 perl 版本?

我安装了多个版本的 Perl。

我已经指定了要使用的版本。但是为了验证,我想从 .pl 脚本本身输出 Perl 的版本。

这可能吗?

perl --version在 Perl 脚本中解析 " "的输出似乎在语法上是错误的。

perl version

6
推荐指数
2
解决办法
1894
查看次数

国际电话输入问题

我正在尝试在注册过程中实施“国际电话输入”。

我有 css 文件:/css/intlTelInput.css

和 js 文件:/js/intlTelInput.js

这是html:

<div class="form-group" id="phone-group" style="display:none;">
    <label><%= l('Phone number') %></label>
    <input id="phone" name="phone" type="tel">
  </div>

<script src="/js/intlTelInput.js"></script> 
<link rel="stylesheet" href="/css/intlTelInput.css">
Run Code Online (Sandbox Code Playgroud)

和脚本功能:

var phone_intl = document.querySelector("#phone");
  window.intlTelInput(phone_intl, {
    utilsScript: "/js/utils.js"
  });
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但它并不像它应该的那样出现。我曾尝试实施此解决方案:https : //intl-tel-input.com/。你知道什么可能是错的,或者你对我想要的东西有其他想法。谢谢!

html javascript css mojo

6
推荐指数
1
解决办法
96
查看次数

如何做哈希参考切片的总和?

我正在尝试获取哈希引用切片的总和,但失败了

#!/usr/bin/env perl

use strict;
use warnings FATAL => 'all';
use feature 'say';
use autodie ':all';
use List::Util 'sum';

my %h = (
    'a' => 1,
    'b' => 2,
    'c' => 3
);

my @letters = ('a','b');
say sum(@h{@letters}); # 1+2 = 3, which is correct
my $h = \%h; # create a reference
#say sum(@{ $h->{ @letters } }); # says "uninitialized value"
#say sum(@{ $h }->{@letters}); # not an array reference
say sum(@h->{@letters}); # @h requires explicit package …
Run Code Online (Sandbox Code Playgroud)

perl

6
推荐指数
1
解决办法
85
查看次数

2 个不同 CPAN 模块中具有相同名称的子例程

运行 perl 时出现此错误:

[Thu Mar 16 00:24:23 2023] list_directory_1.cgi:子例程 main::getcwd 在 /usr/lib/cgi-bin/list_directory_1.cgi 第 15 行重新定义。

我认为这是来自getcwdCPAN 模块CwdPOSIX. 如何指定从模块中获取该子例程Cwd

perl module subroutine

6
推荐指数
1
解决办法
121
查看次数

在Perl中,我如何按值的频率排序?

我正在尝试创建一个程序来计算数据文件列中出现的不同值.所以,如果列的可能值是A,B,C,那就像是这样的.输出类似于

A   456
B   234
C   344
Run Code Online (Sandbox Code Playgroud)

通过做这样的事情,我已经能够轻松获得A,B和C的运行计数

my %count; 
for my $f (@ffile) {

    open F, $f || die "Cannot open $f: $!";

    while (<F>) {
       chomp;
       my @U = split / /;

       $count{$U[2]}++; 
    }

}
   foreach my $w (sort keys %count) {
         printf $w\t$count{$w};
     }
Run Code Online (Sandbox Code Playgroud)

例如,我在计算给定路径中的文件的第二列.

如何通过计数而不是键(或值A,B,C)对printf的输出进行排序 -

A   456
C   344
B   234
Run Code Online (Sandbox Code Playgroud)

sorting perl key count

5
推荐指数
2
解决办法
1618
查看次数

忽略列表赋值中的元素的最佳方法是什么?

我使用列表分配将制表符分隔的值分配给不同的变量,如下所示:

perl -E '(my $first, my $second, my $third) = split(/\t/, qq[a\tb\tc]); say $first; say $second; say $third;'
a
b
c
Run Code Online (Sandbox Code Playgroud)

要忽略某个值,我可以将其分配给虚拟变量:

perl -E '(my $first, my $dummy, my $third) = split(/\t/, qq[a\tb\tc]); say $first; say $third;'
a
c
Run Code Online (Sandbox Code Playgroud)

我不喜欢有未使用的变量。还有其他方法吗?

perl

5
推荐指数
1
解决办法
159
查看次数