This program, coded in FSharp, helps answer an end-of-chapter exercise in Modern System-on-Chip Design on Arm by DJ Greaves.
// Note that a naive fractal model, with homogeneous wiring and regular structure at each level with // give a Rent exponent of unity, since it is self-similar between levels. The key thing to include, // to achieve the lower exponents encountered in real-world designs (that have some design/engineering // behind them) is the ratio of terminal contacts to gates needs to get smaller as the number of gates // gets larger (see The Interpretation and Application of Rent’s Rule Christie& Stroobandt 2000). This // can be programmed and the exponent will emerge, but in the example code, the Rent formula is used // explicitly with parameters rent_alpha and rent_exponent. Hence the average number of contacts to a // component and the number of nets are emergent (given an average fan out figure). The model // averages over 20 random runs for each test and the normalised standard deviation (ie. divided by // the mean) experienced across runs is reported as one confidence indication. These figures are all // in the range 10 to 20 percent, which is find for this exercise. The program then perturbs each of // its numeric assumptions by 5 percent to explore the partial derivatives of the assumptions.The source code Rent_eval_2d.zip.
(C) 2023 DJ Greaves.