Merge pull request #94 from unixb0y/master

Fixed the newly renamed README.md files
diff --git a/fuzzers/005-tilegrid/README.md b/fuzzers/005-tilegrid/README.md
index 8a756cf..9aa806b 100644
--- a/fuzzers/005-tilegrid/README.md
+++ b/fuzzers/005-tilegrid/README.md
@@ -1,32 +1,33 @@
-This fuzzer creates the tilegrid.json bitstream database
-This database contains segment definitions including base frame address and frame offsets
+# Tilegrid Fuzzer
 
-Example workflow for CLB:
-generate.tcl LOCs one LUT per segment column towards generating frame base addresses
-A reference bitstream is generated and then a series of bitstreams are generated each with one LUT bit toggled
-These are compared to find a toggled bit in the CLB segment column
-The resulting address is truncated to get the base frame address
-Finally, generate.py calculates the segment word offsets based on known segment column structure
+This fuzzer creates the tilegrid.json bitstream database  
+This database contains segment definitions including base frame address and frame offsets  
+  
+## Example workflow for CLB
+generate.tcl LOCs one LUT per segment column towards generating frame base addresses  
+A reference bitstream is generated and then a series of bitstreams are generated each with one LUT bit toggled  
+These are compared to find a toggled bit in the CLB segment column  
+The resulting address is truncated to get the base frame address  
+Finally, generate.py calculates the segment word offsets based on known segment column structure  
 
 
-Environment variables
+## Environment variables
 
-XRAY_ROI
-This environment variable must be set with a valid ROI
-See database for example values
+### XRAY_ROI  
+This environment variable must be set with a valid ROI  
+See database for example values  
 
-XRAY_ROI_FRAMES
-This can be set to a specific value to speed up processing and reduce disk space
-If you don't know where your ROI is, just set to to include all values (0x00000000:0xfffffff)
+### XRAY_ROI_FRAMES  
+This can be set to a specific value to speed up processing and reduce disk space  
+If you don't know where your ROI is, just set to to include all values (0x00000000:0xfffffff)  
 
-XRAY_ROI_GRID_*
-Optionally these as a small performance optimization:
--XRAY_ROI_GRID_X1
--XRAY_ROI_GRID_X2
--XRAY_ROI_GRID_Y1
--XRAY_ROI_GRID_Y2
-Which should, if unused, be set to -1, with this caveat:
-WARNING: CLB test generates this based on CLBs but implicitly includes INT
-Therefore, if you don't set an explicit XRAY_ROI_GRID_* it may fail
-if you don't have a CLB*_L at left and a CLB*_R at right
-
+### XRAY_ROI_GRID_*  
+Optionally these as a small performance optimization:  
+-XRAY_ROI_GRID_X1  
+-XRAY_ROI_GRID_X2  
+-XRAY_ROI_GRID_Y1  
+-XRAY_ROI_GRID_Y2  
+Which should, if unused, be set to -1, with this caveat:  
+WARNING: CLB test generates this based on CLBs but implicitly includes INT  
+Therefore, if you don't set an explicit XRAY_ROI_GRID_* it may fail  
+if you don't have a CLB*_L at left and a CLB*_R at right  
\ No newline at end of file
diff --git a/fuzzers/011-ffconfig/README.md b/fuzzers/011-ffconfig/README.md
index 217a80c..f1f53b4 100644
--- a/fuzzers/011-ffconfig/README.md
+++ b/fuzzers/011-ffconfig/README.md
@@ -1,22 +1,25 @@
-Documents the following:
--FF clock inversion
--FF primitive mapping
--FF initialization value
+# FFConfig Fuzzer
 
-Clock inversion is per slice (as BEL CLKINV)
-Vivado GUI is misleading as it often shows it per FF, which is not actually true
+Documents the following:  
+-FF clock inversion  
+-FF primitive mapping  
+-FF initialization value  
 
-        FFSYNC  LATCH   ZRST
-Sample  00_48   30_32   30_12
-FDPE
-FDSE    X
-FDRE    X               X
-FDCE                    X
-LDCE            X       X
-LDPE            X
+Clock inversion is per slice (as BEL CLKINV)  
+Vivado GUI is misleading as it often shows it per FF, which is not actually true  
+
+|      |FFSYNC|LATCH|ZRST |
+|------|------|-----|-----|
+|Sample| 00_48|30_32|30_12|
+|FDPE  |      |     |     |
+|FDSE  |   X  |     |     |
+|FDRE  |   X  |     |  X  |
+|FDCE  |      |     |  X  |
+|LDCE  |      |  X  |  X  |
+|LDPE  |      |  X  |     |
 
 
-
+```
 CLB.SLICE_X0.A5FF.ZINIT 31_06
 CLB.SLICE_X0.A5FF.ZRESET 01_07
 CLB.SLICE_X0.AFF.ZINIT 31_03
@@ -55,4 +58,4 @@
 CLB.SLICE_X1.DFF.ZRESET 31_50
 CLB.SLICE_X1.FFSYNC 01_31
 CLB.SLICE_X1.LATCH 31_32
-
+```
diff --git a/fuzzers/012-clbn5ffmux/README.md b/fuzzers/012-clbn5ffmux/README.md
index 91d422a..e0a998f 100644
--- a/fuzzers/012-clbn5ffmux/README.md
+++ b/fuzzers/012-clbn5ffmux/README.md
@@ -1,16 +1,18 @@
-Purpose:
+# CLBn5FFMUX Fuzzer
+
+## Purpose
 Document A5FFMUX family of CLB muxes
 
-Algorithm:
-*5FFMUX
-Inputs can come from either the LUT6_2 NO5 output or the CLB NX input
-To perturb the CLB the smallest, want LUT6 always instantiated
-However, some routing congestion that would require putting FFs in bypass
-(which turns out is actually okay, but didn't realize that at the time)
-Decided instead ot instantiate LUT8, but not use the output
-Turns out this is okay and won't optimize things away
-So then, the 5FF D input is switched between the O5 output and an external CLB input
+## Algorithm
+5FFMUX  
+Inputs can come from either the LUT6_2 NO5 output or the CLB NX input  
+To perturb the CLB the smallest, want LUT6 always instantiated  
+However, some routing congestion that would require putting FFs in bypass  
+(which turns out is actually okay, but didn't realize that at the time)  
+Decided instead ot instantiate LUT8, but not use the output  
+Turns out this is okay and won't optimize things away  
+So then, the 5FF D input is switched between the O5 output and an external CLB input  
 
-Outcome:
+## Outcome
 Bits are one hot encoded per mux position
 
diff --git a/fuzzers/013-clbncy0/README.md b/fuzzers/013-clbncy0/README.md
index 25d4797..c9154e9 100644
--- a/fuzzers/013-clbncy0/README.md
+++ b/fuzzers/013-clbncy0/README.md
@@ -1,8 +1,8 @@
-Purpose:
+# CLBnCY0 Fuzzer
+
+## Purpose
 Document ACY0 family of CLB muxes
 
-Algorithm:
+## Algorithm
 
-Outcome:
-
-
+## Outcome
\ No newline at end of file
diff --git a/fuzzers/014-ffsrcemux/README.md b/fuzzers/014-ffsrcemux/README.md
index 8ffd67e..97be91b 100644
--- a/fuzzers/014-ffsrcemux/README.md
+++ b/fuzzers/014-ffsrcemux/README.md
@@ -1,21 +1,23 @@
-Purpose:
+# FFSRCEMUX Fuzzer
+
+## Purpose
 Document CEUSEDMUX, SRUSEDMUX muxes
 
-Algorithm:
+## Algorithm
 
-Results:
+## Results
 
-CEUSEDMUX: whether clock enable (CE) is used or clock always on
-0: always on
-1: controlled
-CLB.SLICE_X0.CEUSEDMUX 00_39
-CLB.SLICE_X1.CEUSEDMUX <0 candidates>
+### CEUSEDMUX: whether clock enable (CE) is used or clock always on
+0: always on  
+1: controlled  
+CLB.SLICE_X0.CEUSEDMUX 00_39  
+CLB.SLICE_X1.CEUSEDMUX <0 candidates>  
 
 
-SRUSEDMUX: whether FF can be reset or simply uses D value
-(How used when SR?)
-0: never reset
-1: controlled
-CLB.SLICE_X0.SRUSEDMUX 00_35
-CLB.SLICE_X1.SRUSEDMUX <0 candidates>
+### SRUSEDMUX: whether FF can be reset or simply uses D value
+(How used when SR?)  
+0: never reset  
+1: controlled  
+CLB.SLICE_X0.SRUSEDMUX 00_35  
+CLB.SLICE_X1.SRUSEDMUX <0 candidates>  
 
diff --git a/fuzzers/015-clbnffmux/README.md b/fuzzers/015-clbnffmux/README.md
index f67ed3b..361b35f 100644
--- a/fuzzers/015-clbnffmux/README.md
+++ b/fuzzers/015-clbnffmux/README.md
@@ -1,42 +1,41 @@
-Purpose:
-Document nFFMUX family of CLB muxes
+# CLBnFFMUX Fuzzer
 
-Algorithm:
-
-Outcome:
-
-
-CLB.SLICE_X0.AFFMUX.B0 30_00
-CLB.SLICE_X0.AFFMUX.B1 30_01
-CLB.SLICE_X0.AFFMUX.B2 30_02
-CLB.SLICE_X0.AFFMUX.B3 30_03
-CLB.SLICE_X0.BFFMUX.B0 30_27
-CLB.SLICE_X0.BFFMUX.B1 30_26
-CLB.SLICE_X0.BFFMUX.B2 30_25
-CLB.SLICE_X0.BFFMUX.B3 30_24
-CLB.SLICE_X0.CFFMUX.B0 30_35
-CLB.SLICE_X0.CFFMUX.B1 30_36
-CLB.SLICE_X0.CFFMUX.B2 30_37
-CLB.SLICE_X0.CFFMUX.B3 30_38
-CLB.SLICE_X0.DFFMUX.B0 30_62
-CLB.SLICE_X0.DFFMUX.B1 30_61
-CLB.SLICE_X0.DFFMUX.B2 30_60
-CLB.SLICE_X0.DFFMUX.B3 30_59
-CLB.SLICE_X1.AFFMUX.B0 31_00
-CLB.SLICE_X1.AFFMUX.B1 31_01
-CLB.SLICE_X1.AFFMUX.B2 31_02
-CLB.SLICE_X1.AFFMUX.B3 30_04
-CLB.SLICE_X1.BFFMUX.B0 31_25
-CLB.SLICE_X1.BFFMUX.B1 31_27
-CLB.SLICE_X1.BFFMUX.B2 31_26
-CLB.SLICE_X1.BFFMUX.B3 31_24
-CLB.SLICE_X1.CFFMUX.B0 31_35
-CLB.SLICE_X1.CFFMUX.B1 31_38
-CLB.SLICE_X1.CFFMUX.B2 31_37
-CLB.SLICE_X1.CFFMUX.B3 31_36
-CLB.SLICE_X1.DFFMUX.B0 30_58
-CLB.SLICE_X1.DFFMUX.B1 31_61
-CLB.SLICE_X1.DFFMUX.B2 31_62
-CLB.SLICE_X1.DFFMUX.B3 31_60
-
-
+## Purpose  
+Document nFFMUX family of CLB muxes  
+## Algorithm  
+  
+## Outcome
+```
+CLB.SLICE_X0.AFFMUX.B0 30_00  
+CLB.SLICE_X0.AFFMUX.B1 30_01  
+CLB.SLICE_X0.AFFMUX.B2 30_02  
+CLB.SLICE_X0.AFFMUX.B3 30_03  
+CLB.SLICE_X0.BFFMUX.B0 30_27  
+CLB.SLICE_X0.BFFMUX.B1 30_26  
+CLB.SLICE_X0.BFFMUX.B2 30_25  
+CLB.SLICE_X0.BFFMUX.B3 30_24  
+CLB.SLICE_X0.CFFMUX.B0 30_35  
+CLB.SLICE_X0.CFFMUX.B1 30_36  
+CLB.SLICE_X0.CFFMUX.B2 30_37  
+CLB.SLICE_X0.CFFMUX.B3 30_38  
+CLB.SLICE_X0.DFFMUX.B0 30_62  
+CLB.SLICE_X0.DFFMUX.B1 30_61  
+CLB.SLICE_X0.DFFMUX.B2 30_60  
+CLB.SLICE_X0.DFFMUX.B3 30_59  
+CLB.SLICE_X1.AFFMUX.B0 31_00  
+CLB.SLICE_X1.AFFMUX.B1 31_01  
+CLB.SLICE_X1.AFFMUX.B2 31_02  
+CLB.SLICE_X1.AFFMUX.B3 30_04  
+CLB.SLICE_X1.BFFMUX.B0 31_25  
+CLB.SLICE_X1.BFFMUX.B1 31_27  
+CLB.SLICE_X1.BFFMUX.B2 31_26  
+CLB.SLICE_X1.BFFMUX.B3 31_24  
+CLB.SLICE_X1.CFFMUX.B0 31_35  
+CLB.SLICE_X1.CFFMUX.B1 31_38  
+CLB.SLICE_X1.CFFMUX.B2 31_37  
+CLB.SLICE_X1.CFFMUX.B3 31_36  
+CLB.SLICE_X1.DFFMUX.B0 30_58  
+CLB.SLICE_X1.DFFMUX.B1 31_61  
+CLB.SLICE_X1.DFFMUX.B2 31_62  
+CLB.SLICE_X1.DFFMUX.B3 31_60  
+```
\ No newline at end of file
diff --git a/fuzzers/016-clbnoutmux/README.md b/fuzzers/016-clbnoutmux/README.md
index d0e3161..f330c9a 100644
--- a/fuzzers/016-clbnoutmux/README.md
+++ b/fuzzers/016-clbnoutmux/README.md
@@ -1,52 +1,52 @@
-Purpose:
-Document nOUTMUX family of CLB muxes
-TODO: document O6
+# CLBnOUTMUX Fuzzer
 
-Algorithm:
-
-Outcome:
-
-CLB.SLICE_X0.AOUTMUX.B0 30_11
-CLB.SLICE_X0.AOUTMUX.B1 30_08
-CLB.SLICE_X0.AOUTMUX.B2 30_06
-CLB.SLICE_X0.AOUTMUX.B3 30_07
-CLB.SLICE_X0.BOUTMUX.B0 30_20
-CLB.SLICE_X0.BOUTMUX.B1 30_21
-CLB.SLICE_X0.BOUTMUX.B2 30_22
-CLB.SLICE_X0.BOUTMUX.B3 30_23
-CLB.SLICE_X0.COUTMUX.B0 30_45
-CLB.SLICE_X0.COUTMUX.B1 30_44
-CLB.SLICE_X0.COUTMUX.B2 30_40
-CLB.SLICE_X0.COUTMUX.B3 30_43
-CLB.SLICE_X0.DOUTMUX.B0 30_56
-CLB.SLICE_X0.DOUTMUX.B1 30_51
-CLB.SLICE_X0.DOUTMUX.B2 30_52
-CLB.SLICE_X0.DOUTMUX.B3 30_57
-CLB.SLICE_X1.AOUTMUX.B0 31_09
-CLB.SLICE_X1.AOUTMUX.B1 31_07
-CLB.SLICE_X1.AOUTMUX.B2 31_10
-CLB.SLICE_X1.AOUTMUX.B3 30_05
-CLB.SLICE_X1.BOUTMUX.B0 31_20
-CLB.SLICE_X1.BOUTMUX.B1 30_28
-CLB.SLICE_X1.BOUTMUX.B2 31_21
-CLB.SLICE_X1.BOUTMUX.B3 30_29
-CLB.SLICE_X1.COUTMUX.B0 31_43
-CLB.SLICE_X1.COUTMUX.B1 30_42
-CLB.SLICE_X1.COUTMUX.B2 31_40
-CLB.SLICE_X1.COUTMUX.B3 30_41
-CLB.SLICE_X1.DOUTMUX.B0 31_56
-CLB.SLICE_X1.DOUTMUX.B1 30_53
-CLB.SLICE_X1.DOUTMUX.B2 31_57
-CLB.SLICE_X1.DOUTMUX.B3 31_53
-
-
+## Purpose  
+Document nOUTMUX family of CLB muxes  
+## Algorithm  
+  
+## Outcome  
+```
+CLB.SLICE_X0.AOUTMUX.B0 30_11  
+CLB.SLICE_X0.AOUTMUX.B1 30_08  
+CLB.SLICE_X0.AOUTMUX.B2 30_06  
+CLB.SLICE_X0.AOUTMUX.B3 30_07  
+CLB.SLICE_X0.BOUTMUX.B0 30_20  
+CLB.SLICE_X0.BOUTMUX.B1 30_21  
+CLB.SLICE_X0.BOUTMUX.B2 30_22  
+CLB.SLICE_X0.BOUTMUX.B3 30_23  
+CLB.SLICE_X0.COUTMUX.B0 30_45  
+CLB.SLICE_X0.COUTMUX.B1 30_44  
+CLB.SLICE_X0.COUTMUX.B2 30_40  
+CLB.SLICE_X0.COUTMUX.B3 30_43  
+CLB.SLICE_X0.DOUTMUX.B0 30_56  
+CLB.SLICE_X0.DOUTMUX.B1 30_51  
+CLB.SLICE_X0.DOUTMUX.B2 30_52  
+CLB.SLICE_X0.DOUTMUX.B3 30_57  
+CLB.SLICE_X1.AOUTMUX.B0 31_09  
+CLB.SLICE_X1.AOUTMUX.B1 31_07  
+CLB.SLICE_X1.AOUTMUX.B2 31_10  
+CLB.SLICE_X1.AOUTMUX.B3 30_05  
+CLB.SLICE_X1.BOUTMUX.B0 31_20  
+CLB.SLICE_X1.BOUTMUX.B1 30_28  
+CLB.SLICE_X1.BOUTMUX.B2 31_21  
+CLB.SLICE_X1.BOUTMUX.B3 30_29  
+CLB.SLICE_X1.COUTMUX.B0 31_43  
+CLB.SLICE_X1.COUTMUX.B1 30_42  
+CLB.SLICE_X1.COUTMUX.B2 31_40  
+CLB.SLICE_X1.COUTMUX.B3 30_41  
+CLB.SLICE_X1.DOUTMUX.B0 31_56  
+CLB.SLICE_X1.DOUTMUX.B1 30_53  
+CLB.SLICE_X1.DOUTMUX.B2 31_57  
+CLB.SLICE_X1.DOUTMUX.B3 31_53  
+```
 From manual O6 testing
-30_11   X0 AOUTMUX O6
-30_20   X0 BOUTMUX O6
-30_45   X0 COUTMUX O6
-30_56   X0 DOUTMUX O6
-31_09   X1 AOUTMUX O6
-31_20   X1 BOUTMUX O6
-31_43   X1 COUTMUX O6
-31_56   X1 DOUTMUX O6
-
+```
+30_11   X0 AOUTMUX O6  
+30_20   X0 BOUTMUX O6  
+30_45   X0 COUTMUX O6  
+30_56   X0 DOUTMUX O6  
+31_09   X1 AOUTMUX O6  
+31_20   X1 BOUTMUX O6  
+31_43   X1 COUTMUX O6  
+31_56   X1 DOUTMUX O6  
+```
\ No newline at end of file
diff --git a/fuzzers/017-clbprecyinit/README.md b/fuzzers/017-clbprecyinit/README.md
index 8c2c5a2..886db81 100644
--- a/fuzzers/017-clbprecyinit/README.md
+++ b/fuzzers/017-clbprecyinit/README.md
@@ -1,10 +1,13 @@
-Purpose:
+# CLBPRECYINIT Fuzzer
+
+## Purpose
 Document PRECYINIT mux
 
-Algorithm:
+## Algorithm
 
-Outcome:
+## Outcome
 
+```
 CLB.SLICE_X0.PRECYINIT.0 <0 candidates>
 CLB.SLICE_X0.PRECYINIT.1 00_12
 CLB.SLICE_X0.PRECYINIT.AX 30_14
@@ -13,4 +16,4 @@
 CLB.SLICE_X1.PRECYINIT.1 01_11
 CLB.SLICE_X1.PRECYINIT.AX 31_13
 CLB.SLICE_X1.PRECYINIT.CIN 31_12
-
+```
\ No newline at end of file
diff --git a/fuzzers/018-clbram/README.md b/fuzzers/018-clbram/README.md
index 368aa32..50d7e83 100644
--- a/fuzzers/018-clbram/README.md
+++ b/fuzzers/018-clbram/README.md
@@ -1,9 +1,16 @@
-Solves SLICEM specific bits:
--Shift register LUT (SRL)
--Memory size
--RAM vs LUT
--Related muxes
+# CLBRAM Fuzzer
 
+## Purpose  
+Solves SLICEM specific bits:  
+-Shift register LUT (SRL)  
+-Memory size  
+-RAM vs LUT  
+-Related muxes  
+
+## Algorithm  
+  
+## Outcome
+```
 CLB.SLICE_X0.ALUT.RAM 31_16
 CLB.SLICE_X0.ALUT.SMALL 00_04
 CLB.SLICE_X0.ALUT.SRL 30_16
@@ -19,4 +26,4 @@
 CLB.SLICE_X0.WA7USED 00_40
 CLB.SLICE_X0.WA8USED 01_27
 CLB.SLICE_X0.WEMUX.CE 01_23
-
+```
\ No newline at end of file
diff --git a/fuzzers/019-ndi1mux/README.md b/fuzzers/019-ndi1mux/README.md
index 258c746..4ba6a39 100644
--- a/fuzzers/019-ndi1mux/README.md
+++ b/fuzzers/019-ndi1mux/README.md
@@ -1,2 +1,4 @@
+# NDI1MUX Fuzzer
+
 See minitest for DI notes
 
diff --git a/minitests/bram/README.md b/minitests/bram/README.md
index 07f50a5..13bc497 100644
--- a/minitests/bram/README.md
+++ b/minitests/bram/README.md
@@ -1,4 +1,7 @@
+# BRAM Minitest
+
+## Purpose
 Test to verify that all the ROM* primitives are just regular LUTs and not BRAMs with init values
 
-Result:
-Confirmed: floorplan shows as LUTs and no unknown bits observed
+## Result
+Confirmed: floorplan shows as LUTs and no unknown bits observed
\ No newline at end of file
diff --git a/minitests/clb_bused/README.md b/minitests/clb_bused/README.md
index f41c0d5..d126679 100644
--- a/minitests/clb_bused/README.md
+++ b/minitests/clb_bused/README.md
@@ -1,11 +1,16 @@
-Tests for BUSED bit
-However got this
+# CLB_BUSED Minitest
 
+## Purpose
+Tests for BUSED bit
+
+## Result
+However got this  
+```
 seg SEG_CLBLL_R_X13Y101
 bit 30_24
 
 seg SEG_CLBLL_R_X13Y100
 bit 30_24
-
+```
 which seems to indicate there is no such bit, or it was rolled into PIP stuff already
 
diff --git a/minitests/clb_ffcfg/README.md b/minitests/clb_ffcfg/README.md
index 0d35604..3079e2e 100644
--- a/minitests/clb_ffcfg/README.md
+++ b/minitests/clb_ffcfg/README.md
@@ -1,3 +1,7 @@
+# CLB_FFCFG Minitest
+
+## Purpose
 Tests all of the documented FF "primitives"
 (there are only 4 real ones)
 
+## Result
\ No newline at end of file
diff --git a/minitests/clb_muxf8/README.md b/minitests/clb_muxf8/README.md
index f5c6633..4847695 100644
--- a/minitests/clb_muxf8/README.md
+++ b/minitests/clb_muxf8/README.md
@@ -1,10 +1,13 @@
-This tests an issue related to Vivado 2017.2 vs 2017.3 changing MUXF8 behavior
-The general issue is the LUT6_2 cannot be used with a MUXF8 (even if O5 is unused)
+# CLB_MUXF8 Minitest
 
-General notes:
--2017.2: LUT6_2 works with MUXF8
--2017.3: LUT6_2 does not work with MUXF8
--All: LUT6 works with MUXF8
--All: MUXF8 (even with MUXF7) can be instantiated unconnected
--2017.4 seems to behave like 2017.3
+## Purpose
+This tests an issue related to Vivado 2017.2 vs 2017.3 changing MUXF8 behavior  
+The general issue is the LUT6_2 cannot be used with a MUXF8 (even if O5 is unused)  
+
+## General notes:
+-2017.2: LUT6_2 works with MUXF8  
+-2017.3: LUT6_2 does not work with MUXF8  
+-All: LUT6 works with MUXF8  
+-All: MUXF8 (even with MUXF7) can be instantiated unconnected  
+-2017.4 seems to behave like 2017.3  
 
diff --git a/minitests/clb_n5ffmux/README.md b/minitests/clb_n5ffmux/README.md
index 9217b7c..64f78cf 100644
--- a/minitests/clb_n5ffmux/README.md
+++ b/minitests/clb_n5ffmux/README.md
@@ -1,20 +1,30 @@
-DFFMUX
-        30_09   30_54
-A       1       0
-B       0       1
+# CLB_n5FFMUX Minitest
 
-CFFMUX
-        30_39   31_45
-A       0       1
-B       1       0
+## Purpose
 
-BFFMUX
-        30_18   30_19
-A       0       1
-B       1       0
+## Result
 
-AFFMUX
-        30_09   30_55
-A       1       0
-B       0       1
+
+|DFFMUX|30_09|30_54|
+|------|-----|-----|
+|  A   |    1|    0|
+|  B   |    0|    1|
+
+
+|CFFMUX|30_39|31_45|
+|------|-----|-----|
+|A     |    0|    1|
+|B     |    1|    0|
+
+
+|BFFMUX|30_18|30_19|
+|------|-----|-----|
+|A     |    0|    1|
+|B     |    1|    0|
+
+
+|AFFMUX|30_09|30_55|
+|------|-----|-----|
+|A     |    1|    0|
+|B     |    0|    1|
 
diff --git a/minitests/clb_ncy0/README.md b/minitests/clb_ncy0/README.md
index 4fe7ef4..9011028 100644
--- a/minitests/clb_ncy0/README.md
+++ b/minitests/clb_ncy0/README.md
@@ -1,20 +1,28 @@
-DCY0
-        30_49
-O5      1
-AX      0
+# CLB_nCY0 Minitest
 
-CCY0
-        30_48
-O5      1
-AX      0
+## Purpose
 
-BCY0
-        01_15
-O5      1
-AX      0
+## Result
 
-ACY0
-        30_15
-O5      1
-AX      0
+
+|DCY0|30_49|
+|----|-----|
+|O5  |    1|
+|AX  |    0|
+
+|CCY0|30_48|
+|----|-----|
+|O5  |    1|
+|AX  |    0|
+
+|BCY0|01_15|
+|----|-----|
+|O5  |    1|
+|AX  |    0|
+
+
+|ACY0|30_15|
+|----|-----|
+|O5  |    1|
+|AX  |    0|
 
diff --git a/minitests/clb_ndi1mux/README.md b/minitests/clb_ndi1mux/README.md
index 4c138c4..0538082 100644
--- a/minitests/clb_ndi1mux/README.md
+++ b/minitests/clb_ndi1mux/README.md
@@ -1,14 +1,18 @@
-Trying to set SLICEM LUT DI1 inputs
-These exist for LUTA, LUTB, and LUTC only
-Can either be an external signal, another LUT's data input, or another LUT's carry
-Note: mux input pattern is irregular
+# CLB_nDI1MUX Minitest
 
-Result:
-The following bits are set for NI but not NMC31:
+## Purpose
+Trying to set SLICEM LUT DI1 inputs  
+These exist for LUTA, LUTB, and LUTC only  
+Can either be an external signal, another LUT's data input, or another LUT's carry  
+Note: mux input pattern is irregular  
+
+## Result
+The following bits are set for NI but not NMC31:  
+```
 bit 00_00 ADI1MUX.AI
 bit 00_20 BDI1MUX.BI
 bit 01_43 BDI1MUX.CI
-
-Additionally, test with unknown DI mux bits don't appear near NI bits
-There is something strange going on
+```
+Additionally, test with unknown DI mux bits don't appear near NI bits  
+There is something strange going on  
 
diff --git a/minitests/clb_nffmux/README.md b/minitests/clb_nffmux/README.md
index f58707d..6d47fef 100644
--- a/minitests/clb_nffmux/README.md
+++ b/minitests/clb_nffmux/README.md
@@ -1,9 +1,16 @@
-AFFMUX
-        30_00   30_01   30_02   30_03
-F78     1       1
-CY      1               1
-O5      1                       1
-AX              1
-XOR                     1
-O6                              1
+# CLB_nFFMUX Minitest
+
+## Purpose
+
+## Result
+
+
+|AFFMUX|30_00|30_01|30_02|30_03|
+|------|-----|-----|-----|-----|
+|F78   |    1|    1|     |     |
+|CY    |    1|     |    1|     |
+|O5    |    1|     |     |    1|
+|AX    |     |    1|     |     |
+|XOR   |     |     |    1|     |
+|O6    |     |     |     |    1|
 
diff --git a/minitests/clb_ram/README.md b/minitests/clb_ram/README.md
index c2305e7..b5bb9b7 100644
--- a/minitests/clb_ram/README.md
+++ b/minitests/clb_ram/README.md
@@ -1,10 +1,15 @@
-SLICEM RAM test
-LUT6 => 64 bits
-Focus on 64 bit
-32 probably uses same O5/O6 stuff
-128 probably uses same MUX stuff
-Why isn't there a 256?
+# CLB_RAM Minitest
 
+## Purpose
+SLICEM RAM test  
+LUT6 => 64 bits  
+Focus on 64 bit  
+32 probably uses same O5/O6 stuff  
+128 probably uses same MUX stuff  
+Why isn't there a 256?  
+
+## Result
+```
 RAM128X1D 128-Deep by 1-Wide Dual Port Random Access Memory (Select RAM)
 RAM128X1S 128-Deep by 1-Wide Random Access Memory (Select RAM)
 RAM256X1S 256-Deep by 1-Wide Random Access Memory (Select RAM)
@@ -18,5 +23,4 @@
 RAM64X1D 64-Deep by 1-Wide Dual Port Static Synchronous RAM
 RAM64X1S 64-Deep by 1-Wide Static Synchronous RAM
 RAM64X1S_1 64-Deep by 1-Wide Static Synchronous RAM with Negative-Edge Clock
-
-
+```
\ No newline at end of file
diff --git a/minitests/fixedpnr/README.md b/minitests/fixedpnr/README.md
index ab49c94..e236526 100644
--- a/minitests/fixedpnr/README.md
+++ b/minitests/fixedpnr/README.md
@@ -1,8 +1,14 @@
-Preliminary result
+# FIXEDPNR Minitest
 
-        00_48   30_12   31_03
-FDPE
-FDSE    X
-FDCE            X       X
-FDRE    X       X       X
+## Purpose
+
+## Result
+Preliminary result  
+
+|    |00_48|30_12|31_03|
+|----|-----|-----|-----|
+|FDPE|     |     |     |
+|FDSE|  X  |     |     |
+|FDCE|     |  X  |  X  |
+|FDRE|  X  |  X  |  X  |
 
diff --git a/minitests/picorv32-v/README.md b/minitests/picorv32-v/README.md
index 696fd75..eb90cc2 100644
--- a/minitests/picorv32-v/README.md
+++ b/minitests/picorv32-v/README.md
@@ -1 +1,5 @@
+# PICORV32-v Minitest
+
+## Purpose
 Unknown bits CPU synthesis test (Vivado synthesis + Vivado PnR)
+## Result
diff --git a/minitests/picorv32-y/README.md b/minitests/picorv32-y/README.md
index 0eb0851..181ee29 100644
--- a/minitests/picorv32-y/README.md
+++ b/minitests/picorv32-y/README.md
@@ -1 +1,5 @@
+# PICORV32-y Minitest
+
+## Purpose
 Unknown bits CPU synthesis test (Yosys synthesis + Vivado for PnR)
+## Result
diff --git a/minitests/roi_harness/README.md b/minitests/roi_harness/README.md
index c81a5ad..efdf4d2 100644
--- a/minitests/roi_harness/README.md
+++ b/minitests/roi_harness/README.md
@@ -1,23 +1,34 @@
-Creates an ROI with clk, inputs, and outputs to use as a partial reconfiguration test harness 
+# ROI_HARNESS Minitest
 
-Basic idea:
--LOC LUTs in the ROI to terminate input and output routing
--Let Vivado LOC the rest of the logic
--Manually route signals in and out of the ROI enough to avoid routing loops into the ROI
--Let Vivado finish the rest of the routes
+## Purpose
+Creates an ROI with clk, inputs, and outputs to use as a partial reconfiguration test harness  
 
-There is no logic outside of the ROI in order to keep IOB to ROI delays short
-Its expected the end user will rip out everything inside the ROI
+Basic idea:  
+-LOC LUTs in the ROI to terminate input and output routing  
+-Let Vivado LOC the rest of the logic  
+-Manually route signals in and out of the ROI enough to avoid routing loops into the ROI  
+-Let Vivado finish the rest of the routes  
 
-To target Arty A7 you should source the artix DB environment script then source arty.sh
+There is no logic outside of the ROI in order to keep IOB to ROI delays short  
+Its expected the end user will rip out everything inside the ROI  
 
-To build the baseline harness:
+To target Arty A7 you should source the artix DB environment script then source arty.sh  
+
+To build the baseline harness:  
+```
 ./runme.sh
+```
 
 To build a sample Vivado design using the harness:
+```
 XRAY_ROIV=roi_inv.v XRAY_FIXED_XDC=out_xc7a35tcpg236-1_BASYS3-SWBUT_roi_basev/fixed_noclk.xdc ./runme.sh
+```
 Note: this was intended for verification only and not as an end user flow (they should use SymbiFlow)
 
 To use the harness for the basys3 demo, do something like:
+```
 python3 demo_sw_led.py out_xc7a35tcpg236-1_BASYS3-SWBUT_roi_basev 3 2
+```
 This example connects switch 3 to LED 2
+
+## Result