问题标签 [vlsi]

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 投票
0 回答
73 浏览

vhdl - 具有良好时序的高效有符号乘法器

我正在制作一个有符号乘法器,为此我创建了半加器​​、全加器、波纹进位加法器,最后是一个乘法器。代码如下所示。我怎样才能让它更快以获得更好的时机。我的最后一项任务是制作一个以 100Mhz 运行的冷杉滤波器。此过滤器使用多重乘法运算(通过使用我的乘数)。那么你能通过流水线或并行等一些优化技术帮助我改进我的设计吗?

-- 全加器

-- 波纹进位加法器 40 位

-- 乘数,我先计算部分乘积,然后通过 rca 加法器相加。

过滤器设计

0 投票
1 回答
151 浏览

verilog - 在verilog代码中可以是几个supply1网吗?如果是,是什么意思?

在verilog代码中可以是几个supply1网吗?如果是,是什么意思?

0 投票
1 回答
1863 浏览

add - Differences between Wallace Tree and Dadda Multipliers

Could anyone tell the difference in the partial products reduction method or mechanism between Wallace and Dadda multipliers ?

I have been reading A_comparison_of_Dadda_and_Wallace_multiplier_delays.pdf

Wallace VS Dadda

0 投票
1 回答
44 浏览

clock - 我应该参考哪本书来了解 VLSI 的触发器时序图(对于下面给出的此类问题)?

在此处输入图像描述

我正在攻读电子系统设计硕士学位,这是我今天考试的试卷,无法正确回答前三个问题。

0 投票
3 回答
316 浏览

verilog - 网表中是否可以有两个实例具有相同的名称?

网表中是否可以有两个触发器/任何其他实例具有相同的名称?

考虑到没有层次结构,假设我有一个 10M 实例的设计并且存在一个名为 foo 的翻牌,是否有可能另一个翻牌具有相同的名称“foo”?

0 投票
1 回答
405 浏览

vlsi - 如何在 APB 协议中从从机生成 PREADY 信号?

我正在设计 AMBA APB 从站。我的设计中 AMBA APB 的所有信号都是从主机端正确生成的,但是在什么情况下我的从机应该生成 PREADY 信号?PENABLE、PSEL、PADDR 和 PDATA 可从主机获得。我的从机应该什么时候产生 PREADY 信号?在设计从机以使 PREADY 高时,我应该考虑哪些具体情况?我的数据是否应该仅在 PREADY 为高时才传输?

0 投票
1 回答
302 浏览

verilog - 如何在系统 verilog 中驱动来自 2 个源的信号

我正在尝试编写一个 RTL 模型,在该模型中我监视独立的时钟源。这些时钟源可以具有可变频率(范围 5 到 50MHz)

让我们说 clk1 和 clk2。我正在尝试驱动一个信号“toggle”,该信号在 clk1 的每个 posedge 处设置为“1”,在 clk2 的每个 negedge 处设置为“0”。我很难实现这个模型。

我尝试使用在 clk1 的正沿触发的 1 个触发器,该触发器的输入绑定到“高”,另一个触发器在 clk2 的负沿触发,输入绑定到“低”。我将这些输出发送到一个多路复用器,但我无法弄清楚如何驱动这个多路复用器的选择信号

这是我的代码片段:

所以,到目前为止,没有什么可以推动 sel 并试图弄清楚这是我遇到麻烦的地方

如果我尝试从 2 个不同的时钟源驱动相同的信号(切换),我会收到一条错误消息,指出为信号切换找到了多个驱动程序,这是有道理的。

如果您有任何建议,请告诉我

编辑:修复了一个错字并从 flop2 的敏感度列表中删除了 rstb

0 投票
2 回答
231 浏览

verilog - 当他们从 RISC V 多核处理器中的 2 个内核收到 2 个写入请求时,共享内存会做什么?

我只是在做一个项目“设计一个基于 RISC-V ISA 的双核处理器,没有管道,没有私有或共享缓存,并且 2 个内核共享一个数据存储器”。我设计了 RISC V 单核处理器并且它工作正常。有一点我不明白:

1)当数据存储器在同一个地址收到 2 个写请求时,它会做什么?(我如下图所示阅读书籍 => 所以 2 个内核必须一起竞争才能获得访问权限?我的设计是否安全(因为我认为当我预先合成和模拟时很难验证))还有更好的吗? 计算机体系结构:定量方法,第 6 - 第 382 页

2)我提到的大多数多核处理器参考都是应用缓存并使用一些协议(MESI,MSI,MOSI ...)来保持一致性,为什么这些协议的 FSM 我只看到 1 个事件像 R/W 请求一样发生同时来自处理器或总线,我没有看到它们如何同时执行 2 条存储指令或加载和存储指令(相同的地址)?

抱歉问了太多问题,但我真的很想知道。

0 投票
2 回答
178 浏览

compilation - 由于 z,我无法编译此 VHDL 代码,但我不知道为什么以及如何修复它

我在用 ModelSim 编译这个 VHDL 代码时遇到这个错误:

VHDL代码:

testVHDL_5 是我的文件名。我知道问题是z不能在x中使用。有人可以解释原因并提出解决方案。谢谢。

0 投票
1 回答
1068 浏览

verilog - 如何理解verilog中的阻塞和非阻塞语句?

我了解 Verilog 中阻塞和非阻塞语句的基本区别。但是我仍然无法理解&何时何地使用阻塞和非阻塞语句发生了什么。例如,考虑简单的 d ff 代码:

但是,如果我使用两段编码技术编写完全相同的逻辑:

现在,在这段代码中,我只是不明白为什么<=在第一个 always 块中使用以及为什么=在第二个 always 块中使用。我也知道在组合逻辑电路=中建议&按顺序使用,<=建议使用。但是,我仍然无法找到使用阻塞和非阻塞语句的答案。你能帮我么!?