问题标签 [myhdl]

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 回答
93 浏览

myhdl - 无法使用 EDAPlayground 编译器显示模拟

我已经尝试了 EDAPlayground.com 上 myHDL 手册中的以下代码,但它没有为我打印任何内容。谁能告诉我为什么?以及如何解决这个问题?

我在网站上的配置在此处概述。

测试台+设计:仅 Python 方法:MyHDL 0.8


从随机导入 randrange 从 myhdl 导入 *

0 投票
1 回答
161 浏览

python - 在同步器上运行测试台时出现 AlwaysError

我在运行测试平台以及基于两个现有 D-FF 构建的同步器时遇到了这个错误。

我的测试平台概述如下

我的同步器编码如下。

FF原型编码如下。

测试平台确实可以与我之前编写的类似测试平台一起工作(稍作修改),但是当将两个模块组合在一起时它不起作用。请说清楚。谢谢你。

0 投票
1 回答
217 浏览

python - myhdl 中的模块实例化

我目前正在研究 myHdl 以查看它是否值得使用。但是,我遇到了关于模块实例化的问题。我有两个文件,一个是模块,一个是测试台。在测试台中,我按照他们在网站上的示例实例化了模块: http ://www.myhdl.org/examples/flipflops.html

具体的实例化是这一行:dff_inst = dff(q, d, clk)

但是,当我尝试运行测试平台时出现错误:

我认为这与我有两个单独的文件这一事实有关,所以我的猜测是 python 没有找到 dff 模块(因为它在一个单独的文件中)。我尝试添加import dff一行,但这只是给了我一个'module' object is not callable类型错误,这是有道理的。

查看文档,他们没有完整的 .py 文件,所以我不确定他们如何将这些测试台与模块链接起来。他们特别提到了层次系统并能够实例化其他模块,但我似乎无法让它工作。

根据我从文档中了解到的情况,看起来他们只是在同一个文件中编写测试平台和模块。但是,据我了解,它们似乎暗示您可以导入模块,但我无法弄清楚这是如何完成的。我忽略了一些简单的事情吗?

0 投票
2 回答
134 浏览

python - myhdl 中的 yield 语句

我的 myhdl 环境中有以下代码:

上面的代码不起作用,但是当我用以下代码替换它时它起作用:

我对此感到困惑,如果有人能解释为什么函数定义中的产量不起作用?

0 投票
1 回答
204 浏览

python - MyHDL:此上下文不支持对象类型

我正在尝试将此代码转换为 Verilog:

但是,我收到以下错误:

在函数内部移动变量qwe会起作用,但我需要在外部使用这些变量,因为我需要在另一个模块中访问这些“常量”。

谁能解释为什么我得到这个错误,我怎样才能让它工作?

谢谢。

0 投票
1 回答
56 浏览

byte - 将多个引脚关联到一个变量的 myhdl 约束

我将使用 iCE40HX8K

给定评估板约束文件

将所有 8 个 LED 捆绑到一个变量中的最佳方法是什么

在向 LED 写入寄存器时,我不得不求助于这个

我正在生成这样的verilog ...(我在这里确实有来自单个信号的单个切片位,但它似乎会导致问题 - 即约束中的 LED3 不分配给任何东西)

已经够糟糕了,但它会因为并行地址和数据总线而变得笨拙......

我注意到在生成的verilog LED1-8 是这样指定的

在 always 子句之前和 always 里面

虽然所有这些都可以编译(硬件应该明天到货!)并且它可能(?)甚至可以工作......我相信它可以做得更好!

我很乐意使用位操作将 LED 一起作为单个字节处理......

0 投票
2 回答
136 浏览

python - 如何使 MyHDL 在过程中生成具有任意宽度的变量?

我想做一个列表中的信号总和,自然我使用了变量和 for(就像我在 VHDL 中一样):

问题是这将使用整数(在 VHDL 中)作为 sum 变量,这在 sum 的宽度超过 32 位时没有多大用处。

所以我试着做这样的事情:

我收到以下错误(在转换期间):

我不明白如何解决。我猜它以整数形式获得 intbv 的值,因此是不同的类型。

感谢您的任何建议

0 投票
1 回答
176 浏览

python - 动态实例化:如何在 myHDL 中动态连接接口

我正在尝试使用 pySerial 使用myHDL 1.0dev创建一个 python 库,用于在 PC 和 FPGA 之间动态创建 UART 接口

它采用数据类型及其属性的名称,并实例化一个 RAM 块,并允许访问 PC 上的读/写命令。但是,我遇到了动态连接 RAM 的问题。

对于一个最小的工作示例,我有这两个类。

UartBus 用于容纳许多 RamBus。现在我将尝试将它们与arbiter块动态连接。

如果我用这段代码转换它,我得到一个不正确的转换

这是不正确的verilog。

并且两条线同名!在 @always_comb 中使用字典不起作用,因为到目前为止,任何版本的 myHDL 都不支持字典进行转换。如何正确实现动态布线?

0 投票
1 回答
1167 浏览

python - MyHDL VHDL转换:没有索引值可以属于空索引范围

对于我实现并成功转换为 VHDL 的算法,我在“顶级 VHDL 设计的静态详细说明”期间收到此错误:

没有索引值可以属于空索引范围

我将代码归结为基本部分(您可能会认出 Cordic 处理器)。

有趣的部分是

d[x,y,z]当转换为 VHDL 时,它会为数组吐出类似的内容:

这最终会导致错误,因为数组不能是 from 0to -1-1。为什么会发生这种情况,我做错了什么?

0 投票
2 回答
167 浏览

verilog - 从 MyHDL 生成的 Verilog 代码中缺少输出端口

我正在尝试从以下 MyHDL 模块生成一个 verilog 模块:

顶部.py:

和,

计数器.py:

但是,在生成文件的模块定义中,(第 1-3 行)

顶部.v:

leds[7:0]缺失。即使这些 LED 未使用,我也需要将它们用于我的合成器,以将它们分配给开发板上的正确引脚。为什么 MyHDL 省略了它们?我怎样才能让它包括它们?