问题标签 [hdl]
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.
signals - “信号”是否意味着 VHDL 中的 δ 延迟?
您好,我想知道信号声明如何在 VHDL 中真正起作用。它是否意味着延迟,因为它是一个内部信号?信号有内部存储器吗?例子:
C 的这个声明是否引入了 δ 延迟?如果是,为什么?它是VHDL的标准吗?谢谢。
hardware - 在 Verilog Generate 语句中增加多个 Genvars
我正在尝试在 verilog 中创建一个多级比较器,但我无法弄清楚如何在单个生成循环中增加多个 genvar。我正在尝试以下操作:
并得到以下错误:
任何人都知道如何在同一个生成语句中增加多个 genvars?或者至少获得等效的功能?
arrays - Verilog中如何将多个数组合并为一个数组?
这是我的代码:
如何将 4 个数组组合成一个数组以从代码中获取指令?上面的代码无法编译!
编辑:
将代码更改为@toolic 建议的内容后:
仍然,它没有编译:
使用赛灵思:
使用 Verilogger Extreme:
numbers - 实数计算,Verilog HDL
我注意到 Verilog 将我的实数结果四舍五入为整数结果。例如,当我查看模拟器时,它显示 17/2 的结果为 9。我该怎么办?无论如何定义类似 a: 的东西output real reg [11:0] output_value
吗?还是必须通过模拟器设置来完成?
仅模拟(无合成)。示例:
x 定义为有符号输入,output_value 定义为输出 reg。
如果 x=+1 则输出值必须是:13/2=6.5
。
但是,当我模拟时,我看到了output_value = 6
.
loops - 如何打破 Verilog 中的总是阻塞?
我正在尝试使用 Verilog 中的行为代码来模拟一个简单的 MIPS 处理器。我已经完成了代码的编写,但我到达了最后一步,我想在执行完 MIPS 指令后打破始终块。这是我的代码:
我试过 $finish 但它不起作用:
那么,我怎样才能打破always
障碍呢?还是我应该改用别的东西?
verilog - Verilog execution order
I'm just starting to learn Verilog on my own after taking a course on VHDL. I'm having a trouble understanding the order in which behavioral statements are executed. Here is the code in question.
and here is the output
I don't understand why i isn't being reset to zero at each positive clock edge. Does myMain remember where it is in execution and continue from there each time clock is called? If so, where is it stopping? And how would all this be synthesized?
Two other minor question:
I tried to write start <= 1'b01; instead of assign start = 1'b01; in the second module but it wouldn't work. Why not?
the second is what's with the weird spacing in the output?
Thank you for your time.
simulation - 使用 Verilog 在 FPGA 上模拟 MIPS 处理器
我正在尝试使用 Verilog 在 FPGA 上模拟一个简单的 MIPS 处理器。这是我的代码:
我output reg[7:0] LEDs
在 FPGA 设备和 FPGAinput[7:0] Switches
的 8 个开关上连接了 8 个 LED。代码编译没有任何错误。但不幸的是,它不起作用。LED 应显示开关的状态,但它们始终处于关闭状态。
但是,当我尝试像块LEDs[7:0] = 8'b11111111;
内部一样对 LED 状态进行硬编码时initial
,LED 一直保持打开状态。而当我放在块LEDs[7:0] = 8'b11111111;
内时always
,LED 一直保持关闭状态。FPGA好像没有执行always
block里面的代码,怎么回事?我是否以错误的方式实施设计?
fpga - 在 FPGA 上测试 PCI 接口
我的老板给出了在 Altera 板上测试 PCI Express 的代码。该代码由几个 c 代码文件组成,其中包含读取 Bios、设置一些寄存器、写入缓冲区等指令。我目前的工作是通过运行代码来查看代码的功能。我是 FPGA 新手,我无法理解我将使用哪些工具、编译器等来为 FPGA 编译它。
由于它是 C 代码,所以我确信我不能使用与 Verilog/VHDL 相同的环境。我能否获得一些关于哪些编译器可用于编译 C 代码以测试 FPGA 的各种接口的提示?
谢谢并恭祝安康
H
parameters - 在verilog中使用带有for循环的参数进行位选择
我正在 Verilog 中设计一些硬件,但为了保持灵活性,我使用参数来设置宽度,以便我可以根据需要修改宽度而无需修改代码。我遇到的一个问题是在一段代码中,我希望能够并行写入多个单元格。
由于必须读取数据的方式,我需要将 r_data_buf 保留为数组。我也不清楚为什么 verilog 不喜欢这段代码,因为在编译时一切都是常数,或者我如何修复它并仍然获得我想要的行为。
vhdl - 在 VHDL 中,什么时候使用 Process 语句合适?
我正在经历第二次或第三次学习 VHDL 的阶段。(这次配备了一本非常好且免费的电子书),我终于开始“获得”相当多的内容了。现在我正在学习行为风格和过程陈述,其中大部分是有道理的。但是,我在许多地方读到过,除了某些情况外,应避免使用流程。我的意思是,理论上不能一切都在数据流而不是行为中实现吗?
什么时候应该明确应该使用流程声明?