小编Qiu*_*Qiu的帖子

Modelsim 和 GHDL 无法将 vhdl 用户定义的信号类型转储到 vcd 中?

我正在尝试从由 modelsim 或 ghdl 执行的模拟中转储内部信号。一切正常使用:

对于modelsim,添加vhdl源,然后编译:

vsim -novopt work.uut_testbench
vcd file ../uut.vcd;
vcd limit 50000000;
vcd add -r /uut_testbench/uut_core/*;
run 6000
quit -sim
Run Code Online (Sandbox Code Playgroud)

对于 GHDL

ghdl -i --ieee=synopsys --warn-no-vital-generic --workdir=work --work=work ./uut*.vhd 
ghdl -m --ieee=synopsys --warn-no-vital-generic --workdir=work --work=work uut_testbench
./uut_testbench --stop-time=6000ns --vcd=../uut.vcd
Run Code Online (Sandbox Code Playgroud)

我可以看到模拟信号,但不是全部。信号定义为

Type InternalState is (Idle,Valid,Stalled);
Signal sState,sPrevState :InternalState;
Run Code Online (Sandbox Code Playgroud)

从 vcd 中省略。这种行为对于modelsim 和ghdl 很常见。

我可以在 ghdl 生成的 vcd 中看到以下行

$comment sstate is not handled $end
Run Code Online (Sandbox Code Playgroud)

Modelsim 只是悄悄地忽略了这些信号

有解决方法吗?选择?

signals vhdl modelsim ghdl

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

关于双指针和三指针/双维数组

所以,我正在玩C指针和指针算术,因为我对它们不太满意.我想出了这段代码.

char* a[5] = { "Hi", "My", "Name", "Is" , "Dennis"};
char** aPtr = a; // This is acceptable because 'a' is double pointer
char*** aPtr2 = &aPtr; // This is also acceptable because they are triple pointers
//char ***aPtr2 = &a // This is not acceptable according to gcc 4.8.3, why ?

//This is the rest of the code, the side notes are only for checking
printf("%s\n",a[0]); //Prints Hi
printf("%s\n",a[1]); //Prints My
printf("%s\n",a[2]); //Prints Name
printf("%s\n",a[3]); //Prints Is
printf("%s\n",a[4]); …
Run Code Online (Sandbox Code Playgroud)

c pointers pointer-to-pointer

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

VHDL:如何在inout端口上设置一个值?

我正在尝试测试一个VHDL组件,但我似乎无法得到这个inout端口给我任何行为.我已经尝试将端口设置为从"1"到" - "的所有内容,但它仍然在模拟中显示为"U".任何可能错误的消化?

vhdl

4
推荐指数
2
解决办法
3万
查看次数

按类名实例化类

我有多个共享一个公共基类的类,如下所示:

class Base {};

class DerivedA : public Base {};
class DerivedB : public Base {};
class DerivedC : public Base {};
Run Code Online (Sandbox Code Playgroud)

现在,我需要知道在运行时(基于输入)实例化这些派生类中的哪一个.例如,如果是输入"DerivedA",我需要创建一个DerivedA对象.输入不一定是字符串,也可以是整数 - 关键是有某种键,我需要一个值来匹配键.

但问题是,如何实例化该类?C++没有像C#或Java那样的内置反射.我发现一个常见的解决方案是使用这样的工厂方法:

Base* create(const std::string& name) {
    if(name == "DerivedA") return new DerivedA();
    if(name == "DerivedB") return new DerivedB();
    if(name == "DerivedC") return new DerivedC();
}
Run Code Online (Sandbox Code Playgroud)

如果只有几个类,这就足够了,但如果有几十个或几百个派生类,那就变得很麻烦并且可能很慢.我可以很容易地自动化地图创建过程来生成一个std::map<std::string, ***>,但我不知道要存储什么作为值.AFAIK,不允许指向构造函数的指针.同样,如果我使用这个地图做工厂,我仍然需要为每种类型编写一个工厂方法,使其比上面的例子更麻烦.

什么是处理这个问题的有效方法,特别是当有很多派生类时?

c++ instantiation

4
推荐指数
1
解决办法
308
查看次数

HAXM错误但启用了vt-x

当我安装Intel HAXM时,我有以下错误:

此计算机符合HAXM的要求,但未启用Intel虚拟化技术(VT-x).在启用VT-x之前,无法安装HAXM.

所以,我检查了我的BiOS,支持VT-x,并启用了Intel虚拟化(之前不是).我还检查了它是否真的启用了英特尔虚拟化技术检测工具(英特尔处理器识别实用程序),它说:

英特尔(R)虚拟化技术 - 是的

但是当我再次尝试安装HAXM时,我的错误与我的消息开头相同.有人有想法吗?

virtualization android intel android-studio haxm

4
推荐指数
1
解决办法
2万
查看次数

使用对象但未声明?

我有以下VHDL代码,它是项目的实体:

library ieee;
use ieee.std_logic_1164.all;
library work;
use work.typedef.all;

entity uc is
    port(faaaa: in std_logic_vector(15 downto 0);
          phi: in std_logic;
          isDirect,isRam,jmp,store,NarOut,arpOut:out std_logic);
    end entity uc;

architecture b8 of ua is
    signal   instt : std_logic_vector(15 downto 0);
    signal bit7: std_logic;
        begin
            bit7<='0';
            instt <= faaaa;
            ....
            process(phi) is
            ....
            end process;
end architecture b8;
Run Code Online (Sandbox Code Playgroud)

错误说:

对象"faaaa"已使用但未声明

我在这做错了什么?

vhdl quartus

4
推荐指数
1
解决办法
8916
查看次数

对于Glassfish 3,为什么在部署我的应用程序时DirectConnectionFactory突然给我NullPointerException?

工作好几个星期后,我无法将使用Glassfish 3的应用程序部署到本地计算机上。我得到:

EJB容器初始化错误

似乎有一个空指针:

com.sun.messaging.jms.ra.DirectConnectionFactory._createConnectionId(DirectConnectionFactory.java:424)

我有时会更改我的应用程序,使其指向另一台服务器上的glassfish实例,并且必须更新正确服务器的设置,但是我确信当前配置适用于我的本地计算机。

是什么导致这种突然的行为?

java glassfish glassfish-3

4
推荐指数
1
解决办法
462
查看次数

如何在Quartus II中分配引脚

我们正在考虑将一些代码转移到CPLD或FPGA中,以使其更快.之前我曾与Xilinks及其工具套件合作过,但出于某种原因决定我们这次使用Altera,所以我试着习惯Quartus II.

特别是,我正在寻找一种方法来明确地将引脚分配给我正在使用的芯片.在Xilinx中,我编辑了网表文件,但我在Quartus中找不到这样的东西.这里一个程序(作业=>引脚规划),做这一点,但它有一个笨重的GUI,我会远远宁愿在文本编辑器编辑引脚,所以我的两个方面的问题是

答:如何找到存储引脚分配的文件?它没有列在项目导航器中的我的文件下,但是我在Pin Planner中分配的引脚在会话之间保持不变,所以它们必须存储在某个地方.

B:这是一个可怕的想法吗?

IDE是Quartus II 10.1开发套件是MAX II开发板语言是VHDL

编辑:现在,我遇到了我试图通过USB与Dev Kit接口的问题.我正在制作一个串行数据接收器并给它一个数据输入引脚.开发套件有一个USB接收器,所以我试图将din映射到USB连接器所在的任何引脚.根据我的文件(rm_maxII-develop_board-rev1.pdf),USB连接器在"Board Designation U13"上,但是当我进入Pin PLanner并尝试分配它时,没有PIN_U13.我怀疑这是pdf中的一个错误,而不是Pin Planner,但因为我之前从未使用过Altera产品,所以我很困惑.

vhdl intel-fpga quartus

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

获取并显示选中的复选框索引

当用户每次使用Jquery检查复选框时,我试图显示复选框位置.例如,当用户检查星期一时,它将显示位置0,当用户检查星期日时,它将显示位置6.我找不到办法.我曾尝试使用.index()但它一直向我显示0.如何做到这一点的任何想法?

HTML代码

<div class="col-sm-9 checkbox_days">
    <label class="checkbox">
        <input type="checkbox" class="day" name="day[]" value="Monday"> Monday
    </label>
    <label class="checkbox">    
        <input type="checkbox" class="day" name="day[]" value="Tuesday"> Tuesday
    </label>
    <label class="checkbox">
        <input type="checkbox" class="day" name="day[]" value="Wednesday"> Wednesday
    </label>
    <label class="checkbox">
        <input type="checkbox" class="day" name="day[]" value="Thursday"> Thursday
    </label>
    <label class="checkbox">                        
        <input type="checkbox" class="day" name="day[]" value="Friday"> Friday
    </label>
    <label class="checkbox">                        
        <input type="checkbox" class="day" name="day[]" value="Saturday"> Saturday
    </label>
    <label class="checkbox">                        
        <input type="checkbox" class="day" name="day[]" value="Sunday"> Sunday
    </label>
</div>
Run Code Online (Sandbox Code Playgroud)

JQuery的

$('.day').on('change', function() {
    $(this).each(function() {
        if (this.checked) {
            alert($(this).index());
        } …
Run Code Online (Sandbox Code Playgroud)

html javascript checkbox jquery

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

如何知道 Moodle Webservices 函数的参数是什么,例如 core_user_create_users

使用curl,我尝试对Web 服务功能进行休息调用以创建用户。但是,我不知道所需的参数是什么,也找不到任何相关文档。

我收到错误:

url: mymoodle/webservice/rest/server.php?wstoken=304632866235d8239cd7bf41809dcd03&wsfunction=core_user_create_users&criteria[0][key]=用户名&criteria[0][value]=名称&criteria[1][key]=密码&criteria[1][value]=密码

无效检测到参数值单个结构中缺少必需的键:用户

php rest curl web-services moodle

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