forked from litaotju/netlistx
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIssueslist.bug
More file actions
90 lines (70 loc) · 3.98 KB
/
Issueslist.bug
File metadata and controls
90 lines (70 loc) · 3.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
9.1 以input_file=test\b22.v K=6为实验条件
问题文件: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参数的修改有问题。
#-------------------------------------------------------------------------------------
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的名称有重叠产生的。
#-------------------------------------------------------------------------------------
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的左值由问题。 名字不应该这么写。
#-------------------------------------------------------------------------------------
Issue #4 Status:FIXED
方法:LUT[1-4]换成 LUT[1-5]
问题:加入使能端口的可利用LUT,在LUT5时不能自动的变成LUT6,
#-------------------------------------------------------------------------------------
Issue #6 Status:FIXED
问题:对于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
#-------------------------------------------------------------------------------------
Issue #7 Status:UN_Resolved
问题:scan_chain中直接进行 port_list.insert()的时候,没有更新相应的
port_assign_list. which is 存储各个port_assign.string信息的列表
#-------------------------------------------------------------------------------------
9.5 ballast.py
Issue #8 Status:UN_Resolved Question
问题:使用grhtest\b01 ,b17.vm进行ballast实验,发现所有的移除的D触发器都是在FAS那一步移去的,
第二步根本没有电路可以用来做B-structure。并且b17只有4个节点,三条边。
#-------------------------------------------------------------------------------------
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+]