From 27d8057d277e230664862e303f34d6ac86672ad5 Mon Sep 17 00:00:00 2001 From: Kia <kia@special-circumstanc.es> Date: Wed, 16 Sep 2020 19:02:13 -0600 Subject: [PATCH] more readme content --- README | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/README b/README index b85f5d0..2dba792 100644 --- a/README +++ b/README @@ -1,6 +1,11 @@ ## Summary -This code is an implementation of an LR(1) parser written in nMigen, a python-based hardware description language. This means that it is possible to use the synthesized output as an IP core/block in an FPGA design. At compile/synthesis time, you will provide the software with parametrization information that includes: +This code is an implementation of an LR(1) parser written in nMigen, a python-based hardware description language. This means that it is possible to use the synthesized output as an IP core/block in an FPGA design. + +## Parametrization Interface + + +At compile/synthesis time, you will provide the software with parametrization information that includes: * The complete language specification @@ -21,6 +26,9 @@ Simulation can be done: * at the nMigen level. nMigen has an integrated simulator, which is less performant than either Verilator or cxxrtl, but allows for easy integration with the nMigen code. +## HDL/Gateware Interface + + The synthesized design expresses two data interfaces, the input and output, and several sideband signals. The input data port has a "ready" output, and a "valid" input, which allow for flow control when interfacing with upstream components, and the output data port has a "valid" output and a "ready" input, which allow for flow control when interfacing with downstream components. Currently, the output data port is connected to a RAM, for ease in simulation/testing, but this is arbitrary and will be removed. The sideband signals do not carry the bulk of the data, but are critical to proper operation of the parser and correct use of its results. The sideband signals are: @@ -38,12 +46,16 @@ The sideband signals do not carry the bulk of the data, but are critical to prop ## Design -## Parametrization Interface -## HDL/Gateware Interface ## Work left to do ## Installation instructions and dependencies +A recent version of Python 3 is required, as is nMigen, which can be installed with: + +pip install --user --upgrade git+https://github.com/nmigen/nmigen.git + + + ## Testing/verification \ No newline at end of file -- GitLab