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

slice - Myhdl:将位片分配给带符号的变量失败并出现负值

添加的代码因 ValueError 而失败,我不知道出了什么问题。这是我想做的:在我的 fpga 中,我通过 spi 接收数据。数据是到达 16 位寄存器 rxdata 的双极性信号(在测量信号的意义上)。

任务是将这个信号解释为有符号,并且只需要高 12 位(包括符号)。因此,变量 bipolar 是 12 位宽和有符号的,即在代码中声明。然后我分配:

我的问题是,一旦数据变为负数(即最高有效位变为 1),12 位切片的分配就会失败。

例如在运行时使用数据 0x8fff 我得到:

'ValueError:intbv 值 2303 >= 最大值 2048'

我不希望这样,因为双方都被声明为签名并且数据适合变量双极。

还有另一种方法可以做到这一点吗?

(顺便说一句:bipolar[:].next=rxdata[:4].signed() 我得到 0 作为结果,我也不期望)

0 投票
0 回答
34 浏览

myhdl - MyHDL 0.11 在一个简单的解复用器实现上出错

去年我做了一个解复用器 myhdl 实现(正在工作),我今天重新访问它并更新到 myHDL 0.11,我的原始代码出现错误并开始进行修改。这是我最新的修改。

它生成了一个 VHDL 文件,但我在 Altera Quartus 上遇到错误:

错误 (10405):flexibledemux.vhd(35) 处的 VHDL 错误:无法确定标识符“shift_left”处或附近的对象类型——找到 0 个可能的类型错误:Quartus Prime 创建符号文件不成功。1 个错误,0 个警告

我也试过这个

但这给了我一个 Python 错误: AttributeError: 'BinOp' object has no attribute 'value'

我的实施可能有什么问题?谢谢

0 投票
1 回答
50 浏览

python - 我需要将此 VHDL 代码转换为 MyVHDL Python,如何?

我需要将此代码转换为 python 中的 myhdl 以用于我的学校工作,任何人都可以帮助我吗?

0 投票
0 回答
16 浏览

fpga - 如何使用 MyHDL 模块在 PYNQ Z1 上实现以下数学方程?

请你能帮我解决这个问题吗?

如何使用 MyHDL 模块在 PYNQ Z1 上实现以下数学方程?

知道 , X, a 和 H 是实变量。

如何进行方程的数据通路设计?

0 投票
0 回答
83 浏览

python - 有没有更简洁的方法来创建一组空列表?

我可以将一堆空列表声明为:

a,b,c = [],[],[]

或者

a,b,c = [0]*16,[0]*8,[0,1,2]

有没有更简洁的方法来声明一堆列表?

(我还使用了列表推导和专门的类来做到这一点,我只是在寻找一种更简洁的方法。)

编辑:

这是对一个用例的简化解释:在 Verilog 中,我可能会执行以下操作:

wire [31:0] a, b, c, d, e;

或者

input [7:0] in1, in2, ETC。

在 C++ 中,我可以使用类 Wire 的实例对此进行建模,例如:

Wire32 a, b, c;

在 Python 中,如果我要使用类方法,一种方法可能是:

这对我来说似乎有点冗长。当通过 MyHDL 块时,它变得更加复杂。不过,我希望这可能是对可能导致相关创造性解决方案的用例的合理简化。

我目前的解决方案是:

a,b,c = [Wire(32) for i in range(3) ]

我不喜欢这个解决方案的一些事情:

0 投票
1 回答
10 浏览

python - 函数内部的 MyHDL 信号未显示在 VCD 中

我应该能够在生成的 VCD 文件中看到这些吗?

我可以看到我在顶层创建的所有信号,但看不到函数本地的信号

这是我用来生成 VCD 的代码: