问题标签 [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.
slice - Myhdl:将位片分配给带符号的变量失败并出现负值
添加的代码因 ValueError 而失败,我不知道出了什么问题。这是我想做的:在我的 fpga 中,我通过 spi 接收数据。数据是到达 16 位寄存器 rxdata 的双极性信号(在测量信号的意义上)。
任务是将这个信号解释为有符号,并且只需要高 12 位(包括符号)。因此,变量 bipolar 是 12 位宽和有符号的,即在代码中声明。然后我分配:
我的问题是,一旦数据变为负数(即最高有效位变为 1),12 位切片的分配就会失败。
例如在运行时使用数据 0x8fff 我得到:
'ValueError:intbv 值 2303 >= 最大值 2048'
我不希望这样,因为双方都被声明为签名并且数据适合变量双极。
还有另一种方法可以做到这一点吗?
(顺便说一句:bipolar[:].next=rxdata[:4].signed() 我得到 0 作为结果,我也不期望)
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'
我的实施可能有什么问题?谢谢
python - 我需要将此 VHDL 代码转换为 MyVHDL Python,如何?
我需要将此代码转换为 python 中的 myhdl 以用于我的学校工作,任何人都可以帮助我吗?
fpga - 如何使用 MyHDL 模块在 PYNQ Z1 上实现以下数学方程?
请你能帮我解决这个问题吗?
如何使用 MyHDL 模块在 PYNQ Z1 上实现以下数学方程?
知道 , X, a 和 H 是实变量。
如何进行方程的数据通路设计?
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) ]
我不喜欢这个解决方案的一些事情:
python - 函数内部的 MyHDL 信号未显示在 VCD 中
我应该能够在生成的 VCD 文件中看到这些吗?
我可以看到我在顶层创建的所有信号,但看不到函数本地的信号
这是我用来生成 VCD 的代码: