问题标签 [register-transfer-level]

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.

0 投票
1 回答
440 浏览

scala - 使用伯克利硬浮动

我在我的项目中使用 Chisel3。我尝试如下导入硬浮点库:

但不幸的是,我得到:

我浏览了几个使用 hardfloat 的存储库,发现我的 build.sbt 中缺少这一行:

但不幸的是,我仍然收到错误消息。然后我尝试编译使用 hardfloat 而不进行任何修改的项目(例如soundkit),但我仍然得到同样的错误。我使用终端和 InteliJ 来编译我的项目并得到相同的结果。由于某种原因,hardfloat 库甚至没有出现在 IntelliJ 的外部库中。

在此处输入图像描述

如果有人让我知道可能是什么问题,我将不胜感激。

0 投票
1 回答
888 浏览

simulation - System Verilog Testbench 波形无数据

我正在尝试开发一个类似于逻辑计算器的代码;我已经成功地编译了代码和测试台,没有任何错误。这是代码:

这是当前的测试平台(这是一个较短的版本;我仍在努力寻找这背后的问题)

这两个文件都能够单独编译成功,没有错误。但是,当我尝试在 RTL 模拟器中编译它们时,我得到了以下结果:

https://drive.google.com/file/d/0By4LCb9TUml0WWVsZEYtcG03LVk/view?usp=sharing

尽管编译成功,为什么我的结果中仍然出现“无数据”?立即帮助将不胜感激。提前致谢。

0 投票
1 回答
390 浏览

verilog - 组合电路:仅在选择线为高电平时输出 2s 补码

我想设计一个实现以下逻辑的门级组合电路。不使用加法器是否可以做到这一点?

上面的verilog代码将实现为——4个反相器、1个全加器和1个多路复用器。是否可以进一步优化?

这个想法是将 sel 合并到 2 的补码逻辑中,并产生一个门电路,该门电路消耗的门数少于加法器电路。真的有可能吗?

0 投票
1 回答
46 浏览

verilog - 在 RTL 编码过程中,哪些项目被视为寄存器?

module a( input b; output c;) //在规划框图时要选择的寄存器 //eg:中断屏蔽,超时寄存器 endmodule

0 投票
0 回答
230 浏览

vhdl - VHDL - 当既没有时钟边沿也没有复位时,为什么我的寄存器输出会发生变化?

我使用以下代码在 VHDL 中实现了一个寄存器:

我在模拟它时注意到,当既没有上升时钟沿也没有复位时,它有时会改变它的输出。我在下面包含了来自 Vivado 仿真的波形,其中感兴趣的事件发生在黄色标记处。谁能向我解释这种行为?谢谢。

注册模拟

0 投票
2 回答
3770 浏览

vhdl - 如何解决 Vivado 中的“无时钟由根时钟引脚驱动的寄存器/锁存引脚”错误?

作为学习练习,我正在使用 VHDL 在 FPGA 上进行一些 HDMI 实验。在 Vivado (2017.1) 中实施它时,我在时序报告中遇到以下警告:

我打开了实现的原理图并寻找有问题的引脚。它似乎与其他所有东西都连接到同一个时钟(并且这些时钟没有在时序报告中标记),所以我对上述错误所指的内容感到困惑。以下是示意图中的一些照片:

在此处输入图像描述 在此处输入图像描述

这是违规设计的 VHDL 代码:

回想起来,我认为警告告诉我 Hsync_i_reg/Q 是用于 Vcount 寄存器的时钟,而不是 Hsync_i_reg 本身,如果没有连接到根时钟引脚?

我使用的方法是不好的做法并且不太可能奏效吗?整体设计不起作用,我试图了解这是否是原因。

谢谢。

0 投票
1 回答
56 浏览

simulation - 如何获取 RTL 中的属性状态

在某些情况下,注入错误会触发断言失败。所以,我通过开关通过 $testplusargs 关闭这个断言。有没有办法在测试用例结束时获取属性状态(空真,真真或失败),例如通过 PLI 或模拟器提供的其他方式(我正在使用 vcs)。有人对此有什么想法吗?非常感谢。

0 投票
1 回答
3409 浏览

verilog - 错误:未找到“检查器“xor_module_b”。实例化 'x0_1' 必须是可见的检查器。'?

找不到这个错误“检查器'xor_module_b'是什么。实例化 'x0_1' 必须是可见的检查器。'?我正在使用模块实例化在行为模型中编写 verilog 代码。编译时出现错误。附上部分代码和错误。

错误快照

0 投票
1 回答
749 浏览

fpga - Libero SoC 时序约束 (*.sdc) 差异

在设计 RTL 之后,我使用 Synplify pro 创建了 my_design.sdc 文件(用于约束时钟、输入/输出延迟……)。当约束正确时,我单击综合,然后我会自动获得另一个 my_design_sdc.sdc 文件。如果我右键单击第一个,我可以为 my_design_sdc.sdc 文件选择“用于综合”和“用于编译”。我不明白的是,哪个文件是做什么用的,因为在编译和布局布线之后,还有一个 SmartTime 软件,它采用 my_design_sdc.sdc 文件。

Q1:这两个文件有什么关系?

Q2:是否必须将它们都放在完整的链中(RTL 设计到编程)?

Q3:如果是这样,如果 SmartTime 的命令与 Synplify 不同,我如何确定约束之间的关系是相同的?

Synplify 多周期约束定义:

set_multicycle_path [-start|-end] [-from {objectList}] [-through {objectList} [-through {objectList} ...]] [-to {objectList}] pathMultiplier[-disable] [-commentcommentString]

SmartTime 多周期约束定义:

set_multicycle_path ncycles [-setup] [-hold] [-from from_list] [–through through_list] [-to to_list]

此外,Synplify 使用define_clock命令来定义时钟约束,SmartTime 使用create_clock。这些只是很少的区别。

我在用着:

  • Libero SoC v11.8 sp2(在经典约束流视图中)
  • 冰屋2
0 投票
1 回答
126 浏览

vhdl - 输出未连接到 rtl 中的其余设计

这是我第一次使用 rtl,所以我遇到了一些可能很简单的问题,但我无法找到任何解释为什么会发生这种情况以及如何解决它的东西。目前,当我从我的 vhdl 代码创建一个 rtl 时,输出未显示为连接到设计的其余部分。下图显示了输出,而不是设计的其余部分,因为它非常大。在此处输入图像描述

我的代码中相关的部分如下所示:

感谢您的帮助。我正在使用 Libero Polar Fire 对 vhdl 进行编码并创建 rtl。我已经模拟了代码,它按预期工作并提供了正确的输出。如果有不清楚的地方或想要更多代码,请提出问题。