我正在尝试从由 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 只是悄悄地忽略了这些信号
有解决方法吗?选择?
所以,我正在玩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) 我正在尝试测试一个VHDL组件,但我似乎无法得到这个inout端口给我任何行为.我已经尝试将端口设置为从"1"到" - "的所有内容,但它仍然在模拟中显示为"U".任何可能错误的消化?
我有多个共享一个公共基类的类,如下所示:
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,不允许指向构造函数的指针.同样,如果我使用这个地图做工厂,我仍然需要为每种类型编写一个工厂方法,使其比上面的例子更麻烦.
什么是处理这个问题的有效方法,特别是当有很多派生类时?
当我安装Intel HAXM时,我有以下错误:
此计算机符合HAXM的要求,但未启用Intel虚拟化技术(VT-x).在启用VT-x之前,无法安装HAXM.
所以,我检查了我的BiOS,支持VT-x,并启用了Intel虚拟化(之前不是).我还检查了它是否真的启用了英特尔虚拟化技术检测工具(英特尔处理器识别实用程序),它说:
英特尔(R)虚拟化技术 - 是的
但是当我再次尝试安装HAXM时,我的错误与我的消息开头相同.有人有想法吗?
我有以下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"已使用但未声明
我在这做错了什么?
工作好几个星期后,我无法将使用Glassfish 3的应用程序部署到本地计算机上。我得到:
EJB容器初始化错误
似乎有一个空指针:
com.sun.messaging.jms.ra.DirectConnectionFactory._createConnectionId(DirectConnectionFactory.java:424)
我有时会更改我的应用程序,使其指向另一台服务器上的glassfish实例,并且必须更新正确服务器的设置,但是我确信当前配置适用于我的本地计算机。
是什么导致这种突然的行为?
我们正在考虑将一些代码转移到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产品,所以我很困惑.
当用户每次使用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) 使用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]=密码
无效检测到参数值单个结构中缺少必需的键:用户