diff --git a/BUILDING.md b/BUILDING.md new file mode 100644 index 0000000..067116e --- /dev/null +++ b/BUILDING.md @@ -0,0 +1,31 @@ +# Building Instructions + +All of this is assumed to be on a linux system. Eventually I'll probably make or use some dockerfile that +has all this installed already. + +## Toolchain Installation + +### Trellis and FPGA toolchain + +First, get an [oss-cad-suite release](https://github.com/YosysHQ/oss-cad-suite-build/releases), +and unpack it into an install directory of your choice. + +Ensure the `bin/` folder is included in your build environment's PATH. + +### LiteX + +Simply follow the [LiteX quick start guide](https://github.com/enjoy-digital/litex#quick-start-guide). + +Ensure that the RISCV toolchain `bin/` folder is also included in your build environment's PATH. + +### Rust + +TODO will need to install rust and install the rv32/nightly toolchain + +### ecpdap (Optional?) + +You may or may not have to install your own version of ecpdap, I found the one in `oss-cad-suite` didn't work +for whatever reason, so I had to install it myself. There are releases on the github, or you can just build it +yourself with Rust. Just make sure you either replace the binary in the oss-cad-suite location or make sure +this version of ecpdap has priority in PATH. + diff --git a/README.md b/README.md index bfc0850..d67c933 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,18 @@ # Updated Sonar System +Will *not* be doing LVDS system, because arty doesn't have selectable bank voltage to actually use it. + +Switching to use Colorlight i9 board (ECP5 UP5K 45), because it has plenty IO broken out, also provides ethernet +(I just need to implement the magnetics and jack), and is cheaper/potentially easier to acquire for ARVP +in the future. The LiteX implementation fits in <40% of total resources of the 25K LUT variant, so the 45K +should be plenty for what I need. Frankly what I'm implementing is very simple. It can probably even handle doing +the FFT on board if I wanted to. + ## Repo Layout ``` hardware/ - Directory for any hardware designs - pmod/ - A PMOD interface board, using 4 ADCs with LVDS converters to get data across PMOD + pmod/ - A PMOD interface board, using 4 ADCs with LVDS converters to get data across PMOD [Failed Idea] sonar_symbols.kicad_sym - custom KiCAD symbols I create for hardware ``` @@ -71,3 +79,16 @@ Should make sure to have a debug port available as early as possible. I will make the interface as generic as possible, so it should be easy to swap out, but I will start by targetting zmq so I can change as little of the software stack as possible. + + +## Random issues + +You will probably need to un write-protect the flash + +### ecpdap: "Error: specified probe not found" + +A Reboot fixed it.... + +Do I have ecpdap installed in two places and one of them doesn't work maybe? + +I do have two versions installed. one from oss-cad-suite and one by building it manually.