1. 18 Mar, 2022 1 commit
    • Francis Fuentes's avatar
      Library 'bsc' renamed to 'safety' · d872e491
      Francis Fuentes authored
      Since other projects are clonned into 'safety' library instead of having it as 'bsc' on grlib, it has been decided to change the library name accordingly to ease integration jobs on other platforms.
  2. 15 Mar, 2022 1 commit
  3. 10 Mar, 2022 1 commit
  4. 03 Mar, 2022 1 commit
  5. 25 Feb, 2022 1 commit
  6. 24 Feb, 2022 1 commit
  7. 23 Feb, 2022 1 commit
  8. 22 Feb, 2022 1 commit
  9. 18 Feb, 2022 1 commit
  10. 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).
  11. 10 Feb, 2022 1 commit
  12. 09 Feb, 2022 1 commit
  13. 03 Feb, 2022 1 commit
  14. 02 Feb, 2022 1 commit
  15. 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.
  16. 31 Jan, 2022 1 commit
  17. 27 Jan, 2022 1 commit
  18. 26 Jan, 2022 1 commit
  19. 25 Jan, 2022 1 commit
    • Francis Fuentes's avatar
      Restructuration of the interface to make compatible subordinates that do not... · a49f7070
      Francis Fuentes authored
      Restructuration of the interface to make compatible subordinates that do not support narrow transaction + AXI read buffer for higher performance
      Finding out that the AXI subordinate from Vivado IP library doesn't allow narrow transactions took me thinking that maybe, even though it doesn't follow the standard, it might be a design choice on other designs, since using the maximum of the AXI data bus is the most performance choice. Thus, I decided to re-implement the decide_size function and other things to support subordinates that do not support narrow transfers, even though the manager still does.
      Furthermore, theimplementation of separation registers between manager and BM component/AXI interconnect or AXI subordinate (to maximize frequency of operation by increasing latency by 2 cc) has shown a mismatch of too many clock cycles, to the point that the latency would require to increase linearly with the number of beats of the transaction. Because this is unrealistic of how bad could be, decided to restructure the manager to execute AXI reads over a mini-buffer FIFO that the BM transfer logic will take to transfer to the BM component. This way, the AXI burst is done leaving one clock cycle between beats until the buffer is full, since it's expected that the BM transfer will be the bottleneck on most cases.
  20. 24 Jan, 2022 1 commit
    • Francis Fuentes's avatar
      Vivado's AXI4 subordinate does not support narrow transactions · 0aee5cba
      Francis Fuentes authored
      After the whole day trying to make the AXI4 subordinate from Vivado IP generator tool work on transfers of a size narrower than the AXI data bus width, I came to the conclusion that it just doesn't support narrow size transactions. Even found on a specification sheet (that may not be for the same thing, there're many called AXI4-something) that indicates that it is not recommended to make narrow transactions. Gonna try a bit with another subordinate from elsewhere or at the end, just try to debug it as well as I can with the Vivado's one.
  21. 21 Jan, 2022 1 commit
  22. 20 Jan, 2022 1 commit
  23. 19 Jan, 2022 1 commit
    • Francis Fuentes's avatar
      Parametrizable contraints unification · 4dfc2741
      Francis Fuentes authored
      Due to VHDL limitation (older than VHDL'2008 in specific), generic parametrizable constraints have been dropped in order to unify them on a single file, that is the library packages.
  24. 18 Jan, 2022 1 commit
  25. 17 Jan, 2022 2 commits
  26. 12 Jan, 2022 1 commit
  27. 10 Jan, 2022 1 commit
  28. 05 Jan, 2022 1 commit
  29. 04 Jan, 2022 1 commit
  30. 03 Jan, 2022 1 commit
  31. 23 Dec, 2021 1 commit
    • Francis Fuentes's avatar
      Restore CI changes · 853e9d86
      Francis Fuentes authored
      Tried to solve the problem with CI, didnt achieve anything, so I'm restoring those files to the previous commit
  32. 21 Dec, 2021 1 commit
  33. 09 Dec, 2021 1 commit
  34. 04 Dec, 2021 1 commit
    • Francis Fuentes's avatar
      AXI interface progress · f00a8c3a
      Francis Fuentes authored
      Most of the logic previous to handshake process is written. However, I expect it will need long sessions of simulation debugging.
  35. 01 Dec, 2021 1 commit
  36. 29 Nov, 2021 1 commit
    • Francis Fuentes's avatar
      Testbench compatibility commentary has been added · 32e5bdb7
      Francis Fuentes authored
      Since some calls from the testbench file and testbench package are exclusive for VHDL2008, a Compatibility tab has been added with indications of how to make the testbench compatible without VHDL2008 compliance. This, however, implies that the debugging information would be less descriptive due to not using the VHDL2008 calls.
  37. 25 Nov, 2021 1 commit
    • Francis Fuentes's avatar
      Testbench improved · 736c7836
      Francis Fuentes authored
      It has been found that the testbench may hang up waiting for a injector request or testbench grant request assertion on specific cases. This has been solved with the improvement. Now, the user can set a threshold of how many clock cycles the test can wait to the requests and grant requests signals to be asserted, and outputing an error if the test pass that threshold of waiting.
      Furthermore, the next improvement should be to add random waits to prolongue the injector/testbench waiting for a grant request/request, tacking into account the threshold set. So, the higher is the threshold, the more clock cycles may make to wait the injector/testbench in a random fashion. This could be used at future injector versions, that may reset transactions if the interface is not responding.
  38. 24 Nov, 2021 2 commits