Closed ghost closed 2 years ago
@mattvlsi
set_max_delay -from fpga_top/cbx_1__0_/chanx_left_in[0] -to fpga_top/cbx_1__0_/chanx_left_out[0] 2.272500113e-12
the delay number is extracted from the timing numbers defined in FPGA architecture. It is a step forward to our vision as described in https://openfpga.readthedocs.io/en/master/_images/fpga_sdc_motivation.png
However, it is not so satisfying these days. We have realized this limitation and are actively searching for a solution. Please note that due to the large number of FPGA architectures supported by OpenFPGA, auto-generation of SDC files is a difficult problem. It may take us 1 year or 2 to develop.
Therefore, currently, my suggestion to use OpenFPGA's SDC outputs as a reference and write your own SDC. In this way, you can find the best experience. If you see anything that should be updated in the SDC generator, feel free to contact us.
K4N8 is considered to a good choice for low-cost and low-power FPGAs. K6 series are in general considered as high-performance architectures. The conclusion is based on many architecture papers that have be published. See one at https://www.eecg.utoronto.ca/~jayar/pubs/ahmed/tvlsi_march_04.pdf
However, these previous papers are based on FPGAs built with full custom layouts. As we are using a new methodology, the conclusion may be changed.
Thanks @tangxifan. When you say "the delay number is extracted from the timing numbers defined in FPGA architecture", did you mean this timing numbers in openfpga arch;
`
@mattvlsi
R*Cout + Tdel
--include_timing
option is enabled when running the write_fabric_verilog
command.They are mainly used to help simulator converge.
Thanks @tangxifan
1-We have a tech-mapped netlist. When I synthesize a netlist from Design Compiler it generates its sdf file too. So that we can run realistic simulations on it. However now we have auto-mapped netlist already. How can we obtain its sdf file? Also there are sdc timing constraints generated. However those are adapted to PTM_40nm technology. For example there is a constrained as "set_max_delay -from fpga_top/cbx_1_0/chanx_left_in[0] -to fpga_top/cbx_1_0/chanx_left_out[0] 2.272500113e-12" in cbx_1_0.sdc. How and where can we define that delay value for our technology. I'm trying to map an architecture to our 250nm technology.
2- In SOFA and CLEAR fpgas k4n8 architecture is preferred. Why is it? Is there a better architecture which has higher performance like k6n10 etc.?