我想在 Quartus 中运行一个仿真。所以我在“分配”菜单中分配了一个测试平台。我的测试平台包括我的 DUT(D) 和一个额外的组件 (E),它仅用于仿真(因此该组件包含不可合成的语句)。如果我从 Testbench 中删除 E,我的模拟就会运行,但是当我想在我的 Testbench 中包含 E 时,我从 modelsim 收到错误:
my_testbench.vhd(197): (vcom-1195) cannot find expanded name "mylib.only_for_simulation".
Run Code Online (Sandbox Code Playgroud)
我怎样才能让 Quartus/Modelsim 编译 E 文件?
我有一个自己编写的程序,我也想从我的 x86 机器上为 Raspberry Pi 构建它。我正在使用 eclipse 生成的 makefile 并且无法更改此内容。
我已经阅读了 raspi 的 CC 教程:Hackaday-Link。因为raspi也安装了4.9版的gcc,我也用这个版本的交叉编译器试了一下。这个 hello world 程序也存在这个问题:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
cout << "hello world!" << endl;
}
Run Code Online (Sandbox Code Playgroud)
直接在 raspi 上编译和运行时,输出为hello world!
. 没关系。但是当用 4.9 的版本交叉编译它arm-linux-gnueabihf-g++-4.9
,然后将它 scp 到 raspi,使其可执行并运行它,输出./hello_world
是Segmentation fault
. 执行sudo ./hello_world
时没有输出。
我试图获取有关文件的一些信息,并看到 raspi 编译程序的本地输出:
pi@raspberrypi:~ $ file hello_world
hello_world: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, …
Run Code Online (Sandbox Code Playgroud) 我有一个自定义类,如:
class foo(object):
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
Run Code Online (Sandbox Code Playgroud)
我想做的是写
test = foo("test")
print test
Run Code Online (Sandbox Code Playgroud)
代替
test = foo("test")
print test.get_name()
Run Code Online (Sandbox Code Playgroud)
这样做的神奇方法是什么?
我想做这样的事情
if($variable =~ /$other_variable_expression/){
do something;
}
Run Code Online (Sandbox Code Playgroud)
$other_variable
动态部分在哪里(由循环等改变),expression
总是像"abc"一样是静态部分!
怎么做?
有机会吗?
foreach my $elements(keys %my_hash){
if($element =~ /some_expression/{
do something;
}
}
Run Code Online (Sandbox Code Playgroud)
在一个声明中
foreach my $elements (keys %my_hash) =~ /some expression/{
do something;
}
Run Code Online (Sandbox Code Playgroud) perl ×2
regex ×2
c++ ×1
compilation ×1
linux ×1
modelsim ×1
python ×1
quartus ×1
raspberry-pi ×1
vhdl ×1