RGBtoHDMI/vhdl_alt/fitting.notes

306 wiersze
12 KiB
Plaintext

1. Original design:
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 27/54 69/90 6/ 9
FB2 18/18* 34/54 60/90 8/ 9
FB3 18/18* 19/54 32/90 5/ 9
FB4 18/18* 37/54 56/90 7/ 7*
----- ----- ----- -----
72/72 117/216 217/360 26/34
2. New design, with RGB mux, switch pass throughs, etc commented out
(failed to map sp_reg<9>, hence one less macrocell)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 26/54 51/90 7/ 9
FB2 18/18* 25/54 33/90 6/ 9
FB3 18/18* 35/54 61/90 8/ 9
FB4 17/18 53/54 70/90 4/ 7
----- ----- ----- -----
71/72 139/216 215/360 25/34
3. Change from csync=>S to csync=>CSYNC1 (as passthroughs still use up a macro cell).
(now fits)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 17/18 33/54 64/90 7/ 9
FB2 18/18* 25/54 33/90 6/ 9
FB3 18/18* 35/54 61/90 8/ 9
FB4 18/18* 37/54 58/90 4/ 7
----- ----- ----- -----
71/72 130/216 216/360 25/34
4. Add in RGB mux:
(still fits)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 17/18 33/54 64/90 7/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 8/ 9
FB4 18/18* 41/54 61/90 5/ 7
----- ----- ----- -----
71/72 136/216 219/360 29/34
5. Add in SW2out <= SW2:
(still fits)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 28/54 62/90 8/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 8/ 9
FB4 18/18* 48/54 64/90 6/ 7
----- ----- ----- -----
72/72 138/216 220/360 31/34
6. Change to optimization effort normal->high:
(no difference)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 28/54 62/90 8/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 8/ 9
FB4 18/18* 48/54 64/90 6/ 7
----- ----- ----- -----
72/72 138/216 220/360 31/34
7. Change to optimization effort speed->area:
(no difference)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 28/54 62/90 8/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 8/ 9
FB4 18/18* 48/54 64/90 6/ 7
----- ----- ----- -----
72/72 138/216 220/360 31/34
8. Fitter Implmenetation Template: Optimize Balance-> Optimize Speed:
(no difference)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 28/54 62/90 8/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 8/ 9
FB4 18/18* 48/54 64/90 6/ 7
----- ----- ----- -----
72/72 138/216 220/360 31/34
9. Fitter Implmenetation Template: Optimize Speed -> Optimize Density:
(no difference)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 28/54 62/90 8/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 8/ 9
FB4 18/18* 48/54 64/90 6/ 7
----- ----- ----- -----
72/72 138/216 220/360 31/34
10. Reverted to original .xise file
Cleaned up design to remove SW2/3 pass throughs
Used gpio22/23 for mode7 / sp_data
Used gpio19/26 for sw2/3 (not via cpld)
(same result as 4 above)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 17/18 33/54 64/90 5/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 8/ 9
FB4 18/18* 41/54 61/90 7/ 7*
----- ----- ----- -----
71/72 136/216 219/360 29/34
11. Final design on 5/6/2018
(Added SW2, SW3, Link as unused inputs)
(Added LED1 as output, driven to Z, still uses one macro cell)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 27/54 61/90 5/ 9
FB2 18/18* 25/54 33/90 9/ 9*
FB3 18/18* 37/54 61/90 9/ 9*
FB4 18/18* 48/54 64/90 7/ 7*
----- ----- ----- -----
72/72 137/216 219/360 30/34
12. Minor changes 1.15pm on 5/5/2018
(Removed SW1Out passthrough)
(csync output is back to being passthrough)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 25/54 35/90 4/ 9
FB2 18/18* 34/54 65/90 9/ 9*
FB3 18/18* 37/54 61/90 9/ 9*
FB4 18/18* 39/54 58/90 7/ 7*
----- ----- ----- -----
72/72 135/216 219/360 29/34
13. Removed SW1 from sp_reg assignment block
(the is prone to noise on the prototype, as it clamped at 2V by an LED)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 25/54 35/90 3/ 9
FB2 18/18* 34/54 65/90 9/ 9*
FB3 18/18* 37/54 61/90 9/ 9*
FB4 18/18* 39/54 58/90 7/ 7*
----- ----- ----- -----
72/72 135/216 219/360 28/34
14. Added sp_clken and spare
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 63/90 5/ 9
FB2 18/18* 26/54 46/90 9/ 9*
FB3 18/18* 35/54 60/90 8/ 9
FB4 18/18* 47/54 71/90 7/ 7*
----- ----- ----- -----
72/72 138/216 240/360 29/34
15. Replaced counter2(5..3) with load saving two registers
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 40/54 72/90 5/ 9
FB2 17/18 24/54 49/90 9/ 9*
FB3 18/18* 34/54 60/90 8/ 9
FB4 17/18 35/54 63/90 7/ 7*
----- ----- ----- -----
70/72 133/216 244/360 29/34
16. Alternative design
(after lots of messing to get it to route)
(timing rubbush, 18ns)
(68 registers)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 34/54 53/90 4/ 9
FB2 18/18* 26/54 36/90 8/ 9
FB3 18/18* 30/54 50/90 9/ 9*
FB4 16/18 38/54 86/90 6/ 7
----- ----- ----- -----
70/72 128/216 225/360 27/34
17. Repipelined offset and alternative_counter to improve timing
(note big reduction in product term usage)
(70 registers)
(11.0ns)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 35/54 45/90 4/ 9
FB2 17/18 25/54 35/90 8/ 9
FB3 18/18* 30/54 50/90 9/ 9*
FB4 18/18* 42/54 66/90 6/ 7
----- ----- ----- -----
71/72 132/216 196/360 27/34
18. Sign extended offset to 3-bits
(surprisingly no change in resource usage)
(70 registers)
(11.0ns)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 35/54 45/90 4/ 9
FB2 17/18 25/54 35/90 8/ 9
FB3 18/18* 30/54 50/90 9/ 9*
FB4 18/18* 42/54 66/90 6/ 7
----- ----- ----- -----
71/72 132/216 196/360 27/34
19. Adjust pipelining timing
(sp_index when counter = 6 rather than 7)
(load when counter = 1 rather than 1)
(70 registers)
(11.0ns)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 35/54 45/90 4/ 9
FB2 17/18 25/54 35/90 8/ 9
FB3 18/18* 30/54 50/90 9/ 9*
FB4 18/18* 42/54 66/90 6/ 7
----- ----- ----- -----
71/72 132/216 196/360 27/34
20. Added CPLD version output on Quad()
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 33/54 45/90 5/ 9
FB2 17/18 26/54 36/90 8/ 9
FB3 18/18* 30/54 58/90 9/ 9*
FB4 18/18* 47/54 70/90 6/ 7
----- ----- ----- -----
71/72 136/216 209/360 28/34
21. Added configurable half-pixel delay
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 33/54 45/90 5/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 31/54 62/90 9/ 9*
FB4 18/18* 49/54 71/90 6/ 7
----- ----- ----- -----
72/72 140/216 216/360 28/34
22. Final pinout changes - remove LED1 and LED2 as outputs
(actually there was no change here, as the assignments to LED1/2 were always commented out)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 33/54 45/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 31/54 62/90 9/ 9*
FB4 18/18* 49/54 71/90 5/ 7
----- ----- ----- -----
72/72 140/216 216/360 28/34
23. Made csync output registered
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 33/54 45/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 31/54 62/90 9/ 9*
FB4 17/18 49/54 70/90 5/ 7
----- ----- ----- -----
71/72 140/216 215/360 28/34
24. De-glitch csync (one additional register)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 32/54 43/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 29/54 76/90 9/ 9*
FB4 18/18* 49/54 75/90 5/ 7
----- ----- ----- -----
72/72 137/216 232/360 28/34