Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Figure 1 shows the DaqMux instantiated in the Common platform firmware in the application side.  For convenience, everything except for the AppCore is available and instantiated in the amc-carrier-core RTL. That allows the application firmware developer to concentrate on core of the application. Also, there is less margin for error.

Anchor
Figure1
Figure1
Figure 1: Common platform firmware top-level

...

  • devClk_i : 185 MHz
  • wfClk_i : (set to axiClk in the amc-carrier-core) 156.25 MHz
  • axiClk : 156.25 MHz

Connectivity

The following DaqMux ports need to be routed to the AMC carrier core, and As mentioned earlier, the AppTop which contains the DaqMux is already instantiated. The firmware application developer will need to develop the APPCore. The following (just informative) DaqMux ports are routed to the waveform engine in the amc-carrier-core (namely waveform engine) does , where the rest of the magic moving this data to the DRAM and from the DRAM to the CPU memory happens.

  • wfClk_i
  • wfRst_i
  • rxAxisMasterArr_o
  • rxAxisSlaveArr_i
  • rxAxisCtrlArr_i

Signals timngStamp_i , bsa_i, and dmod_i come from the timingTrig record that is also provided by the amc-carrier core.

The rest of the signals are application specific.signals that the application firmware developer needs to worry about are as follows:

  • freezeHw_i
  • trigHw_i
  • DAC input signals
    • sampleDataArr_i[7] to sampleDataArr_i[13] : AppCore dacValues[0] to dacValues[7]
    • their valids sampleValidVec_i[7] to sampleValidVec_i[13]: AppCore dacValids[0] to dacValids[6]
  • Debug input signals:
    • sampleDataArr_i[14] to sampleDataArr_i[17]: AppCore debugValues[0] to debugValues[3]
    • sampleValidVec_i[14] to sampleValidVec_i[17] : AppCore debugValids[0] to debugValids[6]