Code Monkey home page Code Monkey logo

netlistx's People

Contributors

litaotju avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

weco2015 gwsu

netlistx's Issues

vcc gnd cloug_reg_graph

在电路中存在GND和VCC prim,他们只有一个输出,可能练到电路当中其他的组合逻辑或者FD上,由于与他们直接相连接的组合逻辑原语在构建cloud_reg_graph的时候,会被视为同一个cloud(去掉FD后的连通分量视为一个小cloud)。所以在构建cloud_reg_graph时,既要去掉FD,也去掉VCC GND。

after refactor class port

重构 circuit.port 类, 增加 port_type的限制之后,将大部分地方进行了同步修改,但是难免有一些地方还有遗漏。需要及时的进行修补。

TODO: 将所有出现 'input', 'output', 'inout', 'clock', 'unkown'的地方进行修改,变为port类里面的常量。

对于un_opt_ce_list里面的信号,wire区域的声明数量要少于assign区域的数量

问题:对于un_opt_ce_list里面的信号,wire区域的声明数量要少于assign区域的数量
有些 gated_ce_signal,在结尾处有assign,但是在wire声明区不存在。
诊断:len(un_opt_ce_list) == 13, len(gated_ce_list) ==3,所以有10个信号没有走相应的分支,gated的修改
是因为修改FDCE使能端口的elif 前面的分支语句已经走过了。所以有的FD并没有走这个分支。
所以造成了少wire声明。
解决方案:重新建立一个循环,查找每一个带有 un_opt_ce_signal的FD。前提条件是前面的处理措施,没有对FD
的名字造成任何改变,只是改变了cellref 和port_list

问题:可能是wire的名字和prim的名称有重叠产生的。

-------------------------------------------------------------------------------------

Issue #2 Status:UN_Resolved

[HDL 9-31] <P1.reg0_28> is already declared.
["E:/ISE_WORKSPACE/vivado_itc99_netlist/project_1/project_1.srcs/sources_1/imports/test/b22_insert_scan_chain.v":25978]

wire [18:0] \P1.reg0_28 ;

LUT5_L \P1.reg0_28 (
.I0( \P1.reg1_16_699_a6_0 ) ,
.I1( \P1.reg0_N_3_mux ) ,
.I2( \P1.reg0_28_tz_1 ) ,
.I3( \P1.t_1[21] ) ,
.I4( \P1.N_1050 ) ,
.LO( \P1.N_2705 )
);

问题:可能是wire的名字和prim的名称有重叠产生的。

问题:.INIT参数的修改有问题。

问题文件:scan_chain_insert.py

-------------------------------------------------------------------------------------

Issue #1 Status:FIXED 方法:该NEW_INIT的生成方法
[HDL 9-806] Syntax error near "'h".
["E:/ISE_WORKSPACE/vivado_itc99_netlist/project_1/project_1.srcs/sources_1/imports/test/b22_insert_scan_chain.v":15419]

b22.v
LUT2 \P3.un1_reg0_0_sqmuxa_1_1_RNI70O7 (
.I0(\P3.un1_state_6_0 ),
.I1(\P3.un1_reg0_0_sqmuxa_1_0 ),
.O(\P3.un1_state_6_i )
);
defparam \P3.un1_reg0_0_sqmuxa_1_1_RNI70O7 .INIT=4'h4;
插入扫描链后:
LUT3 \P3.un1_reg0_0_sqmuxa_1_1_RNI70O7 (
.I0( \P3.un1_state_6_0 ) ,
.I1( \P3.un1_reg0_0_sqmuxa_1_0 ) ,
.I2( scan_en ) ,
.O( \P3.un1_state_6_i )
);
defparam \P3.un1_reg0_0_sqmuxa_1_1_RNI70O7 .INIT=8'hF4'h4 ;
问题:.INIT参数的修改有问题。

UnicodeDecodeError when write the namegraph to dot format

Traceback (most recent call last):
File "C:\Users\litao\Desktop\a.py", line 8, in
nx.write_dot(g, "abc.dot")
File "", line 2, in write_dot
File "C:\Python27\lib\site-packages\networkx\utils\decorators.py", line 220, in _open_file
result = func(_new_args, *_kwargs)
File "C:\Python27\lib\site-packages\networkx\drawing\nx_pydot.py", line 58, in write_dot
P=to_pydot(G)
File "C:\Python27\lib\site-packages\networkx\drawing\nx_pydot.py", line 212, in to_pydot
p=pydot.Node(make_str(n),**str_nodedata)
File "C:\Python27\lib\site-packages\networkx\utils\misc.py", line 103, in make_str
return unicode(str(x), 'unicode-escape')
UnicodeDecodeError: 'unicodeescape' codec can't decode bytes in position 0-1: truncated \UXXXXXXXX escape

assign的左值由问题。 名字不应该这么写。

-------------------------------------------------------------------------------------

Issue #3 Status:FIXED
方法:将 \去掉,将“.[]” 全替换成 “
[HDL 9-806] Syntax error near "\P3.N_1616".
["E:/ISE_WORKSPACE/vivado_itc99_netlist/project_1/project_1.srcs/sources_1/imports/test/b22_insert_scan_chain.v":49959]
assign gated
\P3.un1_state_5_i = scan_en?1'b1: \P3.un1_state_5_i ;

assign的左值由问题。 名字不应该这么写。

merge FD into reg , merge cloud into big cloud

ballast那一篇文章里面讲的是每一个Reg只能有一个扇入 一个扇出,所以才能把Reg变成 arc,然后有前后依赖关系。但是基本的电路图中 Reg是以单个D触发器的形式出现的,所以怎么merge是一个问题?

还有Reg本身的定义好象跟RTL当中的Reg相似,但是又有所不同,RTL当中的REG依赖于多个FD。

当电路中存在IBUF的时候连接有问题?

Issue #9 当电路中存在IBUF的时候连接有问题?
解决方法:综合是都Disable BUF Insertion。

Issue #10 [0:0]的input如何split?如果不split的话。在电路连接输入端口的名称 [0:0]input_i , port: input_i, prim_port: input_i[0]
解决方法:修改 port类的split函数. port.port_assign.vector == None时,只返回名字,其他时候都返回名字加[\d+]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.