targets/colorlight_5a_75b: add instruction to build/load and use bitstream with wishbone-tool
This commit is contained in:
parent
f279fe9d33
commit
4a84e9b08a
|
@ -7,6 +7,14 @@
|
||||||
# Etherbone stack that need to be optimized. It was initially just used to validate the reversed
|
# Etherbone stack that need to be optimized. It was initially just used to validate the reversed
|
||||||
# pinout but happens to work on hardware...
|
# pinout but happens to work on hardware...
|
||||||
|
|
||||||
|
# Build/Use:
|
||||||
|
# ./colorlight_5a_75b.py --uart-name=crossover --with-etherbone --csr-csv=csr.csv
|
||||||
|
# ./colorlight_5a_75b.py --load
|
||||||
|
# ping 192.168.1.50
|
||||||
|
# Get and install wishbone tool from: https://github.com/litex-hub/wishbone-utils/releases
|
||||||
|
# wishbone-tool --ethernet-host 192.168.1.50 --server terminal --csr-csv csr.csv
|
||||||
|
# You should see the LiteX BIOS and be able to interact with it.
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
@ -92,6 +100,24 @@ class EtherboneSoC(BaseSoC):
|
||||||
self.ethphy.crg.cd_eth_rx.clk,
|
self.ethphy.crg.cd_eth_rx.clk,
|
||||||
self.ethphy.crg.cd_eth_tx.clk)
|
self.ethphy.crg.cd_eth_tx.clk)
|
||||||
|
|
||||||
|
# Load ---------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def load():
|
||||||
|
import os
|
||||||
|
f = open("openocd.cfg", "w")
|
||||||
|
f.write(
|
||||||
|
"""
|
||||||
|
interface ftdi
|
||||||
|
ftdi_vid_pid 0x0403 0x6011
|
||||||
|
ftdi_channel 0
|
||||||
|
ftdi_layout_init 0x0098 0x008b
|
||||||
|
reset_config none
|
||||||
|
adapter_khz 25000
|
||||||
|
jtag newtap ecp5 tap -irlen 8 -expected-id 0x41111043
|
||||||
|
""")
|
||||||
|
f.close()
|
||||||
|
os.system("openocd -f openocd.cfg -c \"transport select jtag; init; svf soc_etherbonesoc_colorlight_5a_75b/gateware/top.svf; exit\"")
|
||||||
|
exit()
|
||||||
|
|
||||||
# Build --------------------------------------------------------------------------------------------
|
# Build --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -102,8 +128,12 @@ def main():
|
||||||
parser.add_argument("--revision", default="7.0", type=str, help="Board revision 7.0 (default) or 6.1")
|
parser.add_argument("--revision", default="7.0", type=str, help="Board revision 7.0 (default) or 6.1")
|
||||||
parser.add_argument("--with-etherbone", action="store_true", help="enable Etherbone support")
|
parser.add_argument("--with-etherbone", action="store_true", help="enable Etherbone support")
|
||||||
parser.add_argument("--eth-phy", default=0, type=int, help="Ethernet PHY 0 or 1 (default=0)")
|
parser.add_argument("--eth-phy", default=0, type=int, help="Ethernet PHY 0 or 1 (default=0)")
|
||||||
|
parser.add_argument("--load", action="store_true", help="load bitstream")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.load:
|
||||||
|
load()
|
||||||
|
|
||||||
if args.with_etherbone:
|
if args.with_etherbone:
|
||||||
soc = EtherboneSoC(eth_phy=args.eth_phy, revision=args.revision, **soc_core_argdict(args))
|
soc = EtherboneSoC(eth_phy=args.eth_phy, revision=args.revision, **soc_core_argdict(args))
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue