1. 22 Sep, 2022 1 commit
    • Francis Fuentes's avatar
      Readded support for the AHB SELENE interface + WRITE freeze bug correction · 1b97f104
      Francis Fuentes authored
      This commit modifies the AHB wrapper that includes the AHB Master interface
      from SELENE's platform, to make it compatible with the changes made on the
      SafeTI core.
      However, READ_FIX and WRITE_FIX descriptors do not work correctly on the
      AHB interface due to lack of native support on the protocol.
      A small submodule could be implemented on the AHB wrapper to enable
      compatibility wih the feature, but since the same traffic can be
      obtained with READ and WRITE descriptors, this is put on standby.
      The re-implementation of the AHB interface has shown a bug where the WRITE
      and WRITE_FIX descriptors would halt from progresing if the interface does
      not comply with the correct timing on the data reads pulses.
      This has been solved and the injector core should now just set an error
      flag, but otherwise, continue with the descriptor execution as normal
      (which is what happens with the AHB interface at the moment).
  2. 08 Sep, 2022 2 commits
    • Francis Fuentes's avatar
      Configurable profile network and AHB empty wrapper removed · 40298ce6
      Francis Fuentes authored
      Now, the injector allocates a single APB register for the network
      profile to use during the traffic generation on the interface.
      Due to the platform may prefer a specific configuration, a default
      profile can be assigned during synthesis time.
      About the AHB wrapper, previously was a AHB wrapper intended to
      allocate both injector and interface, but since the interface at
      hand is from the platform, this has been removed for being empty.
      Instead, now the platform wrapper directly allocates the injector
      core and interface.
    • Francis Fuentes's avatar
      Documentation updated with register figures · 75ddb89f
      Francis Fuentes authored
      Using a LaTeX package for registers, plus some homemade functions,
      it is now possible to draw register figures and make them clear
      when a common field are used for multiple purposes.
  3. 01 Sep, 2022 1 commit
    • Francis Fuentes's avatar
      Some tweaks to allow SafeTI synthesis + Documentation WIP · 698742db
      Francis Fuentes authored
      Some teaks have been done to ensure synthesis on cases where the data buses
      between injector and interface are of different widths.
      Furthermore, new documentation is being generated at the moment.
      This will include a manual to aid on the design of injection software using or expanding
      the available drivers at the folder bsc_safeti/sw, implementing the SafeTI on other
      platforms, developing new interfaces and even modifying the core components of the injector
  4. 12 Aug, 2022 1 commit
    • Francis Fuentes's avatar
      SafeTI Pipeline Validated · af09d94d
      Francis Fuentes authored
      The pipeline version of the SafeTI has been fully validated for the
      features implemented. It has been also tested on simulation using
      the SELENE platform, ensuring the full compatibility.
      Following steps will be test it on baremetal FPGA and update documentation.
  5. 11 Aug, 2022 1 commit
    • Francis Fuentes's avatar
      SafeTI Pipeline basic validation WIP · 1dffcabb
      Francis Fuentes authored
      The validation using the testbench for IB communication testing
      has been completed. However, there are still some bugs detected
      by Spyglass that must be solved before being able to test it on
      baremetal hardware.
  6. 04 Aug, 2022 1 commit
    • Francis Fuentes's avatar
      SafeTI Pipeline debug WIP · f1790e15
      Francis Fuentes authored
      This commit includes:
      - First steps of debugging the pipeline topology.
      - Changes on the management of signal arrays (now, most are with types instead of lables).
      - The BM (that, until now it is unkown what stands for, the guess is Bus Master) label for the buses between injector core and interface have been renamed to IB, that stands for Interface Bus.
      - Solved a bug where the AXI4 Manager interface would infer latches when the reset were to be set as asynchronous (ASYN_RST = TRUE).
  7. 28 Jul, 2022 1 commit
    • Francis Fuentes's avatar
      Pipeline structure complete, lacks debug+submodules · 6b87d51a
      Francis Fuentes authored
      The implementation of the pipeline structure has been completed,
      lacking only the submodules on the EXE stage.
      After the rework on these submodules have been finished, the debug
      and validation process of the injector core will start.
  8. 21 Jul, 2022 1 commit
    • Francis Fuentes's avatar
      SafeTI core pipeline WIP · 2d2e3aad
      Francis Fuentes authored
      In this commit, new components are added to implement the three
      stage pipeline on the injector core.
      However, not all components are ready yet, lacking main CONTROL
      and EXE modules and rework on the submodules. Also, a debug and
      validation process will be also necessary.
  9. 14 Jul, 2022 1 commit
    • Francis Fuentes's avatar
      AXI4 Manager interface v0.8.9 debugged · 058910cb
      Francis Fuentes authored
      However, only injector_mode = TRUE is implemented and tested.
      This mode generates the correct signaling to carry out the
      transaction as a normal interface, but discards all read data and
      zeroes all write data in order to finish as earlier as possible
      the transaction at the BM side, even if it's still ongoing on the
      AXI network.
  10. 30 Jun, 2022 3 commits
  11. 17 Jun, 2022 3 commits
  12. 16 Jun, 2022 1 commit
    • Francis Fuentes's avatar
      General overhaul to SafeTI's descriptor memory · 926afee4
      Francis Fuentes authored
      This commit pushes many changes that fully overhaul the descriptor
      management on the internals of the injector, including:
      - The different descriptor words are now saved on a general program
        memory, which is able to addapt descriptors with words lengths
        different than 2 (at the moment, all supported types use only 2).
      - Since the different modules will require different fields or even
        more words, new connections have been established between CTRL and
        the execution modules (READ, WRITE and DELAY).
      - The CTRL word of the descriptors (the only common word for every
        type) has been revised to:
        - The enable flag has been replaced by the last descriptor flag.
        - The destfix and srcfix flags have been merged to the type_spec,
          flag, meaning especific to type. The bit left is unused.
        - Branch word has been implemented, but not the functionality yet.
      Due to these changes, the injector requires a debug process, since it
      fails the basic testbench.
      There's still work to do, as tidy up the debug registers and some types
      that are confusing or not used.
  13. 13 Jun, 2022 1 commit
    • Francis Fuentes's avatar
      SafeTI APB serial to load the injector program · 5e723b76
      Francis Fuentes authored
      Due to difficulties for simulating the injector on the SELENE platform, it has been decided to change the programming algorithm from "loading from main memory" to "APB serial", the latter being that the injector now is programmed by writing all the descriptors on the same APB register directly.
      This commit also includes major changes on the descriptor layout, simplifying the descriptor from 5 words to 2. Thou this will not be the final form of the descriptor.
      Furthermore, this means that many parts of the documentation are now outdated, but no new documentation will be produced until a more definitive version of the descriptor is made.
  14. 05 May, 2022 1 commit
    • Francis Fuentes's avatar
      SafeTI descriptor program reset through software + AXI4 Manager v0.8.6 · 90cf5bcc
      Francis Fuentes authored
      The program that the SafeTI injector loads now can be erased through software by setting to high the reset bit on the APB control register of the module.
      The AXI4 Manager v0.8.6 has dropped the utility of 'Injector_implementation' due to lack of functionality. Additionally, it has been added input ports to be controlled by the BM component (SafeTI) to set specific AXI CACHE and PROT configuration on the AXI bursts, plus the signal to do fixed address access. However, at the moment these are hardcoded on the wrappers, since the SafeTI still does not support these capabilities.
  15. 29 Mar, 2022 2 commits
  16. 18 Mar, 2022 3 commits
  17. 15 Mar, 2022 1 commit
  18. 10 Mar, 2022 1 commit
  19. 03 Mar, 2022 1 commit
  20. 25 Feb, 2022 1 commit
  21. 24 Feb, 2022 1 commit
  22. 23 Feb, 2022 1 commit
  23. 22 Feb, 2022 1 commit
  24. 18 Feb, 2022 1 commit
  25. 16 Feb, 2022 1 commit
    • Francis Fuentes's avatar
      Logic simplification, debugging · 468226ee
      Francis Fuentes authored
      Since narrow transfers just make the logic to be more complex without any particular positive, it has been opted for fixing the AXI size mode to execute be always the one that use the whole AXI data bus width. This way, logic is simplified (lower resources required), handshake latency is lightly decremented, while maintaining the same performance. However, the interface will not execute narrow transfers for now and onwards (even though, it will still work correctly).
  26. 10 Feb, 2022 1 commit
  27. 09 Feb, 2022 1 commit
  28. 03 Feb, 2022 1 commit
  29. 02 Feb, 2022 1 commit
  30. 01 Feb, 2022 1 commit
    • Francis Fuentes's avatar
      AXI re-reworked and BM reworked · a1081b92
      Francis Fuentes authored
      The AXI transfer logic has been lightly reworked to continuously read data without interruption from the AXI data bus if the subordinate provides it and if there's enough space in the fifo.
      The BMtransfer logic has been reworked to be... more complex but better managed. Thou, it needs debugging. However, it is expected to be sending data continuously.
  31. 31 Jan, 2022 1 commit
  32. 27 Jan, 2022 1 commit