问题标签 [verilog]
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.
algorithm - 通过位旋转查找循环调度中的下一个
考虑以下问题。您有一个位串,它表示单热编码中的当前计划从站。例如,“00000100”(最左边的位为#7,最右边的位为#0)表示从#2 被调度。
现在,我想在循环调度方案中选择下一个调度的从站,但要有所改变。我有一个“请求掩码”,它说明了哪些奴隶实际上想要被安排。下一个奴隶只会从那些想要的人中挑选出来。
一些示例(假设循环调度是通过向左旋转完成的)。示例 1:
- 当前:“00000100”
- 掩码:“01100000”
- 下一个时间表:“00100000” - 在正常循环中,#3 和 #4 应该在 #2 之后,但他们没有请求,所以选择 #5。
示例 2:
- 当前:“01000000”
- 掩码:“00001010”
- 下一个:“00000010” - 因为调度是通过向左循环完成的,并且 #1 是该顺序中的第一个请求从站。
现在,我知道,这可以很容易地在一个循环中编码。但我实际上想通过一个不循环的操作来得到我的结果。动机:我想在 VHDL/Verilog 中的硬件(在 FPGA 中)实现这一点。
一个额外的好处是组成一个对任意数量的奴隶 N 通用的算法。
顺便说一句,这不是一个家庭作业问题。每当想要以某种方式调度从属设备时,这是一个重要的问题,并根据从属设备的请求来调节调度。我目前的解决方案有点“沉重”,我想知道我是否遗漏了一些明显的东西。
logic - 您将如何在 Verilog 或 VHDL 中实现这种数字逻辑?
我发布了另一个 stackoverflow 问题的答案,该问题需要在 Verilog 或 VHDL 中实现一些数字逻辑,以便可以将其编程到 FPGA 中。
您将如何用 Verilog、VHDL 或任何其他硬件描述语言实现以下逻辑图?
编号的框表示字段中的位。每个字段都有K位,电流和掩码的位将由计算机系统提供(使用锁存寄存器或等效物)。接下来的位将被读回同一计算机系统。
替代文字 http://img145.imageshack.us/img145/5125/bitshifterlogicdiagramkn7.jpg
verilog - Verilog中$readmemh和$writememh的作用是什么?
我一直在查看一些大量使用$readmemh
和$writememh
.
我有一个模糊的理解,这些函数基本上是从内存中读取和写入的。它们的具体功能是什么,它们是如何工作的?
verilog - 用于测试平台的 verilog 或 systemc
我的任务是验证一些基于 Verilog 的 RTL 代码。现在,使用verilog 对RTL 测试平台进行编码似乎非常困难(对我而言)。所以我想尝试以下方法之一。- 尝试为 RTL 提供 PLI 接口,从而调用'C 函数进行测试 - 使用系统'C 连接'C 函数
PS:我已经有一个广泛的'C 代码用于测试行为模型。我是硬件编程领域的新手。任何指针将不胜感激。
hardware - 基于 FPGA 的 RTL 评估
目前我正在测试一些 RTL,我正在使用 ncverilog,它非常......非常慢。我听说,如果我们使用某种 FPGA 板,那么事情会更快。是真的吗?
verilog - 使用 DPI 将任务导出到“C”
我有一个基于 verilog 的测试平台,使用 DPI 连接到'C 源代码。现在使用 DPI,我打算编写我的整个固件。为此,我需要三件事
- 注册读取
- 寄存器写
- 中断处理程序 据我了解,寄存器读取和写入是我需要从 RTL 测试台导出的任务。和中断处理程序(我通过从'C导入一个函数来实现)。
我检查了大多数 cadence 文档,没有发现任何有用的提示。我也注册了 cadence 用户社区,但在他们批准我的注册之前,我似乎无法提问。
万一有人知道这一点,将不胜感激他们的帮助。
task - Verilog中的任务
我正在尝试编写一个提供变量 paddr 不同值的任务:
我试图从测试台调用这个任务并写道:paddr1 (paddr,clock);
它通过了编译但是当我尝试运行模拟时,我得到一个错误消息:未解决对'paddr1'的引用。感谢您的回答,任务在不同的文件中,然后是测试台
谢谢亚尼夫
hardware - Spartan-3E 上的随机数生成
我需要在 Spartan-3E FPGA 上为我的遗传算法生成伪随机数,我想在 verilog 中实现它:你能给我任何指示吗?
embedded - 为什么 XST 优化了我的寄存器,我该如何阻止它?
我有一个简单的 verilog 程序,它增加一个 32 位计数器,使用 $sformat 将数字转换为 ASCII 字符串,然后使用 FTDI FT245RL 一次将字符串推送到主机 1 个字节。
不幸的是,赛灵思 XST 一直在优化字符串寄存器向量。我尝试过各种初始化和访问例程,但没有成功。我似乎无法关闭优化,而且我在网上找到的所有示例都与我的初始化例程差别不大。我究竟做错了什么?
从环境 /opt/Xilinx/10.1/ISE 中的文件“3s100e.nph”加载应用程序 Rf_Device 的设备。WARNING:Xst:1293 - FF/Latch str_0 在 block 中有一个常数值 0。此 FF/Latch 将在优化过程中被修整。
WARNING:Xst:1896 - 由于其他 FF/Latch 修整,FF/Latch str_1 在 block 中具有恒定值 0。此 FF/Latch 将在优化过程中被修整。
WARNING:Xst:1896 - 由于其他 FF/Latch 修整,FF/Latch str_2 在 block 中具有恒定值 0。此 FF/Latch 将在优化过程中被修整。
verilog - 我们可以有一系列自定义模块吗?
我们可以为自定义模块提供一组实例吗?
例如:我们可以input [15:0] a;
- 这会创建一个总线。我们可以对自定义模块做同样的事情吗,即DFF [15:0] d;
DFF 是自定义模块吗?这里我打算创建 16 个 DFF 模块的实例。