问题标签 [yosys]

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

yosys - 是否可以从 AIGER 输出中删除时钟输入变量?

考虑这个例子:

生成的 AIGER 文件包含clk悬空的输入变量 。
是否可以避免将这样的时钟输入引入 AIGER?
谢谢。

0 投票
2 回答
788 浏览

yosys - 脚本参数

有没有办法将参数(或命令行参数)传递给 Yosys 脚本?

我在这个问题中看到(我们可以在 Yosys 脚本中有变量吗?)您可以在 TCL 解释器中运行 Yosys 脚本。有什么方法可以传递参数吗?

我这样做的原因是我有一个脚本,并且我希望能够使用 Verilog 文件的参数化路径调用该脚本。当然,这是一种常见的需求,并且必须有一些简单的方法来做到这一点,但我没有看到它。

0 投票
1 回答
1434 浏览

verilog - 如何在 Yosys 的初始块中分配 RAM 值?

我正在尝试使用初始块将值分配给只读推断 RAM:

Yosys 给出以下警告信息:

如果我忽略警告(或将初始分配更改为非阻塞),我会通过实验发现 RAM 直到上电后的某些时钟周期才会获得正确的值。

不能以这种方式使用初始块吗?yosys github repo 中对 issue #50 的讨论提供了一个示例模块mem2reg_with_two_always_blocks,表明它应该是。但是编译该模块会产生相同的警告消息。

0 投票
1 回答
528 浏览

verilog - Yosys 中的基元

我正在使用 YOSYS 将 Verilog 转换为 BLIF。输入是一个电路 (L_0_0),它只包含 not、and、or 原语和一些行为锁存代码。

这是我的 Verilog 代码

我使用的命令是:

输出文件包含 $_DFF_PN0_ 作为没有 .model 的 .subckt,因此当我将此文件输入 MVSIS 时,它会忽略所有 subckts。

如何将此子电路映射到其他工具已知的部分?

带同步复位的新输出如下。Verilog 输出端口都已连接,并且似乎它们也在 BLIF 中连接。

0 投票
2 回答
541 浏览

yosys - 错误检测到 Yosys 逻辑回路

我一直在为一些用例测试 yosys。版本:Yosys 0.7+200 (git sha1 155a80d, gcc-6.3 6.3.0 -fPIC -Os)

我写了一个简单的块,将格雷码转换为二进制:

这是verilog中可接受且有效的代码,其中没有循环。它通过编译和综合,在其他工具中没有任何警告。但是,当我在 yosys 中运行下一个命令时:

我知道找到了一个逻辑循环:

下一个等效的代码通过了检查:

我是否缺少某种标志或综合选项?

0 投票
1 回答
380 浏览

yosys - Yosys 在 2d 界面上给出语法错误

我在 Yosys 中的 2D 接口声明中得到“语法错误”,即使使用“-sv”标志也是如此。

有没有办法让 Yosys 接受下一个语法?

谢谢!

0 投票
1 回答
292 浏览

yosys - 我可以避免 opt_merge 删除 BUF 吗?(Yosys 三态解决方法)

我知道 yosys 的三态支持有限,但我正在寻找一种可能的解决方法。以下电路:

被解释为:

TBUF2 解析树

请注意,当 OE 为 0 时,C=SALIDA1 和 SALIDA2。在 opt pass 期间, opt_merge pass 删除 $2 mux 并生成:

TBUF2 优化

这会破坏电路(当 OE 为 0 时,C=SALIDA1)。我意识到这是因为 yosys/ABC 并不真正理解“1'z”输入的后果。是否可以保留满足以下条件的多路复用器?:

1) 至少一个输入是 1'Z

2) 它的输出驱动一个 inout 引脚

这是重现它的脚本:

0 投票
1 回答
147 浏览

yosys - 如何在 Yosys 中使用包含同名模块的多个 IP 核

考虑一个具有两个 IP 内核的设计ip1.vip2.v每个内核声明一个(不同的)具有相同名称的模块。

例如,内容ip1.v

和内容ip2.v

然后是使用两个 IP 核的顶级模块 ( top.v):

我怎样才能处理这样的设计,以便每个 IP 内核都能看到它自己的版本mygate

0 投票
1 回答
351 浏览

fpga - Yosys 在ice40 FPGA 上优化了环形振荡器

我尝试使用yosys(0.7)为ice40 FPGA实现一个简单的环形振荡器,如下所示:

但是,即使我正在使用该keep属性,它似乎也得到了优化。我可以在 yosys 日志输出中看到这一点:

我怎样才能防止yosys这样做?

0 投票
1 回答
113 浏览

yosys - 如何将电路分解为高级模块

我有兴趣采用逻辑描述的电路并将其分解为高级连接模块,其中每个模块最多有 6 个输入和 5 个输出。所以它在某种意义上类似于 FPGA,只是模块可以有多个输出,并且它们不需要实现为 LUT。我打算分别优化这些模块的逻辑。我怎样才能做到这一点?