RGBtoHDMI/vhdl/fitting.notes

618 wiersze
26 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. Mostly cosmetic seperation of the logic into several blocks
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 38/54 56/90 5/ 9
FB2 16/18 21/54 45/90 9/ 9*
FB3 18/18* 33/54 57/90 8/ 9
FB4 18/18* 37/54 70/90 7/ 7*
----- ----- ----- -----
70/72 129/216 228/360 29/34
17. Update counter to hopefully implement more efficiently
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 38/54 54/90 5/ 9
FB2 16/18 21/54 45/90 9/ 9*
FB3 18/18* 30/54 49/90 8/ 9
FB4 18/18* 35/54 65/90 7/ 7*
----- ----- ----- -----
70/72 124/216 213/360 29/34
18. Load always in cycle 0
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 38/54 53/90 5/ 9
FB2 16/18 21/54 45/90 9/ 9*
FB3 18/18* 30/54 45/90 8/ 9
FB4 18/18* 37/54 63/90 7/ 7*
----- ----- ----- -----
70/72 126/216 206/360 29/34
19. Dropped seperate sp_default stage
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 42/90 5/ 9
FB2 17/18 25/54 34/90 9/ 9*
FB3 18/18* 29/54 55/90 8/ 9
FB4 13/18 35/54 44/90 7/ 7*
----- ----- ----- -----
66/72 119/216 175/360 29/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* 31/54 45/90 5/ 9
FB2 17/18 26/54 35/90 9/ 9*
FB3 18/18* 30/54 61/90 9/ 9*
FB4 13/18 36/54 47/90 7/ 7*
----- ----- ----- -----
66/72 123/216 188/360 30/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* 31/54 45/90 5/ 9
FB2 18/18* 27/54 37/90 9/ 9*
FB3 18/18* 31/54 65/90 9/ 9*
FB4 13/18 38/54 48/90 7/ 7*
----- ----- ----- -----
67/72 127/216 195/360 30/34
22. Final pinout changes - remove LED1 and LED2 as outputs
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 32/54 47/90 6/ 9
FB2 18/18* 32/54 41/90 8/ 9
FB3 18/18* 31/54 65/90 9/ 9*
FB4 11/18 32/54 41/90 5/ 7
----- ----- ----- -----
65/72 127/216 194/360 28/34
23. Made csync output registered and de-glitch csync (csync1..csync3)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 35/54 50/90 6/ 9
FB2 16/18 25/54 34/90 8/ 9
FB3 16/18 30/54 81/90 9/ 9*
FB4 16/18 40/54 61/90 5/ 7
----- ----- ----- -----
66/72 130/216 226/360 28/34
24. Increased de-glitch to include csync4
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 40/54 54/90 6/ 9
FB2 18/18* 29/54 43/90 8/ 9
FB3 15/18 35/54 81/90 9/ 9*
FB4 17/18 32/54 83/90 5/ 7
----- ----- ----- -----
68/72 136/216 261/360 28/34
25. Increased de-glitch to include csync5
... doesn't fit ...
26. Revert to 23, then use a 3-bit counter for csync deglitch
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 35/54 49/90 6/ 9
FB2 18/18* 29/54 43/90 8/ 9
FB3 17/18 33/54 81/90 9/ 9*
FB4 14/18 36/54 61/90 5/ 7
----- ----- ----- -----
67/72 133/216 234/360 28/34
27. Increase csync de-glitch counter to 4 bits
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 40/54 54/90 6/ 9
FB2 17/18 26/54 36/90 8/ 9
FB3 16/18 32/54 82/90 9/ 9*
FB4 17/18 37/54 80/90 5/ 7
----- ----- ----- -----
68/72 135/216 252/360 28/34
28. De-glitch both states of csync
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 31/54 45/90 6/ 9
FB2 16/18 25/54 34/90 8/ 9
FB3 18/18* 29/54 79/90 9/ 9*
FB4 18/18* 46/54 71/90 5/ 7
----- ----- ----- -----
70/72 131/216 229/360 28/34
29. Reduce csync de-glitch counter to 3 bits
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 31/54 45/90 6/ 9
FB2 16/18 25/54 34/90 8/ 9
FB3 18/18* 29/54 79/90 9/ 9*
FB4 17/18 45/54 67/90 5/ 7
----- ----- ----- -----
69/72 130/216 225/360 28/34
30. Reduce csync de-glitch counter to 2 bits
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 31/54 45/90 6/ 9
FB2 16/18 25/54 34/90 8/ 9
FB3 18/18* 29/54 79/90 9/ 9*
FB4 16/18 44/54 63/90 5/ 7
----- ----- ----- -----
68/72 129/216 221/360 28/34
31. Added 4-bit mode 7 delay register to the scan chain
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 29/54 43/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 36/54 81/90 9/ 9*
FB4 18/18* 52/54 70/90 5/ 7
----- ----- ----- -----
72/72 144/216 232/360 28/34
32. Start sampling 8us earlier, delay applied to all modes
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 29/54 43/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 33/54 78/90 9/ 9*
FB4 18/18* 49/54 69/90 5/ 7
----- ----- ----- -----
72/72 138/216 228/360 28/34
33. Corrected delay in 6 clocks/pixel mode
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 44/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 36/54 85/90 9/ 9*
FB4 18/18* 49/54 74/90 5/ 7
----- ----- ----- -----
72/72 142/216 241/360 28/34
34. XOR in delay
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 44/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 38/54 85/90 9/ 9*
FB4 18/18* 49/54 76/90 5/ 7
----- ----- ----- -----
72/72 144/216 243/360 28/34
35. Add in delay
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 44/90 6/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 38/54 85/90 9/ 9*
FB4 18/18* 49/54 78/90 5/ 7
----- ----- ----- -----
72/72 144/216 245/360 28/34
36. Add separate H and V sync support to CPLD
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 44/90 7/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 18/18* 38/54 85/90 9/ 9*
FB4 18/18* 50/54 79/90 5/ 7
----- ----- ----- -----
72/72 145/216 246/360 29/34
37. Reduce counter from 12 bits to 8 bits
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 44/90 7/ 9
FB2 18/18* 27/54 38/90 8/ 9
FB3 17/18 36/54 82/90 9/ 9*
FB4 15/18 45/54 56/90 5/ 7
----- ----- ----- -----
68/72 138/216 220/360 29/34
38. Added rate option to scan chain
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 27/54 49/90 7/ 9
FB2 18/18* 28/54 40/90 8/ 9
FB3 15/18 32/54 83/90 9/ 9*
FB4 18/18* 52/54 82/90 5/ 7
----- ----- ----- -----
69/72 139/216 254/360 29/34
39. Re-order bits when rate=1
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 30/54 54/90 7/ 9
FB2 18/18* 28/54 40/90 8/ 9
FB3 15/18 32/54 83/90 9/ 9*
FB4 18/18* 52/54 83/90 5/ 7
----- ----- ----- -----
69/72 142/216 260/360 29/34
40. CPLD: Halt the counter during HSYNC
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 17/18 40/54 61/90 7/ 9
FB2 16/18 26/54 36/90 8/ 9
FB3 17/18 35/54 81/90 9/ 9*
FB4 18/18* 39/54 65/90 5/ 7
----- ----- ----- -----
68/72 140/216 243/360 29/34
41. Allow PSYNC duty cycle to be asymmetric
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 17/18 40/54 61/90 7/ 9
FB2 16/18 26/54 36/90 8/ 9
FB3 17/18 35/54 81/90 9/ 9*
FB4 18/18* 39/54 65/90 5/ 7
----- ----- ----- -----
68/72 140/216 243/360 29/34
42. Added Half-Even and Half Add Sampling (now v4.0)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 39/54 55/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 29/54 62/90 9/ 9*
FB4 18/18* 33/54 72/90 5/ 7
----- ----- ----- -----
72/72 124/216 225/360 29/34
43. Optimize generation of PSync, and allow more skew
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 35/54 53/90 7/ 9
FB2 17/18 22/54 34/90 8/ 9
FB3 18/18* 28/54 64/90 9/ 9*
FB4 18/18* 33/54 81/90 5/ 7
----- ----- ----- -----
71/72 118/216 232/360 29/34
44. Align quad timing back to cycle 0 as before
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 38/54 54/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 64/90 9/ 9*
FB4 17/18 33/54 82/90 5/ 7
----- ----- ----- -----
71/72 122/216 236/360 29/34
45. Fix long-standing bug concerning offset selection in Mode0..6
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 40/54 57/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 64/90 9/ 9*
FB4 17/18 35/54 86/90 5/ 7
----- ----- ----- -----
71/72 126/216 243/360 29/34
46. Reverted: Align quad timing back to cycle 0 as before (issues at offset 0)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 40/54 55/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 64/90 9/ 9*
FB4 17/18 35/54 84/90 5/ 7
----- ----- ----- -----
71/72 126/216 239/360 29/34
47. Added sync invert function (now v5.0)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 40/54 58/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 64/90 9/ 9*
FB4 18/18* 36/54 85/90 5/ 7
----- ----- ----- -----
72/72 127/216 243/360 29/34
48. Delay reduced to 2 bits plus psync changes (now v6.0)
- Remove 2 msbs of delay
- Make psync run during hsync
- Make Vsync appear on psync when version bit active
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 41/54 61/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 65/90 9/ 9*
FB4 16/18 35/54 86/90 5/ 7
----- ----- ----- -----
70/72 127/216 248/360 29/34
49. Increased counter from 7 back to 8 bits (now v6.1)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 41/54 65/90 7/ 9
FB2 18/18* 23/54 37/90 8/ 9
FB3 18/18* 28/54 65/90 9/ 9*
FB4 17/18 34/54 88/90 5/ 7
----- ----- ----- -----
71/72 126/216 255/360 29/34
50. Fixed a bug with half-pixel delay (now v6.2)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 41/54 66/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 65/90 9/ 9*
FB4 17/18 37/54 88/90 5/ 7
----- ----- ----- -----
71/72 129/216 255/360 29/34
51. Send csync2 to Pi and change csync to psync delay (now v6.3)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 42/54 66/90 7/ 9
FB2 18/18* 23/54 37/90 8/ 9
FB3 18/18* 28/54 65/90 9/ 9*
FB4 16/18 32/54 83/90 5/ 7
----- ----- ----- -----
70/72 125/216 251/360 29/34
52. Separate vsync (now v6.4)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 41/54 65/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 65/90 9/ 9*
FB4 16/18 32/54 83/90 5/ 7
----- ----- ----- -----
70/72 124/216 249/360 29/34
53. Use vsync input for monochrome (now v6.5)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 41/54 65/90 7/ 9
FB2 18/18* 23/54 37/90 8/ 9
FB3 18/18* 29/54 74/90 9/ 9*
FB4 16/18 32/54 83/90 5/ 7
----- ----- ----- -----
70/72 125/216 259/360 29/34
54. Don't use vsync input for monochrome (now v6.6)
(this is now functionally identical to 6.4, but with a new version number)
Function Mcells FB Inps Pterms IO
Block Used/Tot Used/Tot Used/Tot Used/Tot
FB1 18/18* 41/54 64/90 7/ 9
FB2 18/18* 23/54 36/90 8/ 9
FB3 18/18* 28/54 65/90 9/ 9*
FB4 16/18 33/54 85/90 5/ 7
----- ----- ----- -----
70/72 125/216 250/360 29/34