f4pga / f4pga-arch-defs

FOSS architecture definitions of FPGA hardware useful for doing PnR device generation.
https://f4pga.org
ISC License
272 stars 113 forks source link

Why does PLL define a COMPENSATION value when that is not used? #2341

Open nelsobe opened 2 years ago

nelsobe commented 2 years ago

The techmapper for xc7 https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc/xc7/techmap/cells_map.v defines a default value for COMPENSATION in the PLL advanced module even though it is never used. Should that be removed? Or, is the techmapper incomplete?

@mkurc-ant and @acomodi - can you comment?

mkurc-ant commented 2 years ago

@nelsobe Hmm, The problem with PLL is that it is not clear which features related to COMPENSATION settings should be emitted for each available choice. As with MMCM there is no one-to-one relation between them.

Currently there are those features in the prjxray database: https://github.com/SymbiFlow/prjxray-db/blob/cd41f08a8a4d2a60053750a0fe10623b1e2e35da/artix7/segbits_cmt_top_r_upper_t.db#L56-L59

I think that to get compensation working we would need to do more "minitests" against vendor tools to identify the correct behavior.

GitHub
prjxray-db/segbits_cmt_top_r_upper_t.db at cd41f08a8a4d2a60053750a0fe10623b1e2e35da · SymbiFlow/prjxray-db
Project X-Ray Database: XC7 Series. Contribute to SymbiFlow/prjxray-db development by creating an account on GitHub.