Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions src/main/scala/spinalutils/xilinx/ip/AxiDataWidthAdapter.scala
Original file line number Diff line number Diff line change
Expand Up @@ -118,24 +118,24 @@ if { $$axiDwidthConvExist <0} {

tcls = tcls :+ createCmd

var property: String = "set_property -dict [list "
var property: String = "set_property -dict [list \\\n"
var properties: List[String] = List()

properties = properties :+ f"CONFIG.PROTOCOL {${conf.protocol}}"
properties = properties :+ f"CONFIG.READ_WRITE_MODE {${conf.rwmode}}"
properties = properties :+ f"CONFIG.ADDR_WIDTH {${conf.addressWidth}}"
properties = properties :+ f"CONFIG.SI_DATA_WIDTH {${conf.siDataWidth}}"
properties = properties :+ f"CONFIG.MI_DATA_WIDTH {${conf.miDataWidth}}"
properties = properties :+ f"CONFIG.SI_ID_WIDTH {${conf.siIdWidth}}"
properties = properties :+ f"CONFIG.MAX_SPLIT_BEATS {${conf.maxBurstLenth}}"
properties = properties :+ f"CONFIG.FIFO_MODE {${conf.fifoMode.position}}"
properties = properties :+ f"CONFIG.SYNCHRONIZATION_STAGES {${conf.syncStages}}"
properties = properties :+ f" CONFIG.PROTOCOL {${conf.protocol}}"
properties = properties :+ f" CONFIG.READ_WRITE_MODE {${conf.rwmode}}"
properties = properties :+ f" CONFIG.ADDR_WIDTH {${conf.addressWidth}}"
properties = properties :+ f" CONFIG.SI_DATA_WIDTH {${conf.siDataWidth}}"
properties = properties :+ f" CONFIG.MI_DATA_WIDTH {${conf.miDataWidth}}"
properties = properties :+ f" CONFIG.SI_ID_WIDTH {${conf.siIdWidth}}"
properties = properties :+ f" CONFIG.MAX_SPLIT_BEATS {${conf.maxBurstLenth}}"
properties = properties :+ f" CONFIG.FIFO_MODE {${conf.fifoMode.position}}"
properties = properties :+ f" CONFIG.SYNCHRONIZATION_STAGES {${conf.syncStages}}"
properties =
properties :+ f"CONFIG.ACLK_ASYNC {${if (conf.fifoMode == AxiDataWidthAdapterFifoMode.PacketFifoWithCC) 1 else 0}}"
properties :+ f" CONFIG.ACLK_ASYNC {${if (conf.fifoMode == AxiDataWidthAdapterFifoMode.PacketFifoWithCC) 1 else 0}}"

properties.foreach { x =>
if (x != "")
property = property.concat(x) + " "
property = property.concat(x) + " \\\n"
}
property = property.concat(f"] [get_ips axi_dwidth_converter_${conf.name}]")

Expand Down
22 changes: 11 additions & 11 deletions src/main/scala/spinalutils/xilinx/ip/AxisDataWidthAdapter.scala
Original file line number Diff line number Diff line change
Expand Up @@ -63,22 +63,22 @@ if { $$axisDwidthConvExist <0} {

tcls = tcls :+ createCmd

var property: String = "set_property -dict [list "
var property: String = "set_property -dict [list \\\n"
var properties: List[String] = List()

properties = properties :+ f"CONFIG.S_TDATA_NUM_BYTES ${conf.slaveBytes}"
properties = properties :+ f"CONFIG.M_TDATA_NUM_BYTES ${conf.masterBytes}"
properties = properties :+ f"CONFIG.HAS_TSTRB ${conf.useStrb}"
properties = properties :+ f"CONFIG.HAS_TKEEP ${conf.useKeep}"
properties = properties :+ f"CONFIG.HAS_TLAST ${conf.useLast}"
properties = properties :+ f"CONFIG.TID_WIDTH ${conf.tidWidth}"
properties = properties :+ f"CONFIG.TDEST_WIDTH ${conf.tdestWidth}"
properties = properties :+ f"CONFIG.TUSER_BITS_PER_BYTE ${conf.tuserWidth}"
properties = properties :+ f"CONFIG.HAS_MI_TKEEP ${(conf.slaveBytes < conf.masterBytes).toInt}"
properties = properties :+ f" CONFIG.S_TDATA_NUM_BYTES ${conf.slaveBytes}"
properties = properties :+ f" CONFIG.M_TDATA_NUM_BYTES ${conf.masterBytes}"
properties = properties :+ f" CONFIG.HAS_TSTRB ${conf.useStrb}"
properties = properties :+ f" CONFIG.HAS_TKEEP ${conf.useKeep}"
properties = properties :+ f" CONFIG.HAS_TLAST ${conf.useLast}"
properties = properties :+ f" CONFIG.TID_WIDTH ${conf.tidWidth}"
properties = properties :+ f" CONFIG.TDEST_WIDTH ${conf.tdestWidth}"
properties = properties :+ f" CONFIG.TUSER_BITS_PER_BYTE ${conf.tuserWidth}"
properties = properties :+ f" CONFIG.HAS_MI_TKEEP ${(conf.slaveBytes < conf.masterBytes).toInt}"

properties.foreach { x =>
if (x != "")
property = property.concat(x) + " "
property = property.concat(x) + " \\\n"
}
property = property.concat(f"] [get_ips axis_dwidth_converter_${conf.name}]")

Expand Down
31 changes: 16 additions & 15 deletions src/main/scala/spinalutils/xilinx/ip/ClkWiz.scala
Original file line number Diff line number Diff line change
Expand Up @@ -86,40 +86,41 @@ if { $$clkWizExit <0} {
}"""
tcls = tcls :+ createCmd

var property: String = "set_property -dict [list "
var property: String = "set_property -dict [list \\\n"
var properties: List[String] = List()

properties = properties :+ f"CONFIG.PRIMITIVE {${conf.primitive.getName()}}"
properties = properties :+ f"CONFIG.PRIM_IN_FREQ {${conf.freqIn}}"
properties = properties :+ f"CONFIG.PRIM_SOURCE {${if (conf.dualIn) "Differential_clock_capable_pin"
properties = properties :+ f" CONFIG.PRIMITIVE {${conf.primitive.getName()}}"
properties = properties :+ f" CONFIG.PRIM_IN_FREQ {${conf.freqIn}}"
properties = properties :+ f" CONFIG.PRIM_SOURCE {${if (conf.dualIn) "Differential_clock_capable_pin"
else "Single_ended_clock_capable_pin"}}"
if (conf.freqOut.length == 1)
properties = properties :+ f"CONFIG.CLKOUT1_REQUESTED_OUT_FREQ {${conf.freqOut(0)}}"
properties = properties :+ f" CONFIG.CLKOUT1_REQUESTED_OUT_FREQ {${conf.freqOut(0)}}"
else
conf.freqOut.zipWithIndex.map { case (f, i) =>
properties = properties :+ f"CONFIG.CLKOUT${i + 1}_USED {true} CONFIG.CLKOUT${i + 1}_REQUESTED_OUT_FREQ ${f}"
properties = properties :+ f" CONFIG.CLKOUT${i + 1}_USED {true}"
properties = properties :+ f" CONFIG.CLKOUT${i + 1}_REQUESTED_OUT_FREQ ${f}"
}
if (conf.freqDrives != null)
conf.freqDrives.zipWithIndex.map { case (d, i) =>
properties = properties :+ f"CONFIG.CLKOUT${i + 1}_DRIVES {${d.getName()}}"
properties = properties :+ f" CONFIG.CLKOUT${i + 1}_DRIVES {${d.getName()}}"
}
properties = properties :+ f"CONFIG.JITTER_OPTIONS {${conf.jitterOpt.getName()}}"
properties = properties :+ f" CONFIG.JITTER_OPTIONS {${conf.jitterOpt.getName()}}"
if (conf.jitterOpt == ClkWizJitterOptions.UI)
properties = properties :+ f"CONFIG.CLKIN1_UI_JITTER {${conf.inputJitter}}"
properties = properties :+ f" CONFIG.CLKIN1_UI_JITTER {${conf.inputJitter}}"
else
properties = properties :+ f"CONFIG.CLKIN1_JITTER_PS {${conf.jitterPs}}"
properties = properties :+ f" CONFIG.CLKIN1_JITTER_PS {${conf.jitterPs}}"
for (i <- conf.freqOut.length + 1 to 7)
properties = properties :+ f"CONFIG.CLKOUT${i}_USED {false}"
properties = properties :+ f"CONFIG.USE_LOCKED {${conf.locked}}"
properties = properties :+ f"CONFIG.USE_RESET {${conf.reset}}"
properties = properties :+ f" CONFIG.CLKOUT${i}_USED {false}"
properties = properties :+ f" CONFIG.USE_LOCKED {${conf.locked}}"
properties = properties :+ f" CONFIG.USE_RESET {${conf.reset}}"
if (conf.reset) {
properties = properties :+ f"CONFIG.RESET_PORT {${if (conf.resetType == ClkWizResetOptions.LOW) "resetn"
properties = properties :+ f" CONFIG.RESET_PORT {${if (conf.resetType == ClkWizResetOptions.LOW) "resetn"
else "reset"}}"
}

properties.foreach { x =>
if (x != "")
property = property.concat(x) + " "
property = property.concat(x) + " \\\n"
}
property = property.concat(f"] [get_ips clk_wiz_${conf.name}]")

Expand Down
26 changes: 13 additions & 13 deletions src/main/scala/spinalutils/xilinx/ip/Ila.scala
Original file line number Diff line number Diff line change
Expand Up @@ -52,36 +52,36 @@ if { $$ilaExit <0 } {
}"""
tcls = tcls :+ createCmd

var property: String = "set_property -dict [list "
var property: String = "set_property -dict [list \\\n"
var properties: List[String] = List()

properties = properties :+ f"CONFIG.C_DATA_DEPTH {${conf.depth}}"
properties = properties :+ f" CONFIG.C_DATA_DEPTH {${conf.depth}}"
properties = properties :+ f" CONFIG.C_NUM_OF_PROBES {${conf.probes.length}}"
conf.probes.zipWithIndex.map { case (w, i) =>
properties = properties :+ f"CONFIG.C_PROBE${i}_WIDTH {${w}}"
properties = properties :+ f" CONFIG.C_PROBE${i}_WIDTH {${w}}"
}
properties = properties :+ f"CONFIG.C_NUM_OF_PROBES {${conf.probes.length}}"

properties = properties :+ f"CONFIG.ALL_PROBE_SAME_MU {${conf.sameComparators}}"
properties = properties :+ f" CONFIG.ALL_PROBE_SAME_MU {${conf.sameComparators}}"
if (conf.sameComparators) {
properties = properties :+ f"CONFIG.ALL_PROBE_SAME_MU_CNT {${conf.comparator}}"
properties = properties :+ f" CONFIG.ALL_PROBE_SAME_MU_CNT {${conf.comparator}}"
} else {
conf.comparators.zipWithIndex.map { case (c, i) =>
properties = properties :+ f"CONFIG.C_PROBE${i}_MU_CNT {${c}}"
properties = properties :+ f" CONFIG.C_PROBE${i}_MU_CNT {${c}}"
}
}

if (conf.triggerOptions != null) {
conf.triggerOptions.zipWithIndex.map { case (t, i) =>
properties = properties :+ f"CONFIG.C_PROBE${i}_TYPE {${t.position}}"
properties = properties :+ f" CONFIG.C_PROBE${i}_TYPE {${t.position}}"
}
}

properties = properties :+ f"CONFIG.C_ADV_TRIGGER {${conf.advancedTrigger}}"
properties = properties :+ f"CONFIG.C_EN_STRG_QUAL {${conf.captureControl.toInt}}"
properties = properties :+ f" CONFIG.C_ADV_TRIGGER {${conf.advancedTrigger}}"
properties = properties :+ f" CONFIG.C_EN_STRG_QUAL {${conf.captureControl.toInt}}"

properties.foreach { x =>
if (x != "")
property = property.concat(x) + " "
property = property.concat(x) + " \\\n"
}
property = property.concat(f"] [get_ips ila_${conf.name}]")

Expand Down Expand Up @@ -109,7 +109,7 @@ object Ila {
IlaConfig(
name = name,
probes = signalWidths,
depth = 1024
depth = depth
)
)
ila.setName(f"${name}_ila")
Expand All @@ -127,7 +127,7 @@ object Ila {
IlaConfig(
name = name,
probes = signalWidths,
depth = 1024
depth = depth
)
)
ila.setName(f"${name}_ila")
Expand Down
16 changes: 8 additions & 8 deletions src/main/scala/spinalutils/xilinx/ip/Vio.scala
Original file line number Diff line number Diff line change
Expand Up @@ -53,26 +53,26 @@ if { $$vioExit <0} {
}"""
tcls = tcls :+ createCmd

var property: String = "set_property -dict [list "
var property: String = "set_property -dict [list \\\n"
var properties: List[String] = List()

if (conf.inProbes.length != 0)
properties = properties :+ f"CONFIG.C_EN_PROBE_IN_ACTIVITY {${conf.inProbeActiveDetector.toInt}}"
properties = properties :+ f" CONFIG.C_EN_PROBE_IN_ACTIVITY {${conf.inProbeActiveDetector.toInt}}"

properties = properties :+ f"CONFIG.C_NUM_PROBE_IN {${conf.inProbes.length}}"
properties = properties :+ f" CONFIG.C_NUM_PROBE_IN {${conf.inProbes.length}}"
conf.inProbes.zipWithIndex.map { case (w, i) =>
properties = properties :+ f"CONFIG.C_PROBE_IN${i}_WIDTH {${w}}"
properties = properties :+ f" CONFIG.C_PROBE_IN${i}_WIDTH {${w}}"
}

properties = properties :+ f"CONFIG.C_NUM_PROBE_OUT {${conf.outProbes.length}}"
properties = properties :+ f" CONFIG.C_NUM_PROBE_OUT {${conf.outProbes.length}}"
conf.outProbes.zip(conf.outInits).zipWithIndex.map { case ((w, init), i) =>
properties = properties :+ f"CONFIG.C_PROBE_OUT${i}_WIDTH {${w}}"
properties = properties :+ f"CONFIG.C_PROBE_OUT${i}_INIT_VAL {0x${init}%x}"
properties = properties :+ f" CONFIG.C_PROBE_OUT${i}_WIDTH {${w}}"
properties = properties :+ f" CONFIG.C_PROBE_OUT${i}_INIT_VAL {0x${init}%x}"
}

properties.foreach { x =>
if (x != "")
property = property.concat(x) + " "
property = property.concat(x) + " \\\n"
}
property = property.concat(f"] [get_ips vio_${conf.name}]")

Expand Down
46 changes: 23 additions & 23 deletions src/main/scala/spinalutils/xilinx/ip/Xadc.scala
Original file line number Diff line number Diff line change
Expand Up @@ -164,34 +164,34 @@ if { $$xadcWizExist <0} {
}"""
tcls = tcls :+ createCmd

var property: String = "set_property -dict [list "
var property: String = "set_property -dict [list \\\n"
var properties: List[String] = List()

properties = properties :+ f"CONFIG.INTERFACE_SELECTION {${conf.interface.getName()}}"
properties = properties :+ f"CONFIG.TIMING_MODE {${conf.timing.getName()}}"
properties = properties :+ f"CONFIG.DCLK_FREQUENCY {${conf.drpFreq}}"
properties = properties :+ f"CONFIG.ENABLE_RESET {${conf.interface != XadcInterfaceOptions.AXI4Lite}}"
properties = properties :+ f"CONFIG.ENABLE_AXI4STREAM {${conf.streamEn}}"
properties = properties :+ f"CONFIG.FIFO_DEPTH {${conf.streamFIFODepth}}"
properties = properties :+ f"CONFIG.OT_ALARM {${conf.alarms.useOverTemperature}}"
properties = properties :+ f"CONFIG.TEMPERATURE_ALARM_OT_TRIGGER {${conf.alarms.OverTemperatureTrigger}}"
properties = properties :+ f"CONFIG.TEMPERATURE_ALARM_OT_RESET {${conf.alarms.OverTemperatureReset}}"
properties = properties :+ f"CONFIG.USER_TEMP_ALARM {${conf.alarms.useUserTemperature}}"
properties = properties :+ f"CONFIG.TEMPERATURE_ALARM_TRIGGER {${conf.alarms.OverTemperatureTrigger}}"
properties = properties :+ f"CONFIG.TEMPERATURE_ALARM_RESET {${conf.alarms.OverTemperatureReset}}"
properties = properties :+ f"CONFIG.VCCINT_ALARM {${conf.alarms.useVCCINT}}"
properties = properties :+ f"CONFIG.VCCINT_ALARM_LOWER {${conf.alarms.VCCINTLower}}"
properties = properties :+ f"CONFIG.VCCINT_ALARM_UPPER {${conf.alarms.VCCINTUpper}}"
properties = properties :+ f"CONFIG.VCCAUX_ALARM {${conf.alarms.useVCCAUX}}"
properties = properties :+ f"CONFIG.VCCAUX_ALARM_LOWER {${conf.alarms.VCCAUXLower}}"
properties = properties :+ f"CONFIG.VCCAUX_ALARM_UPPER {${conf.alarms.VCCAUXUpper}}"
properties = properties :+ f"CONFIG.ENABLE_VBRAM_ALARM {${conf.alarms.useVCCBRAM}}"
properties = properties :+ f"CONFIG.VBRAM_ALARM_LOWER {${conf.alarms.VCCBRAMLower}}"
properties = properties :+ f"CONFIG.VBRAM_ALARM_UPPER {${conf.alarms.VCCBRAMUpper}}"
properties = properties :+ f" CONFIG.INTERFACE_SELECTION {${conf.interface.getName()}}"
properties = properties :+ f" CONFIG.TIMING_MODE {${conf.timing.getName()}}"
properties = properties :+ f" CONFIG.DCLK_FREQUENCY {${conf.drpFreq}}"
properties = properties :+ f" CONFIG.ENABLE_RESET {${conf.interface != XadcInterfaceOptions.AXI4Lite}}"
properties = properties :+ f" CONFIG.ENABLE_AXI4STREAM {${conf.streamEn}}"
properties = properties :+ f" CONFIG.FIFO_DEPTH {${conf.streamFIFODepth}}"
properties = properties :+ f" CONFIG.OT_ALARM {${conf.alarms.useOverTemperature}}"
properties = properties :+ f" CONFIG.TEMPERATURE_ALARM_OT_TRIGGER {${conf.alarms.OverTemperatureTrigger}}"
properties = properties :+ f" CONFIG.TEMPERATURE_ALARM_OT_RESET {${conf.alarms.OverTemperatureReset}}"
properties = properties :+ f" CONFIG.USER_TEMP_ALARM {${conf.alarms.useUserTemperature}}"
properties = properties :+ f" CONFIG.TEMPERATURE_ALARM_TRIGGER {${conf.alarms.OverTemperatureTrigger}}"
properties = properties :+ f" CONFIG.TEMPERATURE_ALARM_RESET {${conf.alarms.OverTemperatureReset}}"
properties = properties :+ f" CONFIG.VCCINT_ALARM {${conf.alarms.useVCCINT}}"
properties = properties :+ f" CONFIG.VCCINT_ALARM_LOWER {${conf.alarms.VCCINTLower}}"
properties = properties :+ f" CONFIG.VCCINT_ALARM_UPPER {${conf.alarms.VCCINTUpper}}"
properties = properties :+ f" CONFIG.VCCAUX_ALARM {${conf.alarms.useVCCAUX}}"
properties = properties :+ f" CONFIG.VCCAUX_ALARM_LOWER {${conf.alarms.VCCAUXLower}}"
properties = properties :+ f" CONFIG.VCCAUX_ALARM_UPPER {${conf.alarms.VCCAUXUpper}}"
properties = properties :+ f" CONFIG.ENABLE_VBRAM_ALARM {${conf.alarms.useVCCBRAM}}"
properties = properties :+ f" CONFIG.VBRAM_ALARM_LOWER {${conf.alarms.VCCBRAMLower}}"
properties = properties :+ f" CONFIG.VBRAM_ALARM_UPPER {${conf.alarms.VCCBRAMUpper}}"

properties.foreach { x =>
if (x != "")
property = property.concat(x) + " "
property = property.concat(x) + " \\\n"
}
property = property.concat(f"] [get_ips xadc_wiz_${conf.name}]")

Expand Down
Loading