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

interface - 用于多个时钟的系统 verilog 接口

我的 DUT 是一个内存控制器。我必须为 DUT 编写一个系统 verilog 接口。内存控制器 DUT 支持 32 个 AXI 主控。当我编写 AXI 接口时,它将由 ACLK 组成,该 ACLK 生成并通过顶部(验证)传递。当我将此接口连接到 DUT 时,是否会有 32(AXI ACLK) + 1(DUT 在其上工作的时钟),总共有 33 个时钟到 DUT。我对此感到很困惑。从逻辑上讲,DUT 中应该只有一个 clk ..

提前感谢您的答案

0 投票
1 回答
862 浏览

verilog - 在 Verilog 中将 4 位移位寄存器输出连接到另一个模块中的 4 位输入

对于我们的学校项目,我正在尝试使用线性反馈移位寄存器在硬件(七段)上生成伪随机数。我已经编写了 LFSR 和七段模块,但是我无法将这两个模块相互连接。该项目综合,但 HDL 图没有显示 LFSR 和七段模块之间的任何连接。下面是代码。

谢谢您的帮助。

0 投票
4 回答
2940 浏览

vhdl - 在 VHDL 测试平台中等待一个不定时的信号

我编写了一个模拟过程,可以根据需要按顺序设置或更改信号,我通常使用等待语句来等待某些时间间隔或等待信号分配,但只有当我知道信号何时应该到来时才是正确的,例如:

但现在我需要做一些不同的事情,我有一个通常为 0 的信号,并且每当它变为 1 时我都需要暂停模拟刺激。但是信号没有计时。这意味着我不能用简单的等待语句来做到这一点,因为模拟只会在特定时间等待它。我希望这种效果一直发生。怎么做这样的事情?

0 投票
1 回答
7838 浏览

verilog - 用不同风格编写的 Verilog FIFO 代码。一个不工作,另一个不工作。有人能解释一下吗

我已经为 fifo 编写了 verilog 代码,使用 fillcount 作为检查它是满还是空的方法。相同的代码有 2 个版本。一个是我有一个单独的总是阻塞读取,写入,空/满,填充计数,一个用于递增指针。这很好用,我已经测试过了,它很好用。

另一种方法是我将几个总是影响逻辑的块组合在一起(在我的理解中!!)但它不适用于我在立即写入后尝试读取数据的情况。它通过了所有其他测试用例。

我不确定出了什么问题。如果有人能指出我哪里出错了,那就太好了。

另一个问题:据我所知,在verilog中编码的一般方法是使用fsm绘制状态图并使用它们..但是当我尝试为fifo、Tcam或双时钟先进先出。是否有任何方法或方式为这些元素进行编码。

对不起,很长的问题

0 投票
2 回答
1630 浏览

vhdl - 为什么延迟不能在verilog中合成?

我一直读到 RTL 代码中声明的延迟永远无法合成。它们仅用于模拟目的,现代综合工具只会忽略代码中的延迟声明。

例如:x = #10 y;将被视为x = y;由综合工具。

有人能解释一下为什么不能合成任何硬件描述语言(即VHDL、Verilog或Sytem-Verilog)中的延迟声明吗?

0 投票
1 回答
1687 浏览

tcl - 在 TCL TK 中将按钮文本向左对齐

我正在尝试使用 Tcl.tk 构建 Gui 并在 ICC (Synopsys) 中使用它。问题:所有文本都居中而不是左对齐。每次创建“checkbutton”都会在中心显示文本。如何订购文本以证明左侧是合理的?如何禁用“checkbutton”周围的光环?

}

顶级示例

0 投票
1 回答
498 浏览

vhdl - 并发语句的多重赋值

以下代码给了我一个错误,我自己无法弄清楚。错误是因为输出d0有多个赋值

0 投票
2 回答
22642 浏览

verilog - How to use clock gating in RTL?

I am clock gating some latch and logic in my design. I don't have much experience in synthesis and place & route. What is the proper way to implement clock gating in RTL?

Example1:

Example2: I stumbled into a RTL examples while doing some research about good practices in RTL clock gating. That example implemented the above code like this:

What is the purpose of using custom clock gating cell? Does the tool have hard time in synthesis if clk is directly "and"-ed in a always_comb block with another enable signal? I am having a feeling that using special clock gating cell is a standard approach to generated gated clock signal. I am trying to understand why this is the case.

0 投票
1 回答
54581 浏览

verilog - 用于将 verilog 输出写入文本文件的测试台

我无法在文本文件中获得正确的输出,但是在 modelsim 中的模拟非常好.. 但是在将其写入文本文件时,我会为每个输入获取 XX。可能有一些语法错误或其他一些错误。如果有任何可以帮助请写下测试台以编写触发器(例如)的dout(输出),每个dout(输出)都显示在文本文件的新行中。

代码:

试验台:

0 投票
1 回答
514 浏览

memory - 带有 DATA-IN 和 DATA-OUT 的 verilog 中可重新配置的内存实例作为参数传递

如何制作一个内存模块,其中DATA总线宽度作为参数传递给每个实例,我的设计根据参数重新配置自己?例如,假设我有字节可寻址存储器,DATA-IN总线宽度为 32 位(每个周期写入 4 个字节)并且DATA-OUT为 16 位(每个周期读取 2 个字节)。对于其他实例DATA-IN是 64 位和DATA-OUT16 位。对于所有这些情况,我的设计都应该有效。

我尝试的是根据设计参数生成写指针值,例如DATA-IN32位,写指针在写时每个周期都会增加4。对于 64 位,增量将是 8,依此类推。

问题是:如何根据传递给实例的参数,在单个周期内写入 4 个或 8 个或 16 个字节?