Skip to content

Releases: slaclab/surf

Minor Release v2.51.0

02 Oct 22:32
266afd6
Compare
Choose a tag to compare

Pull Requests Since v2.50.0

Unlabeled

  1. #1195 - adding Pgp4RxLiteLowSpeed.vhd
  2. #1204 - introduce rst_polarity feature to all pgp4txlite/pgp4rx modules to prepare for asic deployment
  3. #1194 - adding userCLk to SelectioDeserUltraScale.vhd
  4. #1203 - _Qsfp.py Update
  5. #1199 - Updates to AxiLiteSaciMaster.vhd & SaciMaster2.vhd
  6. #1197 - Increased range of SACI_NUM_CHIPS_G to support more than 4 chips
  7. #1200 - Pgp4RxLiteLowSpeedLane.vhd Update
  8. #1198 - Update RstSync.vhd

Pull Request Details

adding userCLk to SelectioDeserUltraScale.vhd

Author: Larry Ruckman [email protected]
Date: Mon Sep 23 10:27:09 2024 -0700
Pull: #1194 (27 additions, 8 deletions, 1 files changed)
Branch: slaclab/ruckman/SelectioDeserUltraScale

Notes:

Description

  • mapping CLKOUT1 to userClk, which is a useful optional clock reference

adding Pgp4RxLiteLowSpeed.vhd

Author: Larry Ruckman [email protected]
Date: Thu Sep 26 09:52:31 2024 -0700
Pull: #1195 (803 additions, 0 deletions, 5 files changed)
Branch: slaclab/Pgp4RxLiteLowSpeed

Notes:

Description

  • Designed for receiving unidirectional PGP4-lite from ASIC using the FPGA's SelectIO (LVDS I/O)

Increased range of SACI_NUM_CHIPS_G to support more than 4 chips

Author: Larry Ruckman [email protected]
Date: Tue Oct 1 08:05:37 2024 -0700
Pull: #1197 (7 additions, 7 deletions, 1 files changed)
Branch: slaclab/saci_6_chip

Notes:

Description

The AxiLiteSaciMaster currently has a fixed limit of four ASICs ("chips"). This has been increased to six to work with a new readout system with that many ASICs.

Details

The new 3x2 Readout (https://confluence.slac.stanford.edu/x/eKRxG) seems to be first system to use more than four ASICs with a common SACI interfaces. There is no mention why only four chips were allowed previously. The hardware will arrive in a couple of weeks with which we can test running SACI with six chips, but from the code alone I don't see any reason why more than four would not work.


Update RstSync.vhd

Author: Larry Ruckman [email protected]
Date: Wed Sep 25 09:59:04 2024 -0700
Pull: #1198 (5 additions, 2 deletions, 1 files changed)
Branch: slaclab/RstSync-std_logic

Notes:

Description

  • Using "std_logic" instead of "sl" for generics due to issues with SystemVerilog handling VHDL subtype on generics properly

Updates to AxiLiteSaciMaster.vhd & SaciMaster2.vhd

Author: Larry Ruckman [email protected]
Date: Fri Sep 27 12:31:21 2024 -0700
Pull: #1199 (22 additions, 8 deletions, 2 files changed)
Branch: slaclab/AxiLiteSaciMaster-asicRstL-aware

Notes:

Description


Pgp4RxLiteLowSpeedLane.vhd Update

Author: Larry Ruckman [email protected]
Date: Mon Sep 30 09:13:03 2024 -0700
Pull: #1200 (7 additions, 2 deletions, 1 files changed)
Branch: slaclab/Pgp4RxLiteLowSpeedLane

Notes:

Description

  • Mask off the Valid to the RX protocol until the gearbox is locked

_Qsfp.py Update

Author: Larry Ruckman [email protected]
Date: Wed Oct 2 11:03:34 2024 -0700
Pull: #1203 (31 additions, 0 deletions, 1 files changed)
Branch: slaclab/Qsfp-TxDisable

Notes:

Description


introduce rst_polarity feature to all pgp4txlite/pgp4rx modules to prepare for asic deployment

Author: Larry Ruckman [email protected]
Date: Tue Oct 1 19:27:41 2024 -0700
Pull: #1204 (164 additions, 121 deletions, 15 files changed)
Branch: slaclab/pgp4lite-rstPolarity

Notes:

introduce rst_polarity feature to all pgp4txlite/pgp4rx modules to prepare for asic deployment

(ASIC designs usually employ an active-LOW reset/i.e. a rstN/enable signal)

add RST_POLARITY_G to all modules.

note that I also added RST_POLARITY_G to RX-related modules because I use them in my local behavioral simulation (no receiver in ASICs are foreseen). Since the RST_POLARITY_G generic default values are consistent, the changes in the TX/RX modules hopefully should not have impact on existing designs.


Patch Release v2.43.1 for SMURF

20 Sep 15:33
Compare
Choose a tag to compare

Patch Release v2.11.3 for SMURF

20 Sep 14:48
Compare
Choose a tag to compare

Description

Full Changelog: v2.11.2...v2.11.3

Minor Release v2.50.0

10 Sep 15:38
01fd4d7
Compare
Choose a tag to compare

Pull Requests Since v2.49.0

Unlabeled

  1. #1176 - Clean up of ethernet before adding RoCEv2 support
  2. #1163 - Create SaciAxiLiteMaster module
  3. #1184 - Adding AxiStreamCompact.vhd
  4. #1187 - Adding AxiStreamTrailerRemove
  5. #1185 - Adding AxiStreamTrailerAppend
  6. #1190 - AxiStreamCompact Patch
  7. #1183 - bug fix for locked IPs in MicroblazeBasicCore.bd for v2022.2 (or later)
  8. #1188 - UdpEngineRx.vhd Update for RoCEv2 support
  9. #1181 - pgp2fc/gtyUltraScale+/ruckus.tcl: bug fix for Vivado version checking
  10. #1186 - Add some AxiVersion Rogue Device Variables to NoConfig group

Pull Request Details

Create SaciAxiLiteMaster module

Author: Larry Ruckman [email protected]
Date: Fri Sep 6 07:31:54 2024 -0700
Pull: #1163 (650 additions, 0 deletions, 5 files changed)
Branch: slaclab/SaciAxiLiteMaster

Notes:

Description

Add a new SaciAxiLiteMaster module. This module is intended to be paired with AxiLiteSaciMaster. Together they create a an AXI-Lite bridge between two chips carried over the SACI bus.

Details

Only 20 bits of AXI-Lite address space are available, due to the limited address bits on the SACI bus protocol.

Also added a cocotb testbench for the new module.


Clean up of ethernet before adding RoCEv2 support

Author: Larry Ruckman [email protected]
Date: Mon Aug 12 08:43:30 2024 -0700
Pull: #1176 (545 additions, 1440 deletions, 19 files changed)
Branch: slaclab/eth-vlan-removal

Notes:

Description


pgp2fc/gtyUltraScale+/ruckus.tcl: bug fix for Vivado version checking

Author: Larry Ruckman [email protected]
Date: Wed Jul 24 09:49:05 2024 -0700
Pull: #1181 (2 additions, 2 deletions, 1 files changed)
Branch: slaclab/pgp2fc-version-check

Notes:

Description

  • Pgp2fcGtyCore was build with 2023.1 (not 2020.1)

bug fix for locked IPs in MicroblazeBasicCore.bd for v2022.2 (or later)

Author: Larry Ruckman [email protected]
Date: Thu Aug 15 11:07:44 2024 -0700
Pull: #1183 (8 additions, 6 deletions, 1 files changed)
Branch: slaclab/microblaze-dev

Notes:

Description

  • This is mostly a bug in the Vivado IP integrator when the .bd is generated from a different FPGA fabric/target
  • This "upgrade" is not changing the IP's revision number but updating that metadata of the FPGA fabric from the .bd file

Adding AxiStreamCompact.vhd

Author: Larry Ruckman [email protected]
Date: Fri Sep 6 07:26:47 2024 -0700
Pull: #1184 (265 additions, 0 deletions, 1 files changed)
Branch: slaclab/AxiStreamCompact

Notes:

Description


Adding AxiStreamTrailerAppend

Author: Larry Ruckman [email protected]
Date: Fri Sep 6 07:26:26 2024 -0700
Pull: #1185 (159 additions, 0 deletions, 1 files changed)
Branch: slaclab/AxiStreamTrailerAppend

Notes:

Description


Add some AxiVersion Rogue Device Variables to NoConfig group

Author: Larry Ruckman [email protected]
Date: Fri Sep 6 07:34:45 2024 -0700
Pull: #1186 (2 additions, 0 deletions, 1 files changed)
Branch: slaclab/axi-version-noconfig

Notes:

Description

FpgaReloatHalt and UserReset have been added to the "NoConfig" group. There is no reason these should be in a configuration YAML file.


Adding AxiStreamTrailerRemove

Author: Larry Ruckman [email protected]
Date: Mon Sep 9 08:16:46 2024 -0700
Pull: #1187 (177 additions, 0 deletions, 1 files changed)
Branch: slaclab/AxiStreamTrailerRemove

Notes:

Description


UdpEngineRx.vhd Update for RoCEv2 support

Author: Larry Ruckman [email protected]
Date: Fri Sep 6 15:57:35 2024 -0700
Pull: #1188 (4 additions, 0 deletions, 1 files changed)
Branch: slaclab/UdpEngineRx-RoCEv2

Notes:

Description

  • Remove 4 bytes (iCRC) from byteCnt if RoCEv2 detected

AxiStreamCompact Patch

Author: Larry Ruckman [email protected]
Date: Mon Sep 9 08:17:55 2024 -0700
Pull: #1190 (31 additions, 30 deletions, 1 files changed)
Branch: FilMarini/pre-release

Notes:

Applied patch to AxiStreamCompact module + SLAC emacs beautify


Minor Release v2.49.0

23 Jul 16:59
0a84a21
Compare
Choose a tag to compare

Pull Requests Since v2.48.1

Unlabeled

  1. #1174 - General C/C++ Updates
  2. #1170 - Adding rssi_network_analyzer.py
  3. #1172 - Create AD5541 DAC
  4. #1177 - Update DmaXvcWrapper.vhd
  5. #1179 - _LeapXcvrUpperPages.py bug fix
  6. #1173 - bug fix for SsiPrbsRx.WordRate
  7. #1178 - Update PgpXvcWrapper.vhd

Pull Request Details

Adding rssi_network_analyzer.py

Author: Larry Ruckman [email protected]
Date: Mon Jun 24 16:34:48 2024 -0700
Pull: #1170 (286 additions, 0 deletions, 1 files changed)
Branch: slaclab/rssi_crash

Notes:

Description

  • script used for debugging RSSI network traffic

Create AD5541 DAC

Author: Larry Ruckman [email protected]
Date: Fri Jul 5 15:33:18 2024 -0700
Pull: #1172 (91 additions, 116 deletions, 4 files changed)
Branch: slaclab/ad5541-dac

Notes:

Description

Created AD5541 DAC VHDL module and updated Python class to match.

Details

Created a new AxiAd5541Core VHDL module that is mostly a wrapper around a AxiSpiMaster with some generics set correctly to work with this device.

There is already a Ad5541 Python class defined in surf, which was created in 2019, but the corresponding VHLD module seems to have been forgotten. This existing Python class has different RemoteVariable related to various debug features and I/O control of the missing HDL module. Since this module already exists in surf there might be some conflict in replacing it with this new simplified version. Would it be better to try and find the missing HDL module?

JIRA

Related


bug fix for SsiPrbsRx.WordRate

Author: Larry Ruckman [email protected]
Date: Wed Jul 10 09:05:41 2024 -0700
Pull: #1173 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/SsiPrbsRx-patch

Notes:

Description

  • LinkVariable function to be called should be get() [not read()]

General C/C++ Updates

Author: Larry Ruckman [email protected]
Date: Wed Jul 10 09:15:37 2024 -0700
Pull: #1174 (1463 additions, 120081 deletions, 36 files changed)
Branch: slaclab/cpplinter

Notes:

Description

  • Improves the code quality by running the linter automatically for every commit via Github action
  • removing xvcSrv (depreciated)
    • Users should use rogue.protocols.xilinx.Xvc instead at this point
  • removing base/general/simlink's VhpiGeneric.c/.h because redundant and obsolete with respect to axi/simlink/src/VhpiGeneric.c/.h
  • adding *.so to .gitignore

Update DmaXvcWrapper.vhd

Author: Larry Ruckman [email protected]
Date: Thu Jul 11 13:55:40 2024 -0700
Pull: #1177 (60 additions, 72 deletions, 2 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • AXIS_CLK_FREQ_G is misleading name because generic is associated with the xvcClk (not axisClk) at surf.UdpDebugBridgeWrapper
  • Renaming this generic to XVC_CLK_FREQ_G
  • VALID_THOLD_G => 0, -- 0 = only when frame ready is required to fix the issue when there are tValid gaps in the transfer

Update PgpXvcWrapper.vhd

Author: Larry Ruckman [email protected]
Date: Thu Jul 11 14:08:22 2024 -0700
Pull: #1178 (1 additions, 0 deletions, 1 files changed)
Branch: slaclab/PgpXvcWrapper-patch

Notes:

Description

  • corner case bug fix to prevent a tValid gap for frames inbound to XVC

_LeapXcvrUpperPages.py bug fix

Author: Larry Ruckman [email protected]
Date: Tue Jul 23 09:49:07 2024 -0700
Pull: #1179 (1 additions, 1 deletions, 1 files changed)
Branch: slaclab/LeapXcvr-bug-fixes

Notes:

Description

  • it should be (read=read) not (read=read)()

v2.4.1 - SMURF Production Release

25 Jun 15:49
Compare
Choose a tag to compare

Description

  • Tagging this branch since stable for smurf production
  • Based on the 512fft-tkid development branch

What's Changed

  • SrpV3AxiTb.vhd + bug fix to SrpV3Core.vhd by @ruck314 in #661
  • Add register verify for the read/write registers by @ruck314 in #664
  • Adding AxiStreamResizeTb.vhd by @ruck314 in #665
  • Adding pipeline registers to help with timing for dsp/fixed/BoxcarIntegrator.vhd by @leosap in #662
  • Resolving double YAML load issue by @ruck314 in #666
  • Update _Lmk04828.py by @ruck314 in #667

Full Changelog: v2.4.0...v2.4.1

v0.0.0 - SVN state

25 Jun 17:16
Compare
Choose a tag to compare

Description

  • From 7 years ago, this was the "state" of the SVN before migrating to GIT

Patch Release v2.48.1

19 Jun 22:31
96662e1
Compare
Choose a tag to compare

Pull Requests Since v2.48.0

Bug

  1. #1169 - SugoiSubordinateFsm.vhd Updates

Unlabeled

  1. #1161 - Fix linkedGet and linkedSet calls in Rogue Devices

Pull Request Details

Fix linkedGet and linkedSet calls in Rogue Devices

Author: Larry Ruckman [email protected]
Date: Wed Jun 19 09:39:50 2024 -0700
Pull: #1161 (299 additions, 247 deletions, 29 files changed)
Branch: slaclab/rogue-linkedGet

Notes:

Description

Update Rogue code to reflect best practices for LinkedVariables.

Details


SugoiSubordinateFsm.vhd Updates

Author: Larry Ruckman [email protected]
Date: Wed Jun 19 15:14:45 2024 -0700
Pull: #1169 (5 additions, 2 deletions, 2 files changed)
Branch: slaclab/SugoiSubordinateFsm-update
Labels: bug

Notes:

Description

  • For ASIC designs it is best to declare a 'Default' state which returns to INIT_S state
    • force INIT_S state if 4-bit r.state is not enum define state
  • removing 'default' on pwrOnRst because it should always be connected on ASIC

Minor Release v2.48.0

18 Jun 16:55
a90807c
Compare
Choose a tag to compare

Pull Requests Since v2.47.3

Bug

  1. #1162 - AxiStreamRingBuffer.vhd: bug fix and enchancements
  2. #1165 - Bug fix to _Ina237.py when RST execute and shadow variables out of sync to remote

Enhancement

  1. #1162 - AxiStreamRingBuffer.vhd: bug fix and enchancements
  2. #1164 - Update to minimize information saved in YAML dumps

Unlabeled

  1. #1158 - Adding software support for TI INA237 & Linear LTC3815 and update to _Sa56004x.py
  2. #1159 - PgpXvcWrapper.vhd is a xilinx dependent src code

Pull Request Details

Adding software support for TI INA237 & Linear LTC3815 and update to _Sa56004x.py

Author: Larry Ruckman [email protected]
Date: Fri May 10 02:24:49 2024 +0700
Pull: #1158 (366 additions, 8 deletions, 7 files changed)
Branch: slaclab/TI-INA237

Notes:

Description


PgpXvcWrapper.vhd is a xilinx dependent src code

Author: Larry Ruckman [email protected]
Date: Fri May 10 02:25:00 2024 +0700
Pull: #1159 (1 additions, 0 deletions, 2 files changed)
Branch: slaclab/cadance-genus-update

Notes:

Description

  • Moved PgpXvcWrapper.vhd into a new xilinx directory and updated the ruckus.tcl accordingly
  • Required for compiling digital ASICs

AxiStreamRingBuffer.vhd: bug fix and enchancements

Author: Larry Ruckman [email protected]
Date: Wed Jun 12 08:19:55 2024 +0900
Pull: #1162 (60 additions, 21 deletions, 1 files changed)
Branch: slaclab/AxiStreamRingBuffer-path
Labels: bug, enhancement

Notes:

Description

  • Synchronizing the data and AXIL resets to their counterpart FSMs
  • Removing rstb from the local RAM to improve performance (help with making timing closure)

Update to minimize information saved in YAML dumps

Author: Larry Ruckman [email protected]
Date: Wed Jun 12 12:52:55 2024 -0700
Pull: #1164 (9 additions, 0 deletions, 9 files changed)
Branch: slaclab/groups-no-yaml
Labels: enhancement

Notes:

Description

  • including NoState/NoConfig to RemoteVariables that we don't want to save values to YAML file

Bug fix to _Ina237.py when RST execute and shadow variables out of sync to remote

Author: Larry Ruckman [email protected]
Date: Wed Jun 12 12:53:20 2024 -0700
Pull: #1165 (16 additions, 15 deletions, 1 files changed)
Branch: slaclab/ESROGUE-672
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-672
Labels: bug

Notes:

Description


Patch Release v2.47.3

06 May 20:48
bd00ad1
Compare
Choose a tag to compare

Pull Requests Since v2.47.2

Unlabeled

  1. #1155 - adding frameCnt register to SsiPrbsRx & SsiPrbsTx
  2. #1152 - Switch to common YAML workflow scripts in ruckus
  3. #1156 - AxiStreamRingBuffer.vhd: Bug Fix for SoftTrig
  4. #1151 - Update README.md
  5. #1153 - Dac38J84 yaml changes
  6. #1157 - SyncTrigPeriod.vhd: bug fix for wrong period measurement for first trigger

Pull Request Details

Update README.md

Author: Larry Ruckman [email protected]
Date: Mon Apr 29 23:44:26 2024 +0700
Pull: #1151 (9 additions, 1 deletions, 1 files changed)
Branch: slaclab/ruck314-patch-1

Notes:

Description

  • Adding a link to the surf-tutorial repo
  • Adding a link to the IEEE RT workshop presentation

Switch to common YAML workflow scripts in ruckus

Author: Larry Ruckman [email protected]
Date: Mon Apr 29 23:44:51 2024 +0700
Pull: #1152 (11 additions, 82 deletions, 1 files changed)
Branch: slaclab/ESROGUE-645
Jira: https://jira.slac.stanford.edu/issues/ESROGUE-645

Notes:

Description

https://docs.github.com/en/actions/using-workflows/reusing-workflows

JIRA

https://jira.slac.stanford.edu/browse/ESROGUE-645


Dac38J84 yaml changes

Author: Larry Ruckman [email protected]
Date: Thu Apr 25 08:34:05 2024 +0700
Pull: #1153 (9 additions, 1 deletions, 1 files changed)
Branch: slaclab/Jira-AAASPGR-1

Notes:

Modifications to Dac38J84 yaml

  • Changed lane number to 8 (DAC has upto 8). A value of 2 or below does not allow access to 3 to 8.
  • Added laneEnable register RO

JIRA

https://jira.slac.stanford.edu/browse/AAASPGR-1


adding frameCnt register to SsiPrbsRx & SsiPrbsTx

Author: Larry Ruckman [email protected]
Date: Fri Apr 26 10:53:07 2024 +0700
Pull: #1155 (81 additions, 29 deletions, 5 files changed)
Branch: slaclab/prbs-frameCnt

Notes:

Description


AxiStreamRingBuffer.vhd: Bug Fix for SoftTrig

Author: Larry Ruckman [email protected]
Date: Tue May 7 03:38:17 2024 +0700
Pull: #1156 (9 additions, 7 deletions, 1 files changed)
Branch: slaclab/AxiStreamRingBuffer-patch

Notes:

Description

  • Bug was introduced during the ExtTrig overhaul from 6dbf057

SyncTrigPeriod.vhd: bug fix for wrong period measurement for first trigger

Author: Larry Ruckman [email protected]
Date: Tue May 7 02:55:45 2024 +0700
Pull: #1157 (3 additions, 3 deletions, 1 files changed)
Branch: slaclab/ESSURF-25
Jira: https://jira.slac.stanford.edu/issues/ESSURF-25

Notes:

Description

  • v.cnt needs to be reset to zero after any trigger (not only the armed state)