我正在尝试使用 Quartus 和 ModelSim 使用$dist_uniform生成一个随机数。 相关代码部分如下(在一个循环内): 'rand' 始终为 20,而 'rand_test' 在每次迭代中都不同。 将不胜感激有关此事的任何建议。 我已经尝试了$dist_uniform的许多变体以 ...
我正在尝试使用 Quartus 和 ModelSim 使用$dist_uniform生成一个随机数。 相关代码部分如下(在一个循环内): 'rand' 始终为 20,而 'rand_test' 在每次迭代中都不同。 将不胜感激有关此事的任何建议。 我已经尝试了$dist_uniform的许多变体以 ...
我试图从我的代码覆盖率报告中排除某些 vhdl 文件,但我无法让它工作。 我的报告总是显示所有可用的文件。 我的工作流程如下: 在 Modelsim 中,我使用代码覆盖选项手动编译文件(在 GUI 中)。 测试台的脚本是这样的 Modelsim 将我的排除项(在 GUI 中)识别为“未决排除项”。 ...
我写了一个4位的全加减法器,我的代码成功地进行了减法运算,但加法运算失败了,比正确答案多了1:0101+0101=1011。 帮助! 这是全加减法器代码: 这是测试台代码: 这是模拟波: ...
错误:Add_sub.v(32):程序连续赋值中的 LHS 可能不是 a.net: co。 错误:Add_sub.v(34):程序连续赋值中的 LHS 可能不是 a.net: co。 我想为带有选择 en 的完整加法器-减法器编写一个 Verilog 文件(en == 0 是加法器,en == 1 ...
我做了一个计数器,就像我通常在 VHDL (Modelsim) 上做的那样,当我用我的测试台模拟我的代码时,所有的计数器根本不工作。 它们保持在 0。这是计数器的代码: 这是程序给出的警告:警告:算术操作数中有一个'U'|'X'|'W'|'Z'|'-',结果将为'X'(es)。 我已经阅读了多个关于 ...
我正在编写 tcl 脚本作为我的 VHDL 模拟的包装器,我正在尝试实现以下 VHDL 伪代码片段的等效项: 我试图通过在 tcl 中创建一个循环来做到这一点,该循环在一段时间内检查选通信号的值,但效率非常低。 据我所知,“何时”条款也无济于事。 有什么建议吗? 你运行它: ...
我正在 modelsim 中制作一个简单的时钟分频器。 测试时我注意到一个 if 语句永远不会被执行。 知道为什么吗? 这是 if count > 3 then 语句。 Modelsim 给出计数器 integer(4、5、6 等)的正确值,但永远不会将 go 放入 if 语句中。 ...
我试图通过实例化完整的加法器模块来模拟 BCD 加法器。 在没有测试模块的情况下编译代码运行良好。 但是,我目前的测试平台存在问题。 它显示错误: 在“tb_C”附近:语法错误,意外的 IDENTIFIER,期待。* 或 '.'。 我目前正在尝试学习 HDL 的自上而下方法。 ...
我有一个关于检测 std_logic_vector(4 downto 0) 变化的问题。 这是我的代码: 但是当我运行我的模拟时,我得到了一个“X”的呜呜声,这意味着信号有多个驱动程序,我不知道为什么。 谢谢 ...
我有一个 .txt 文件,其中包含在应用某些刺激期间我想在测试台中监视的某些信号。 我正在创建一个初始块,在其中我正在读取文件,然后我尝试为我读过的每一行生成一个init_signal_spy() 。 到目前为止,我编写的代码具有以下格式: 在上面的代码中,就在我为间谍发出生成之前,我得到了错误的原 ...
由于某种原因,always 块不起作用。 encoder_reg 没有得到任何值。 如何为始终块中的 reg 赋值? 编辑:我也在此处添加测试台代码。 所以我们向 Ux 提供了一些输入,这些输入必须被移位并存储在 encoder_reg 中。 在encoder_reg的位之间进行模2加法(XOR ...
我收到此错误“**错误:(vlog-13069)C:/Users/pc/Documents/ModelSim Proj/ram_system.v(60):靠近“(”:语法错误,意外'(',期待''' ." 在使用Verilog的Modelsim中,我不知道那个错误在哪里,因为行中没有“(”,你能帮我 ...
我正在尝试实现 4 阶的转置形式 FIR 滤波器。我正在附加代码和波形。在第一个时钟周期中,我给出了一个复位信号,它将将 adder_output 初始化为 0。输入数据加载到第二个时钟周期。输入被写入寄存器。所以输入在第三个时钟周期被加载,并在第三个时钟周期得到输入和滤波器系数的乘法结果。但是在相 ...
如果我尝试使用具有无穷大结果的计算(以 float32 表示),则会出现一些意想不到的结果,就好像计算是双精度的。 对 shortreal 的简单转换不起作用,只能转换为位然后再返回。 在 Vivado 和 modelsim 中,我得到: 第二种转换方式最适合使用浮点数进行正确计算吗? ...
如何使用传感器激活 7 段 我创建了一个带有传感器的交通灯程序。 程序已按照我的意愿运行,如果传感器未激活,则高速公路将始终为绿色,小路为红色,如果传感器激活,则黄灯将激活 3 秒,然后变为红色10 秒。 如果传感器在 10 秒后仍然检测到汽车,则红绿灯将照常运行。 问题是当传感器不活动时,7 ...
我有一个简单的 VHDL 代码,它有两个过程。 第二个进程根据状态 CF 值更新输出端口 m_LED。 在模拟中,我看到了预期的行为。 但是当我对 FPGA 进行编程时,我注意到,输出端口 m_LED 正在产生一些随机值,这些值甚至没有在代码中分配。 我完全不知道这些价值观是从哪里来的。 任何提示将 ...
背景:我正在研究一个通用的脉动阵列。 我创建了一个名为“systolic_row”的实体来创建 systolic 数组的一行。 使用 std_logic_vectors 数组(类型“row_exchange_array”)将数据从一行传递到下一行。 这个一维数组被打包到另一个数组中,所有生成的行的大 ...
使用此代码时: 我收到错误消息: 但是,通过删除组件声明中的分号来修复此错误时: 该程序给了我以下错误: 我不太清楚为什么在修复语法错误时程序会中断。 我对该程序也很陌生,我无法使用其他示例找出问题所在。 有谁知道如何解决这一问题? ...
我是 Modelsim 的新手。 我有一个处理器。 在此模块中,时钟周期为 40 ps,我以 20 ps 的速度模拟项目。 我在列表中添加了一些变量,以便能够在每个周期中查看它们的值。 但是我已经意识到在一个时钟周期之后会出现ps和delta值。 这是在 80 ps 之后创建的。 这是在 40 ...
我是verilog的新手。 在我预定义的处理器设计中,控制模块定义为: 但后来在处理器模块中它被初始化如下: 前 8 个分配似乎是正确的,但在分支参数之后,还有一些其他参数需要设置。 我的问题是:verilog 中是否还有其他模块实现? 因为这段代码可以正常工作。 我可以正确获取信号。(据我了解, ...