问题标签 [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.
scala - 使用伯克利硬浮动
我在我的项目中使用 Chisel3。我尝试如下导入硬浮点库:
但不幸的是,我得到:
我浏览了几个使用 hardfloat 的存储库,发现我的 build.sbt 中缺少这一行:
但不幸的是,我仍然收到错误消息。然后我尝试编译使用 hardfloat 而不进行任何修改的项目(例如soundkit),但我仍然得到同样的错误。我使用终端和 InteliJ 来编译我的项目并得到相同的结果。由于某种原因,hardfloat 库甚至没有出现在 IntelliJ 的外部库中。
如果有人让我知道可能是什么问题,我将不胜感激。
simulation - System Verilog Testbench 波形无数据
我正在尝试开发一个类似于逻辑计算器的代码;我已经成功地编译了代码和测试台,没有任何错误。这是代码:
这是当前的测试平台(这是一个较短的版本;我仍在努力寻找这背后的问题)
这两个文件都能够单独编译成功,没有错误。但是,当我尝试在 RTL 模拟器中编译它们时,我得到了以下结果:
https://drive.google.com/file/d/0By4LCb9TUml0WWVsZEYtcG03LVk/view?usp=sharing
尽管编译成功,为什么我的结果中仍然出现“无数据”?立即帮助将不胜感激。提前致谢。
verilog - 组合电路:仅在选择线为高电平时输出 2s 补码
我想设计一个实现以下逻辑的门级组合电路。不使用加法器是否可以做到这一点?
上面的verilog代码将实现为——4个反相器、1个全加器和1个多路复用器。是否可以进一步优化?
这个想法是将 sel 合并到 2 的补码逻辑中,并产生一个门电路,该门电路消耗的门数少于加法器电路。真的有可能吗?
verilog - 在 RTL 编码过程中,哪些项目被视为寄存器?
module a( input b; output c;) //在规划框图时要选择的寄存器 //eg:中断屏蔽,超时寄存器 endmodule
vhdl - 如何解决 Vivado 中的“无时钟由根时钟引脚驱动的寄存器/锁存引脚”错误?
作为学习练习,我正在使用 VHDL 在 FPGA 上进行一些 HDMI 实验。在 Vivado (2017.1) 中实施它时,我在时序报告中遇到以下警告:
我打开了实现的原理图并寻找有问题的引脚。它似乎与其他所有东西都连接到同一个时钟(并且这些时钟没有在时序报告中标记),所以我对上述错误所指的内容感到困惑。以下是示意图中的一些照片:
这是违规设计的 VHDL 代码:
回想起来,我认为警告告诉我 Hsync_i_reg/Q 是用于 Vcount 寄存器的时钟,而不是 Hsync_i_reg 本身,如果没有连接到根时钟引脚?
我使用的方法是不好的做法并且不太可能奏效吗?整体设计不起作用,我试图了解这是否是原因。
谢谢。
simulation - 如何获取 RTL 中的属性状态
在某些情况下,注入错误会触发断言失败。所以,我通过开关通过 $testplusargs 关闭这个断言。有没有办法在测试用例结束时获取属性状态(空真,真真或失败),例如通过 PLI 或模拟器提供的其他方式(我正在使用 vcs)。有人对此有什么想法吗?非常感谢。
verilog - 错误:未找到“检查器“xor_module_b”。实例化 'x0_1' 必须是可见的检查器。'?
找不到这个错误“检查器'xor_module_b'是什么。实例化 'x0_1' 必须是可见的检查器。'?我正在使用模块实例化在行为模型中编写 verilog 代码。编译时出现错误。附上部分代码和错误。
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