OhGodAPet

Code documentation

Mar 30th, 2021
2,123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     // Every Skein round has four clock cycles of latency, and every
  2.     // Skein key injection has 2 clock cycles of latency
  3.     localparam SKEINRNDSTAGES = 4, SKEINKEYSTAGES = 2;
  4.    
  5.     // Every Keccak round has two clock cycles of latency,
  6.     // and there are 24 rounds
  7.     localparam KECCAKRNDSTAGES = 2, KECCAKROUNDS = 24;
  8.    
  9.     // 20 rounds, with 21 key injections per block process
  10.     localparam SKEINROUNDS = 20, SKEINKEYINJECTIONS = 21;
  11.    
  12.     // 24 rounds, round has 2 clock cycles of latency
  13.     localparam KECCAKBLKSTAGES = KECCAKRNDSTAGES * KECCAKROUNDS;
  14.    
  15.     // 20 rounds, 4 clock cycles of latency per round, and 21 key
  16.     // injections, 2 clock cycles of latency per key injection
  17.     localparam SKEINBLKSTAGES = (SKEINRNDSTAGES * SKEINROUNDS) + (SKEINKEYINJECTIONS * SKEINKEYSTAGES);
  18.    
  19.     // Nexus' SK1024 proof-of-work, SK1024 (after midstate, during which
  20.     // one Skein block process is done) consists of two Skein block processes
  21.     // and three Keccak block processes.
  22.     localparam TOTALSTAGES = (SKEINBLKSTAGES * 2) + (KECCAKBLKSTAGES * 3); 
Advertisement