问题标签 [system-verilog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
logic - 系统verilog中具有运行时值的位向量范围选择
假设我有一个向量value[6:0]
和一个输入向量input[3:0]
。问题是我想根据输入值将值向量中的位数设置为 1,例如:
input = 0011
(3 in dec) then value = 000111
(set 3 bits to 1
)
input = 0101
(5 in dec) then value = 011111
(set 5 bits to 1
)
因为只有当值保持不变时我们才能轻松做到这一点,但这里是运行时变化。关于解决这个问题的任何想法?
verilog - 为什么 System Verilog $display 在我期望的时候没有执行?
在我的工作台程序中,我有这样的东西(简化):
在我的主模块中,我有一个生成循环来创建我的index_reg
模块
然后在我的index_reg
模块中,我添加了以下调试代码:
我希望看到这个输出:
但有时,“我看到时钟”每隔一段时间才会出现一次。所以我看到
我不明白为什么会发生这种情况。有人可以指出我正确的方向吗?非常感谢。
verilog - 我们可以在 always 块中生成吗?
我想要这样的东西:
如果有人可以帮助我,我将不胜感激。
verilog - Verilog 中的这种语法是什么?
module exmaple(input a, b, input in[2:0], output d, e, output out[5:0])
我是 Verilog 的新手并试图理解什么input in[2:0]
意思?
verilog - @(posedge Clk); 之间的区别; a<= 1'b1; 和@(posedge Clk) a<= 1'b1;
有没有区别
和
注意 Clk 后面的分号。当我浏览测试平台时,我遇到了类似的代码行。我做了一些简单的实验,在模拟过程中我找不到任何差异。由于分号的存在/不存在,这些行之后的代码的执行顺序是否会发生任何变化?
string - 在 Verilog 中将 ASCII 字符分配给连线
我知道您可以在 Verilog 测试台中声明一个字符串,如下所示:
然后我可以用这个字符串做一些事情,比如$display
在测试台上使用它来显示它。
当我将模块闪存到我的 FPGA 时,我没有成功地在模块中做同样的事情:
即使分配单个值也不起作用:
我想将 8 位总线上的单个字符转移到 LCD 屏幕上进行显示。
如何在 Verilog 中处理字符串?
verilog - 展位编码不起作用,包括模拟
我正在为数组乘法器编写一个 Booth 编码。这是模块之一:
这个模块的测试台模拟没问题:
一只忙碌的猫 http://img39.imageshack.us/img39/3444/74546414.jpg !
但是,当我将此模块放入顶层设计时,我看不到模块 add_input 的任何输出。真的想知道为什么,整晚都在调试这个。
代码:
一只忙碌的猫 http://img855.imageshack.us/img855/3361/28395154.png !
根据仿真可以看到booth 编码器工作正常,但是为什么输出t_Y1 总是0?
emacs - 如何在使用 emacs 的旺盛 ctags 时为 verilog 语言指定和使用头文件
我最近开始使用丰富的 ctags 和 emacs 进行 verilog 和系统 verilog 编码和代码浏览。我目前使用命令生成标签
我的代码包含很多`define 宏,这些宏都在某些扩展名为“.vh”和“.svh”的头文件中指定。例如,名为foo.vh的头文件具有以下代码
并且文件top.v调用宏如下
使用 emacs浏览top.v文件时,有什么方法可以直接跳转到foo.vh文件中的宏定义?
我已经使用M-x tags-search <RET> WIDTH_ADDRESS <RET>
了一段时间,但是在到达 foo.vh 文件之前,它会跳转到其他文件中的许多其他 `WIDTH_ADDRESS 实例。
-h
经过一些研究,我确实看到了一个选项,可以在标签生成期间使用带有 ctags的选项来指定头文件。但是我无法让它工作,我猜我的部分存在一些语法错误。
首先,使用-h
选项指定头文件有什么显着的好处吗?如果是这样,指定头文件的正确语法是什么?我也可以指定emacs在解析其他文件(扩展名为“.v”和“.sv”)之前先查看这些头文件(扩展名为“.vh”和“.svh”的文件)
struct - 使用 Synopsys VCSMX 与 SystemVerilog/SystemC 连接的 VHDL 记录端口
美好的一天,感谢您查看这个问题
我正在使用 VCSMX(2011 年 6 月版本)模拟具有记录类型接口的核心。内核全部用 VHDL 编写。我正在使用 Systemverilog (SV) Testbench 来激发这个核心。
记录看起来像:
我读到 VHDL 记录类型与 SV 中的结构相同。但是,当我尝试在 SV 中实现 ll_port 结构时,这似乎仍然是 VCSMX 中不受支持的功能。确定的解决方案是将记录端口分解为std_logic和std_logic_vector。
但是,VHDL 中的这种记录类型会被多次使用,并且最终系统中会有多个内核交互,使得每个记录端口的分解非常麻烦。
我想看看如何处理这个问题,以及在这件事上我能得到什么建议。我已经在 SystemVerilog 中有一个自定义模拟基础架构,想知道是否有解决此问题的方法。
RRS
verilog - How to import SystemVerilog macros?
I am developing a SystemVerilog monitor that extends ovm_monitor and I'd like to know how to import the ovm macros that I am using. I am using:
I tried the following at the top of my file, both of which do not compile:
and
VCS compile error:
The following works, but I consider it bad practice to use * in the import statement: