Closed 1347806 closed 3 years ago
The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on.
Note also that dfflibmap
is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised).
The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on.
Note also that
dfflibmap
is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). thank you for your reply below are line 72-77 from tmsc lib input_voltage(cmos) { vil : 0.3 VDD ; vih : 0.7 VDD ; vimin : -0.5 ; vimax : VDD + 0.5 ; }
the lib has power information. I del all the power information but ERROR: Syntax error in line 469 below are line 459-471 and the bold line is line 469.So I think the error may come from other scipt and I find the dfflibmap.cc file I can only understand some simple syntax but from what I got , I think the yosys can not supprot other lib. Am I right?
fall_transition (delay_template_7x7_0) {
index_1 ("0.0042, 0.0099, 0.0212, 0.0439, 0.0893, 0.1801, 0.3618");
index_2 ("0.00072, 0.00146, 0.00294, 0.0059, 0.01183, 0.02367, 0.04736");
values ( \
"0.01733, 0.02299, 0.03444, 0.0579, 0.1055, 0.2005, 0.3907", \
"0.01734, 0.02298, 0.03447, 0.05786, 0.1054, 0.2007, 0.3909", \
"0.01733, 0.023, 0.03444, 0.0579, 0.1055, 0.2004, 0.3907", \
"0.01741, 0.02302, 0.0345, 0.05791, 0.1053, 0.2007, 0.3909", \
"0.01838, 0.02381, 0.03494, 0.05803, 0.1056, 0.2007, 0.3912", \ line 469
"0.02074, 0.0257, 0.03623, 0.05874, 0.1055, 0.2007, 0.3907", \
"0.0249, 0.02968, 0.03934, 0.06039, 0.1061, 0.2008, 0.391" \
);
}
Yes, for example, the SkyWater open PDK is supported.
On Mon, 28 Dec 2020, 07:51 1347806, notifications@github.com wrote:
The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on.
Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised).
I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/YosysHQ/yosys/issues/2504#issuecomment-751620046, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ .
Yes, for example, the SkyWater open PDK is supported. … On Mon, 28 Dec 2020, 07:51 1347806, @.***> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ .
Yes, for example, the SkyWater open PDK is supported. … On Mon, 28 Dec 2020, 07:51 1347806, @.***> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ .
Yes, for example, the SkyWater open PDK is supported. … On Mon, 28 Dec 2020, 07:51 1347806, @.***> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ .
thank you for your help. I search the SkyWater open PDK and find it in github. But it just support 130nm process. Do you know about any other open soucer tool can support process like 65nm and even more adcanced process like 40nm and 28nm?
Again, the problem is line 73 of the TSMC Liberty file you're passing to Yosys, and unless you upload that line, we can't fix it so that Yosys does support that library. It's nothing to do with the feature size of the target, simply a syntax that we don't presently accept.
And no, to my knowledge nothing else open-source comes close to Yosys's support of PDKs.
On Mon, 28 Dec 2020, 12:58 1347806, notifications@github.com wrote:
Yes, for example, the SkyWater open PDK is supported. … <#m9198856471364192800> On Mon, 28 Dec 2020, 07:51 1347806, @.***> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment) https://github.com/YosysHQ/yosys/issues/2504#issuecomment-751620046>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ .
Yes, for example, the SkyWater open PDK is supported. … <#m9198856471364192800> On Mon, 28 Dec 2020, 07:51 1347806, @.***> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment) https://github.com/YosysHQ/yosys/issues/2504#issuecomment-751620046>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ .
Yes, for example, the SkyWater open PDK is supported. … <#m9198856471364192800> On Mon, 28 Dec 2020, 07:51 1347806, @.***> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment) https://github.com/YosysHQ/yosys/issues/2504#issuecomment-751620046>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ .
thank you for your help. I search the SkyWater open PDK and find it in github. But it just support 130nm process. Do you know about any other open soucer tool can support process like 65nm and even more adcanced process like 40nm and 28nm?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/YosysHQ/yosys/issues/2504#issuecomment-751704052, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDWZLJ4VDNDYRDCIC3DLSXB6H7ANCNFSM4VJ4GTTQ .
Again, the problem is line 73 of the TSMC Liberty file you're passing to Yosys, and unless you upload that line, we can't fix it so that Yosys does support that library. It's nothing to do with the feature size of the target, simply a syntax that we don't presently accept. And no, to my knowledge nothing else open-source comes close to Yosys's support of PDKs. … On Mon, 28 Dec 2020, 12:58 1347806, @.> wrote: Yes, for example, the SkyWater open PDK is supported. … <#m9198856471364192800> On Mon, 28 Dec 2020, 07:51 1347806, @.> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment) <#2504 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ . Yes, for example, the SkyWater open PDK is supported. … <#m9198856471364192800> On Mon, 28 Dec 2020, 07:51 1347806, @.> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment) <#2504 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ . Yes, for example, the SkyWater open PDK is supported. … <#m9198856471364192800> On Mon, 28 Dec 2020, 07:51 1347806, @.> wrote: The syntax error comes from line 73 of the Liberty file, not from your TCL script. You'd have to paste that somewhere for me to tell what's going on. Note also that dfflibmap is a bit limited in what it can and can't infer (e.g. DFFs with enable are not recognised). I find the dfflibmap.cc file which is used to map the cell to lib but thank you for your reply anyway. Do you know if the yosys can support other lib? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment) <#2504 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDW7MFBXPQWZOFX66P73SXA2IDANCNFSM4VJ4GTTQ . thank you for your help. I search the SkyWater open PDK and find it in github. But it just support 130nm process. Do you know about any other open soucer tool can support process like 65nm and even more adcanced process like 40nm and 28nm? — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#2504 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALPDWZLJ4VDNDYRDCIC3DLSXB6H7ANCNFSM4VJ4GTTQ .
thank you !
Steps to reproduce the issue
i am a freashman about yosys. I wonder if yosys can support other lib like TSMC 65nm lib? I want try use yosys to synthesize the foo.v with tcbn65lpbwp12tlvttc.lib which is provided by TSMC. Below is tcl
!/usr/bin/env yosys
read_verilog -sv foo.v hierarchy -top foo proc; opt; techmap; opt dfflibmap -liberty /home/yanan/ic_design/tt/tcbn65lpbwp12tlvttc.lib abc -liberty /home/yanan/ic_design/tt/tcbn65lpbwp12tlvttc.lib
module foo ( input a, input b, input c, output o );
assign o = (a & b) | c;
endmodule
and there is log
----------------------------------------------------------------------------/
Yosys 0.7 (git sha1 61f6811, gcc 6.2.0-11ubuntu1 -O2 -fdebug-prefix-map=/build/yosys-OIL3SR/yosys-0.7=. -fstack-protector-strong -fPIC -Os)
-- Executing script file `foo.ys' --
Executing Verilog-2005 frontend. Parsing SystemVerilog input from
foo.v' to AST representation. Generating RTLIL representation for module
\foo'. Successfully finished Verilog frontend.Executing HIERARCHY pass (managing design hierarchy).
2.1. Analyzing design hierarchy.. Top module: \foo
2.2. Analyzing design hierarchy.. Top module: \foo Removed 0 unused modules.
3.1. Executing PROC_CLEAN pass (remove empty switches from decision trees). Cleaned up 0 empty switches.
3.2. Executing PROC_RMDEAD pass (remove dead branches from decision trees). Removed a total of 0 dead cases.
3.3. Executing PROC_INIT pass (extract init attributes).
3.4. Executing PROC_ARST pass (detect async resets in processes).
3.5. Executing PROC_MUX pass (convert decision trees to multiplexers).
3.6. Executing PROC_DLATCH pass (convert process syncs to latches).
3.7. Executing PROC_DFF pass (convert process syncs to FFs).
3.8. Executing PROC_CLEAN pass (remove empty switches from decision trees). Cleaned up 0 empty switches.
4.1. Executing OPT_EXPR pass (perform const folding).
4.2. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\foo'. Removed a total of 0 cells.
4.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees). Running muxtree optimizer on module \foo.. Creating internal representation of mux trees. No muxes found in this module. Removed 0 multiplexer ports.
4.4. Executing OPTREDUCE pass (consolidate $*mux and $reduce* inputs). Optimizing cells in module \foo. Performed a total of 0 changes.
4.5. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\foo'. Removed a total of 0 cells.
4.6. Executing OPT_RMDFF pass (remove dff with constant values).
4.7. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \foo..
4.8. Executing OPT_EXPR pass (perform const folding).
4.9. Finished OPT passes. (There is nothing left to do.)
5.1. Executing Verilog-2005 frontend. Parsing Verilog input from
<techmap.v>' to AST representation. Generating RTLIL representation for module
_90_simplemap_bool_ops'. Generating RTLIL representation for module\_90_simplemap_reduce_ops'. Generating RTLIL representation for module
_90_simplemap_logic_ops'. Generating RTLIL representation for module\_90_simplemap_compare_ops'. Generating RTLIL representation for module
_90_simplemap_various'. Generating RTLIL representation for module\_90_simplemap_registers'. Generating RTLIL representation for module
_90_shift_ops_shr_shl_sshl_sshr'. Generating RTLIL representation for module\_90_shift_shiftx'. Generating RTLIL representation for module
_90_fa'. Generating RTLIL representation for module\_90_lcu'. Generating RTLIL representation for module
_90_alu'. Generating RTLIL representation for module\_90_macc'. Generating RTLIL representation for module
_90_alumacc'. Generating RTLIL representation for module\$__div_mod_u'. Generating RTLIL representation for module
\$__div_mod'. Generating RTLIL representation for module\_90_div'. Generating RTLIL representation for module
_90_mod'. Generating RTLIL representation for module\_90_pow'. Generating RTLIL representation for module
_90_pmux'. Generating RTLIL representation for module `_90_lut'. Successfully finished Verilog frontend. Mapping foo.$and$foo.v:8$1 ($and) with simplemap. Mapping foo.$or$foo.v:8$2 ($or) with simplemap. No more expansions possible.6.1. Executing OPT_EXPR pass (perform const folding).
6.2. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\foo'. Removed a total of 0 cells.
6.3. Executing OPT_MUXTREE pass (detect dead branches in mux trees). Running muxtree optimizer on module \foo.. Creating internal representation of mux trees. No muxes found in this module. Removed 0 multiplexer ports.
6.4. Executing OPTREDUCE pass (consolidate $*mux and $reduce* inputs). Optimizing cells in module \foo. Performed a total of 0 changes.
6.5. Executing OPT_MERGE pass (detect identical cells). Finding identical cells in module `\foo'. Removed a total of 0 cells.
6.6. Executing OPT_RMDFF pass (remove dff with constant values).
6.7. Executing OPT_CLEAN pass (remove unused cells and wires). Finding unused cells or wires in module \foo..
6.8. Executing OPT_EXPR pass (perform const folding).
6.9. Finished OPT passes. (There is nothing left to do.)
the tcl can run correctly with qflow lib osu018.lib but occur error with tmsc lib,So i wonder if the yosys can support other lib? PS: Syntax error in line 73 come from which tcl? how to debug it?