using markdown as package from repository

also moved all documenation sources in `src` directory

Signed-off-by: Alessandro Comodi <[email protected]>
This commit is contained in:
Alessandro Comodi
2019-09-04 15:51:28 +02:00
parent 68eb426527
commit aa0fa7ba75
37 changed files with 27 additions and 274 deletions
-1
View File
@@ -1 +0,0 @@
../../CONTRIBUTING.md
-1
View File
@@ -1 +0,0 @@
../../../fuzzers
-101
View File
@@ -1,101 +0,0 @@
Fuzzers
=======
Fuzzers are things that generate a design, feed it to Vivado, and look at the resulting bitstream to make some conclusion.
This is how the contents of the database are generated.
The general idea behind fuzzers is to pick some element in the device (say a block RAM or IOB) to target.
If you picked the IOB (no one is working on that yet), you'd write a design that is implemented in a specific IOB.
Then you'd create a program that creates variations of the design (called specimens) that vary the design parameters, for example, changing the configuration of a single pin.
A lot of this program is TCL that runs inside Vivado to change the design parameters, because it is a bit faster to load in one Verilog model and use TCL to replicate it with varying inputs instead of having different models and loading them individually.
By looking at all the resulting specimens, you can correlate which bits in which frame correspond to a particular choice in the design.
Looking at the implemented design in Vivado with "Show Routing Resources" turned on is quite helpful in understanding what all choices exist.
Configurable Logic Blocks (CLB)
-------------------------------
.. toctree::
:maxdepth: 1
:glob:
*clb*
Block RAM (BRAM)
----------------
.. toctree::
:maxdepth: 1
:glob:
*bram*
Input / Output (IOB)
--------------------
.. toctree::
:maxdepth: 1
:glob:
*iob*
Clocking (CMT, PLL, BUFG, etc)
------------------------------
.. toctree::
:maxdepth: 1
:glob:
*clk*
*cmt*
Programmable Interconnect Points (PIPs)
---------------------------------------
.. toctree::
:maxdepth: 1
:glob:
*int*
*pip*
Hard Block Fuzzers
------------------
.. toctree::
:maxdepth: 1
:glob:
*xadc
Grid and Wire
-------------
.. toctree::
:maxdepth: 1
:glob:
tilegrid
tileconn
ordered_wires
get_counts
dump_all
Timing
------
.. toctree::
:maxdepth: 1
:glob:
timing
All Fuzzers
-----------
.. toctree::
:maxdepth: 1
:glob:
*
@@ -1 +0,0 @@
../../../minitests/fixedpnr/README.md
-1
View File
@@ -1 +0,0 @@
../../../minitests
-29
View File
@@ -1,29 +0,0 @@
Minitests
=========
Minitests are experiments to figure out how things work. They allow us to understand how to better write new fuzzers.
.. toctree::
:maxdepth: 1
:glob:
clb-bused
clb-carry_cin_cyinit
clb-configs
clb-muxf8
clkbuf
eccbits
fixedpnr
index.rst
litex
lvb_long_mux
nodes_wires_list
partial_reconfig_flow
picorv32-v
picorv32-y
pip-switchboxes
roi_harness
srl
tiles_wires_pips
timing
util
@@ -1 +0,0 @@
../../../minitests/partial_reconfig_flow/README.md
@@ -1 +0,0 @@
../../../minitests/picorv32-v/README.md
@@ -1 +0,0 @@
../../../minitests/picorv32-y/README.md
@@ -1 +0,0 @@
../../../minitests/roi_harness/README.md
-6
View File
@@ -1,6 +0,0 @@
Tools
=====
`SymbiFlow/prjxray/tools/`
Here, you can find various programs to work with bitstreams, mainly to assist building fuzzers.
-1
View File
@@ -1 +0,0 @@
../../README.md