PyFPGA / openflow

A Python library, and CLI utilities, which solves HDL-to-bitstream based on FOSS.
GNU General Public License v3.0
3 stars 1 forks source link

YAML configuration file definition #6

Open rodrigomelo9 opened 3 years ago

rodrigomelo9 commented 3 years ago

PyFPGA currently uses:

openflow:
    oci:
        engine:
            command: docker
            volumes: ["$HOME:$HOME"]
            work: $PWD
        containers:
            ghdl: "ghdl/synth:beta"
            yosys: "ghdl/synth:beta"
            nextpnr-ice40: "ghdl/synth:nextpnr-ice40"
            icetime: "ghdl/synth:icestorm"
            icepack: "ghdl/synth:icestorm"
            iceprog: "--device /dev/bus/usb ghdl/synth:prog"
            nextpnr-ecp5: "ghdl/synth:nextpnr-ecp5"
            ecppack: "ghdl/synth:trellis"
            openocd: "--device /dev/bus/usb ghdl/synth:prog"
    tools:
        ghdl: ghdl
        yosys: yosys
        nextpnr-ice40: nextpnr-ice40
        icetime: icetime
        icepack: icepack
        iceprog: iceprog
        nextpnr-ecp5: nextpnr-ecp5
        ecppack: ecppack
        openocd: openocd

I am thinking in a simplification for openflow:

engine:
  command: docker
  volumes: ["$HOME:$HOME"]
  work: $PWD
containers:
  ghdl: "ghdl/synth:beta"
  yosys: "ghdl/synth:beta"
  nextpnr-ice40: "ghdl/synth:nextpnr-ice40"
  icetime: "ghdl/synth:icestorm"
  icepack: "ghdl/synth:icestorm"
  iceprog: "--device /dev/bus/usb ghdl/synth:prog"
  nextpnr-ecp5: "ghdl/synth:nextpnr-ecp5"
  ecppack: "ghdl/synth:trellis"
  openocd: "--device /dev/bus/usb ghdl/synth:prog"
tools:
  ghdl: ghdl
  yosys: yosys
  nextpnr-ice40: nextpnr-ice40
  icetime: icetime
  icepack: icepack
  iceprog: iceprog
  nextpnr-ecp5: nextpnr-ecp5
  ecppack: ecppack
  openocd: openocd

@umarcor @olofk @carlosedp as suggested in https://github.com/olofk/edalize/pull/221 could be a good idea to define a shared format :-D