首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用yosys的门级解析

使用yosys的门级解析
EN

Stack Overflow用户
提问于 2015-11-17 12:01:04
回答 1查看 1K关注 0票数 2

我想解析下面的顺序门级网络列表。我希望输出会给出门的排序(端口顺序),这样我就可以对代码进行其他计算了。我尝试使用yosys命令read_verilog s27.v来实现这一点。我能够调试代码,但我无法获得单元格库或任何东西,这将使我的大门排序。

P.S:我试着用abc编译器和我只得到主要的输入和输出顺序,而不是门,我之前问过你们是否能做到这一点,我得到了积极的反馈。

代码语言:javascript
复制
module s27 ( GND, VDD, CK, R, G0, G1, G17, G2, G3 );
  input  GND, VDD, CK, R, G0, G1, G2, G3;
  output G17;
  wire   G5, G10, G6, G7, G13, n1, n2, n3, n4, n5, n6, n7, n8, n9, n11,    
         n12,n13, n14;
  DFFSR \DFF_2/Q_reg  ( .D(G13), .CLK(CK), .R(R), .Q(G7) );
  DFFSR \DFF_0/Q_reg  ( .D(G10), .CLK(CK), .R(R), .Q(G5) );
  DFFSR \DFF_1/Q_reg  ( .D(n1), .CLK(CK), .R(R), .Q(G6) );
  INVX1 U1 ( .A(G17), .Y(n1) );
  INVX1 U2 ( .A(G2), .Y(n2) );
  INVX1 U3 ( .A(G3), .Y(n3) );
  INVX1 U4 ( .A(G6), .Y(n4) );
  AND2X1 U5 ( .A(n5), .B(n2), .Y(G13) );
  AND2X1 U6 ( .A(G0), .B(G17), .Y(G10) );
  OR2X1 U7 ( .A(n6), .B(n7), .Y(G17) );
  OR2X1 U8 ( .A(n14), .B(n8), .Y(n7) );
  AND2X1 U9 ( .A(n5), .B(n9), .Y(n8) );
  OR2X1 U10 ( .A(G1), .B(n12), .Y(n5) );
  AND2X1 U11 ( .A(n3), .B(n9), .Y(n6) );
  OR2X1 U12 ( .A(G0), .B(n4), .Y(n9) );
  INVX1 U13 ( .A(G7), .Y(n11) );
  INVX1 U14 ( .A(n11), .Y(n12) );
  INVX1 U15 ( .A(G5), .Y(n13) );
  INVX1 U16 ( .A(n13), .Y(n14) );
endmodule
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-19 14:42:08

如果存在拓扑顺序,新添加的torder命令将按拓扑顺序打印单元格。例如:

代码语言:javascript
复制
read_verilog test.v
hierarchy -generate * o:Y o:Q i:*
torder -stop DFFSR Q

此脚本应用于您发布的代码将产生以下输出:

代码语言:javascript
复制
module s27
  cell U4
  cell U12
  cell U3
  cell U11
  cell U15
  cell U16
  cell U13
  cell U14
  cell U10
  cell U9
  cell U8
  cell U7
  cell U6
  cell DFF_0/Q_reg
  cell U1
  cell DFF_1/Q_reg
  cell U2
  cell U5
  cell DFF_2/Q_reg

如果没有-stop选项,该命令还将为DFF输出端口创建依赖项,这将导致循环。在这种情况下,命令将打印循环并为剩余的图创建拓扑排序:

代码语言:javascript
复制
module s27
  loop DFF_2/Q_reg U10 U13 U14 U5
  loop DFF_0/Q_reg U15 U16 U6 U7 U8
  loop DFF_1/Q_reg U1 U11 U12 U4 U7
  cell U1
  cell DFF_1/Q_reg
  cell U4
  cell U12
  cell U3
  cell U11
  cell U15
  cell U16
  cell U2
  cell U5
  cell DFF_2/Q_reg
  cell U13
  cell U14
  cell U10
  cell U9
  cell U8
  cell U7
  cell U6
  cell DFF_0/Q_reg

我希望这能帮到你。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33756400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档