forked from sinara-hw/assembly
clarify Xilinx path, flake
This commit is contained in:
parent
1c15fd3941
commit
440f687bac
|
@ -15,6 +15,49 @@
|
|||
}
|
||||
```
|
||||
|
||||
## Building firmware
|
||||
|
||||
Once you get your hands on the firmware, you will need to work around few shortcomings of Nix, mainly not being able to run dynamically linked executables.
|
||||
|
||||
You will need:
|
||||
- Xilinx ISE 14.7 installed on your system (this guide is assuming ``/opt/Xilinx`` path),
|
||||
- an environment with Migen.
|
||||
|
||||
One way to do it is to create an FHS environment, like ARTIQ does for Vivado, within ARTIQ's ``flake.nix`` (to leverage Migen already being there), by adding these lines:
|
||||
|
||||
```
|
||||
iseEnv = pkgs.buildFHSEnv {
|
||||
name = "ise-env";
|
||||
targetPkgs = vivadoDeps;
|
||||
};
|
||||
|
||||
ise = pkgs.buildFHSEnv {
|
||||
name = "ise";
|
||||
targetPkgs = vivadoDeps;
|
||||
profile = "set -e; source /opt/Xilinx/14.7/ISE_DS/settings64.sh";
|
||||
runScript = "ise";
|
||||
};
|
||||
```
|
||||
|
||||
Add them below ``vivadoEnv``. Then add ``iseEnv`` and ``ise`` to the dev shell's build inputs. Call ``nix develop`` on that.
|
||||
|
||||
Then you can build Mirny:
|
||||
|
||||
```shell
|
||||
nix develop
|
||||
ise-env
|
||||
cd ../mirny # or wherever your source is at
|
||||
source /opt/Xilinx/14.7/ISE_DS/settings64.sh
|
||||
python mirny_impl.py
|
||||
```
|
||||
|
||||
### Flashing
|
||||
|
||||
```shell
|
||||
nix-shell -p xc3sprog
|
||||
xc3sprog -c jtaghs2 -m /opt/Xilinx/14.7/ISE_DS/ISE/xbr/data -v build/mirny.jed
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
### Without Almazny
|
||||
|
@ -49,7 +92,7 @@ After running `artiq_sinara_test`:
|
|||
|
||||
![](../img/mirny_gqrx.png)
|
||||
|
||||
### With Almazny
|
||||
### With Almazny (ARTIQ 7)
|
||||
|
||||
At first, `artiq_sinara_test` will prompt you for testing Mirnies as the would be without Almazny.
|
||||
After that, it will prompt you with testing the Almazny:
|
||||
|
@ -98,3 +141,5 @@ You should also see differences in various modes, but that may require disabling
|
|||
### Tips
|
||||
|
||||
~~Mirnies often fail `ValueError: MUXOUT not high`, in that case restart the tests or reboot the board(s).~~ - fixed in [9569cfb](https://github.com/m-labs/artiq/commit/9569cfb26329c0acdc1705d3256d2506b7bccce5)
|
||||
|
||||
For Almazny v1.2+ support, CPLD firmware above 0.3.0 (with fixes) must be flashed onto Mirny.
|
Loading…
Reference in New Issue