问题标签 [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 回答
1084 浏览

verilog - SoC 中的信号如何在 PAD 处连接以到达 TOP

微控制器中外围设备的信号/端口如何连接到 PAD?比如说,我的 SoC 有“n”个信号。然后这些“n”信号将连接到焊盘,然后到达顶层。这种连接是如何完成的?

0 投票
1 回答
4037 浏览

verilog - 接口端口必须传递一个实际的接口:system verilog

我有一个顶级文件,其中有一个接口实例。这是我的顶级文件中的代码

test 是我的 LC3_test(Testbench) 的实例。

现在,在将此接口传递给我的 Testbench 之后。我有一个单独的测试台文件,其中我的第一行代码是:

我在测试台上写了一些其他的代码。

我试图模拟测试台时的问题是:

我不明白问题可能出在哪里。我正在使用 vlog 编译所有必要的文件,并尝试使用 vsim 运行/模拟我的测试台。我尝试删除程序并使用模块代替测试台,但问题仍然存在。我在这里有什么遗漏吗?谢谢

0 投票
1 回答
179 浏览

include - Verilog综合错误:“期望结束模块”,使用`include指令时

编译下面的 try_main.sv rtl 时出现“expecting endmodule”错误。它似乎源于“t_five_bits i_comb_sig;”的声明 在 try_top 模块中。一旦我注释掉该声明,错误就消失了。

我可以知道如何解决这个错误吗?

提前致谢 :)

文件名:bit5.svh

文件名:try_main.sv

0 投票
2 回答
204 浏览

verilog - Verilog RTL 文件中的总是模块不工作,但一旦包含在测试台中就可以工作

这似乎是一个非常幼稚的问题,但我刚刚开始使用 Verilog(如果有帮助,我使用 Xilinx ISE)。

我正在尝试实现一个移位寄存器,它按端口PI中指定的值移动输入。shft当我在 RTL 文件中包含移位逻辑时,移位不起作用,但是当我将与移位对应的 always 块移动到测试台时,它可以工作。请在这件事上给予我帮助!

0 投票
2 回答
2537 浏览

if-statement - How can I use Verilog defines in an if-else statements

I have a Verilog define like this:

and if want to use it in the following code:

Lint tool is complaining that this expression is going to always be evaluated to true.

0 投票
2 回答
2982 浏览

verilog - 执行综合时如何将参数传递给verilog模块?

我有一个参数化的verilog模块,它的位宽是可变的,具体取决于`define WIDTH.

但是,我希望能够通过在使用设计编译器的综合过程中传入参数来以某种方式更改 WIDTH 的值。

我想知道是否有办法做到这一点?

例如,我希望能够为设计编译器的输入文件编写以下内容:

0 投票
2 回答
2702 浏览

hardware - 将模块名称作为参数传递

我想为我正在编写的一堆模块创建这个通用包装器。包装器应该能够将这些模块连接到不同类型的 NoC,而无需更改内部模块的行为。

我认为这样做的一种方法是以下。考虑一个非常简单的模块来包装:

包装器应如下所示:

我得到的错误如下:

这是有道理的,因为参数与宏不同。一个完整的设计可能应该实例化一堆包装的模块,我不想通过为每个内部模块创建一个包装器来复制代码。我怎样才能做到这一点?

0 投票
1 回答
140 浏览

verilog - 添加偏斜以改善时序

我想提高我设计的工作频率,在寄存器到寄存器时序分析中,我观察到组合元素有很多延迟。这会影响电路的时序,观察到的松弛约为 -0.3ns,我想知道是否可以向目标寄存器添加约 3 ns 的偏移(类似于在时钟树中引入延迟或添加缓冲区这个节点)。如果可以做到这一点,我想在 synopsys 中为此使用命令。

谢谢

0 投票
1 回答
1962 浏览

verilog - Verilog 参数化宏用法

我正在尝试使用 Verilog 中的参数化宏通过宏名称动态更改实例的主模块,如下所示。

这里的目的是让顶部模块具有基于 TECH_1 和 TECH_2 宏值的两个不同的与门。

我的尝试在编译 RTL 时出现语法错误,如下所示:

错误:无效的模块项。

有人可以帮我解决这个问题吗?

0 投票
2 回答
1083 浏览

math - 如何摆脱 CORDIC 的比例因子

来自 CORDIC K_i = cos(tan^-1(2^i)),. 据我所知,K 已接近0.607xxx。我该如何接近0.607xxx

这是否意味着我可以使用0.607xxx而不是cos(tan^-1(2^I))?我从这篇文章中引用。

我正在尝试实现双曲 tanh 函数。到目前为止,我理解(6)方程。我不确定如何制作 K 以及如何使用它?

更新 :

我想知道总缩放概念在哪里应用以获得正弦,余弦角。这里有一些例子,我设置指定的角度是20。我想知道正弦,余弦角。过程如下。

ndxy 角 K 反正切值

0 1 0.7071 0.7071 0.7854 0.7071 0.785398

……

10 -1 0.9395 0.3426 0.3497 1 0.000976

我们可以得到如果指定的角度是20 degree(0.3491) 那么我们得到sine (20) = 0.9395 Cos(20) = 0.3497

完毕。

concept(0.607)但我仍然对总缩放适用于哪里感到好奇?在哪里使用总缩放concept(0.607 )来获得 sin, cos 角度?