问题标签 [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 投票
1 回答
845 浏览

vhdl - 不需要的一个时钟延迟 vhdl

有人可以解释一下为什么我对以下内容的模拟有一个时钟延迟,我该如何解决它,它不应该存在,因为我在输出上遗漏了一点......

是我的实体,并且clk 1的每个上升沿都需要一个整数。根据它是什么整数(1、2、3、4...),它选择数组的相应行。该行是 32 位的。我想每个clk2输出 32 个中的一位。例如,如果clk1 = 100那么clk2 = 100/32

不需要的延迟如下所示。我希望每 32 个周期读取新行(根据输入整数)等等....

在此处输入图像描述

顺便说一下,第一个时钟(代码中),(图片中的第二个时钟)与问题无关,只是想知道整数何时到来

0 投票
0 回答
56 浏览

vhdl - 45纳米技术逻辑门延迟的理论计算

我在 xilinx 中使用 VHDL 设计了一个 32 位 mac 单元。现在,我想从理论上计算延迟并与从 xilinx 获得的时序报告进行比较

有没有计算逻辑门延迟的具体程序???

0 投票
1 回答
2236 浏览

assembly - 如何在 ARM 程序集中标记内存位置?

在 ARMSIM 中编写代码时,我想将特定的内存位置(例如)0x2000 标记为 PATH,并在 MOV、LDR、STR 指令的 ARM 汇编代码中使用它。请让我知道这是否可能。

0 投票
1 回答
1447 浏览

assembly - arm 汇编代码中是否有任何特定程序接近生成 32 位二进制随机数?

arm 汇编代码中是否有任何特定程序接近生成 32 位二进制随机数?我需要一个程序的 1000 个测试用例。

0 投票
2 回答
7891 浏览

vhdl - 类似于vhdl的verilog中的整数输入端口?

我是verilog的新手。我已经使用 vhdl 中的整数输入和输出构建了我的代码。现在我想在verilog中构造相同的代码。但是我知道verilog中的输入端口不能是整数类型。可以做什么。我更喜欢一个可综合的答案。

vhdl 代码:

0 投票
1 回答
222 浏览

vhdl - vhdl 中的 8 位容错加法器。我已经尝试了可用的代码,但它们似乎不起作用

“无符号 8 位容错加法器”在“vhdl 代码”中添加两个 8 位数字。我已经尝试过下面的代码。它给出了这些错误 ** 错误:C:/Modeltech_pe_edu_10.4a/examples/etl1.vhd(34):靠近“信号”:语法错误 ** 错误:C:/Modeltech_pe_edu_10.4a/示例/etl1.vhd(41):“EOF”附近:语法错误

#

下面的代码

。提前致谢..

0 投票
4 回答
1216 浏览

tcl - 无法加载文件“/usr/lib/x86_64-linux-gnu/magic/tcl/tclmagic.so”

我在运行magic vlsi 时遇到问题。问题是

我认为这是由于:

文件/usr/lib/x86_64-linux-gnu/magic/tcl/tclmagic.so存在

运行魔法的错误来源来自 shellscript 中的 qflow display.sh

在此处输入图像描述

我该如何解决这个问题?

0 投票
1 回答
63 浏览

vhdl - “if”块是否有可能退出 vhdl 中的给定选择?

下面是使用 IF 块的 VHDL 代码。在最后一个“elsif”中,“my_choice”的值被分配给“ch4”。然后执行“else”块,因为不满足任何条件。但是,“my_choice”是否有可能获得除 (ch1,ch2,ch3,ch4) 之外的其他值,例如高阻抗(或其他任何值)?如果是这样,我该如何避免这种情况?由于这个赋值可以改变代码的操作。

0 投票
1 回答
811 浏览

vhdl - 如何删除 vhdl 中的锁存器和 RTL_ROM 的用途?

下面的代码是一个简单的 16 位加法器(它只使用一个四位加法器)。我试着避开所有的闩锁。但我无法删除图像中突出显示的锁存器(sum_16_temp)。谁能帮我避免这个闩锁。如果有人能帮助我理解RTL_ROM的用途(在闩锁之前的next_state_i ),我将不胜感激

在此处输入图像描述

0 投票
3 回答
895 浏览

verilog - RTL 设计中的时钟门控如何工作?

我试图了解时钟门控在 RTL 设计中是如何工作的。

我在这里有一个示例波:

在此处输入图像描述

描述:

所以这个波中有 3 个周期(比如说周期 0,1,2)。在第 0 周期,clock_enable 为低电平,gated_clock 关闭。在周期 1 中,clock_enable 变为高电平,在下一个周期(周期 2)中,gated_clock 开启。

现在,在模拟过程中,我看到了一些情况,其中在周期 1 接收到的传入数据被正确注册到由时钟门控的模块中(使用gated_clock)。这对我来说有点奇怪,我不太明白这怎么可能。

逻辑是这样的:

所以我看到如果in_validin_readycycle 1那么some_val将注册传入的in_val数据,它将在cycle 2. 然而,在 中cycle 1gated_clock为零。那么 in_val 是如何在这里采样的呢?据我了解,gated_clock如果我们想要 flopin_val的话,posedge 必须是 1 cycle 1

我可能会遗漏一些核心电路级数字设计概念。我真的很感激任何帮助。

更新波: 在此处输入图像描述

所以在这里你会看到cycle 0,gated_clock关闭但in_val很高in_ready。输入数据in_val也很高。在下一个周期some_val变高。因此,即使关闭,它看起来也像是in_val被捕获了。cycle 0gated_clock