static void Main(string[] args) { using (var sim = new Simulation()) { var tester = new Tester(); var formatter = new MessageFormat(); formatter.Message = tester.Message; tester.axi_Message = formatter.axi_mes; var converter = new FormatConverter(); converter.paddedBuffer = formatter.paddedBuffer; formatter.axi_pad = converter.axi_pad; var round1 = new Round1(); round1.In = converter.Out; converter.axi_out = round1.axi_in; var round2 = new Round2(); round2.In = round1.Out; round1.axi_out = round2.axi_in; var round3 = new Round3(); round3.In = round2.Out; round2.axi_out = round3.axi_in; var round4 = new Round4(); round4.In = round3.Out; round3.axi_out = round4.axi_in; var round5 = new Round5(); round5.In = round4.Out; round4.axi_out = round5.axi_in; var round6 = new Round6(); round6.In = round5.Out; round5.axi_out = round6.axi_in; var round7 = new Round7(); round7.In = round6.Out; round6.axi_out = round7.axi_in; var round8 = new Round8(); round8.In = round7.Out; round7.axi_out = round8.axi_in; var combinator = new Combiner(); combinator.In = round8.Out; round8.axi_out = combinator.axi_in; tester.Digest = combinator.Final; combinator.axi_final = tester.axi_Digest; sim.AddTopLevelInputs(tester.Message, tester.axi_Digest) .AddTopLevelOutputs(combinator.Final, tester.axi_Message) .AddTicker(s => Console.WriteLine($"Ticks {Scope.Current.Clock.Ticks}")) .BuildCSVFile() .BuildGraph() .BuildVHDL() .Run(); } }
static void Main(string[] args) { using (var sim = new Simulation()) { var tester = new Tester(); var setup = new Round1(); setup.seed = tester.State; setup.axi_out = tester.axi_Stream; var setup2 = new RoundEven_2(); setup2.In = setup.Out; setup.axi_out = setup2.axi_in; var round1 = new RoundOdd_1(); round1.In = setup2.Out; setup2.axi_out = round1.axi_in; var round1_2 = new RoundOdd_2(); round1_2.In = round1.Out; round1.axi_out = round1_2.axi_in; var round2 = new RoundEven_1(); round2.In = round1_2.Out; round1_2.axi_out = round2.axi_in; var round2_2 = new RoundEven_2(); round2_2.In = round2.Out; round2.axi_out = round2_2.axi_in; var round3 = new RoundOdd_1(); round3.In = round2_2.Out; round2_2.axi_out = round3.axi_in; var round3_2 = new RoundOdd_2(); round3_2.In = round3.Out; round3.axi_out = round3_2.axi_in; var round4 = new RoundEven_1(); round4.In = round3_2.Out; round3_2.axi_out = round4.axi_in; var round4_2 = new RoundEven_2(); round4_2.In = round4.Out; round4.axi_out = round4_2.axi_in; var round5 = new RoundOdd_1(); round5.In = round4_2.Out; round4_2.axi_out = round5.axi_in; var round5_2 = new RoundOdd_2(); round5_2.In = round5.Out; round5.axi_out = round5_2.axi_in; var round6 = new RoundEven_1(); round6.In = round5_2.Out; round5_2.axi_out = round6.axi_in; var round6_2 = new RoundEven_2(); round6_2.In = round6.Out; round6.axi_out = round6_2.axi_in; var round7 = new RoundOdd_1(); round7.In = round6_2.Out; round6_2.axi_out = round7.axi_in; var round7_2 = new RoundOdd_2(); round7_2.In = round7.Out; round7.axi_out = round7_2.axi_in; var round8 = new RoundEven_1(); round8.In = round7_2.Out; round7_2.axi_out = round8.axi_in; var round8_2 = new RoundEven_2(); round8_2.In = round8.Out; round8.axi_out = round8_2.axi_in; var round9 = new RoundOdd_1(); round9.In = round8_2.Out; round8_2.axi_out = round9.axi_in; var round9_2 = new RoundOdd_2(); round9_2.In = round9.Out; round9.axi_out = round9_2.axi_in; var round10 = new RoundEven_1(); round10.In = round9_2.Out; round9_2.axi_out = round10.axi_in; var round10_2 = new RoundEven_2(); round10_2.In = round10.Out; round10.axi_out = round10_2.axi_in; var round11 = new RoundOdd_1(); round11.In = round10_2.Out; round10_2.axi_out = round11.axi_in; var round11_2 = new RoundOdd_2(); round11_2.In = round11.Out; round11.axi_out = round11_2.axi_in; var round12 = new RoundEven_1(); round12.In = round11_2.Out; round11_2.axi_out = round12.axi_in; var round12_2 = new RoundEven_2(); round12_2.In = round12.Out; round12.axi_out = round12_2.axi_in; var round13 = new RoundOdd_1(); round13.In = round12_2.Out; round12_2.axi_out = round13.axi_in; var round13_2 = new RoundOdd_2(); round13_2.In = round13.Out; round13.axi_out = round13_2.axi_in; var round14 = new RoundEven_1(); round14.In = round13_2.Out; round13_2.axi_out = round14.axi_in; var round14_2 = new RoundEven_2(); round14_2.In = round14.Out; round14.axi_out = round14_2.axi_in; var round15 = new RoundOdd_1(); round15.In = round14_2.Out; round14_2.axi_out = round15.axi_in; var round15_2 = new RoundOdd_2(); round15_2.In = round15.Out; round15.axi_out = round15_2.axi_in; var round16 = new RoundEven_1(); round16.In = round15_2.Out; round15_2.axi_out = round16.axi_in; var round16_2 = new RoundEven_2(); round16_2.In = round16.Out; round16.axi_out = round16_2.axi_in; var round17 = new RoundOdd_1(); round17.In = round16_2.Out; round16_2.axi_out = round17.axi_in; var round17_2 = new RoundOdd_2(); round17_2.In = round17.Out; round17.axi_out = round17_2.axi_in; var round18 = new RoundEven_1(); round18.In = round17_2.Out; round17_2.axi_out = round18.axi_in; var round18_2 = new RoundEven_2(); round18_2.In = round18.Out; round18.axi_out = round18_2.axi_in; var round19 = new RoundOdd_1(); round19.In = round18_2.Out; round18_2.axi_out = round19.axi_in; var round19_2 = new RoundOdd_2(); round19_2.In = round19.Out; round19.axi_out = round19_2.axi_in; var roundC = new RoundCombine(); roundC.In = round19_2.Out; round19_2.axi_out = roundC.axi_in; var roundC_2 = new RoundCombine_2(); roundC_2.In = roundC.Out; roundC.axi_out = roundC_2.axi_in; var XOR = new RoundXOR(); XOR.In = roundC_2.Out; roundC_2.axi_out = XOR.axi_in; var XOR_2 = new RoundXOR_2(); XOR_2.In = XOR.Out; XOR.axi_out = XOR_2.axi_in; tester.HashStream = XOR_2.Out; tester.axi_State = setup.axi_in; XOR_2.axi_out = tester.axi_Stream; sim.AddTopLevelInputs(tester.State, tester.axi_Stream) .AddTopLevelOutputs(tester.HashStream, tester.axi_State) .AddTicker(s => Console.WriteLine($"Ticks {Scope.Current.Clock.Ticks}")) .BuildCSVFile() .BuildGraph() .BuildVHDL() .Run(); } }
static void Main(string[] args) { using (var sim = new Simulation()) { var tester = new Tester(); var round1 = new Round1(); round1.PlainText = tester.PlainText; tester.axi_Text = round1.axi_in; var round2 = new Round2(); round2.In = round1.Out; round1.axi_out = round2.axi_in; var round2_2 = new Round2_2(); round2_2.In = round2.Out; round2.axi_out = round2_2.axi_in; var round3 = new Round3(); round3.In = round2_2.Out; round2_2.axi_out = round3.axi_in; var round3_2 = new Round3_2(); round3_2.In = round3.Out; round3.axi_out = round3_2.axi_in; var round4 = new Round4(); round4.In = round3_2.Out; round3_2.axi_out = round4.axi_in; var round4_2 = new Round4_2(); round4_2.In = round4.Out; round4.axi_out = round4_2.axi_in; var round5 = new Round5(); round5.In = round4_2.Out; round4_2.axi_out = round5.axi_in; var round5_2 = new Round5_2(); round5_2.In = round5.Out; round5.axi_out = round5_2.axi_in; var round6 = new Round6(); round6.In = round5_2.Out; round5_2.axi_out = round6.axi_in; var round6_2 = new Round6_2(); round6_2.In = round6.Out; round6.axi_out = round6_2.axi_in; var round7 = new Round7(); round7.In = round6_2.Out; round6_2.axi_out = round7.axi_in; var round7_2 = new Round7_2(); round7_2.In = round7.Out; round7.axi_out = round7_2.axi_in; var round8 = new Round8(); round8.In = round7_2.Out; round7_2.axi_out = round8.axi_in; var round8_2 = new Round8_2(); round8_2.In = round8.Out; round8.axi_out = round8_2.axi_in; var round9 = new Round9(); round9.In = round8_2.Out; round8_2.axi_out = round9.axi_in; var round9_2 = new Round9_2(); round9_2.In = round9.Out; round9.axi_out = round9_2.axi_in; var round10 = new Round10(); round10.In = round9_2.Out; round9_2.axi_out = round10.axi_in; var round10_2 = new Round10_2(); round10_2.In = round10.Out; round10.axi_out = round10_2.axi_in; var round11 = new Round11(); round11.In = round10_2.Out; round10_2.axi_out = round11.axi_in; var round11_2 = new Round11_2(); round11_2.In = round11.Out; round11.axi_out = round11_2.axi_in; var round11_3 = new Round11_3(); round11_3.In = round11_2.Out; round11_2.axi_out = round11_3.axi_in; var round11_4 = new Round11_4(); round11_4.In = round11_3.Out; round11_3.axi_out = round11_4.axi_in; tester.Cipher = round11_4.Out; round11_4.axi_out = tester.axi_Cipher; sim.AddTopLevelInputs(tester.PlainText, round11_4.axi_out) .AddTopLevelOutputs(round11_4.Out, tester.axi_Text) .AddTicker(s => Console.WriteLine($"Ticks {Scope.Current.Clock.Ticks}")) .BuildCSVFile() .BuildGraph() .BuildVHDL() .Run(); } }