Advertisement
Guest User

Untitled

a guest
Dec 1st, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module main();
  2.  
  3. bit clk_reg = 1'b0;
  4. initial
  5.   forever
  6.     clk_reg = #5 ~clk_reg;
  7.  
  8. wire clk = clk_reg;
  9.  
  10. log log();
  11. bench_main bench_main(.clk(clk));
  12.  
  13.  
  14.  
  15. /////// Start of code /////
  16.  
  17. wire [3:0] data;
  18. wire vld;
  19.  
  20. stream_source #(
  21.   .data_width(4),
  22.   .filename("input.txt"),
  23.   .data_type("ascii_hex")
  24. )
  25. stream_source (
  26.   .clk(clk),
  27.   .data(data),
  28.   .vld(vld),
  29.   .rdy(1'b1)
  30. );
  31.  
  32. bit [3:0] queue[$];
  33. bit [3:0] data_prev;
  34.  
  35. integer sum = 0;
  36.  
  37. always @(posedge clk)
  38. begin
  39.   if (vld)
  40.   begin
  41.     queue.push_back(data);
  42.     if (queue.size() == 1003)
  43.       data_prev = queue.pop_front();
  44.     if (data == data_prev)
  45.       sum += data;
  46.   end
  47. end
  48.  
  49. initial
  50. begin
  51.   stream_source.start(0);
  52.   #0;
  53.   wait(stream_source.eof == 1);
  54.   @(posedge clk);
  55.   @(posedge clk);
  56.   $display("captcha is %d", sum * 2);
  57.   @(posedge clk);
  58.   @(posedge clk);
  59.   $finish;
  60. end
  61.  
  62. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement