/drm/trunk/debug/subblocks/multi_test_unit_rtl/top_rs_rtl.v

http://github.com/zaqwes8811/decoder-reed-solomon · V · 122 lines · 111 code · 4 blank · 7 comment · 0 complexity · df768405feb9818f3a34ab26d6869ae7 MD5 · raw file

  1. /**
  2. File: top_rs_rtl.v
  3. Abstract: ??????? ?????????? ??? ????????????.
  4. ? ??? ??????? ? ???????? ??????.
  5. Connect:
  6. top_rs_rtl
  7. label_rs_full(
  8. .clk(clk), .rst(rst), .clk_ena(clk_ena),
  9. // control //
  10. .rs_master(rs_master), // ?????? ?????????? ?????? ???? ???. ??????
  11. // out
  12. .rs_slave(rs_slave), // ?????? ???. ????. ???? ??. ? ??????? ??????
  13. // stream //
  14. // out
  15. // tester - ????? ????????? ??????+??????
  16. .iword(iword),
  17. .ipointer(ipointer),
  18. // decoder - ?????? ?????? ????????
  19. .oword(oword), // ???????? ??????
  20. .mask(mask), // ????? ? ?????????? ??????
  21. .opointer(opointer) // ????????? ?????? ????? ? ??????
  22. );
  23. Depends:
  24. */
  25. `include "vconst.v"
  26. module top_rs_rtl(
  27. clk, rst, clk_ena,
  28. // control //
  29. rs_master, // ?????? ?????????? ?????? ???? ???. ??????
  30. kes_master,
  31. // out
  32. rs_slave, // ?????? ???. ????. ???? ??. ? ??????? ??????
  33. // stream //
  34. // out
  35. // tester - ????? ????????? ??????+??????
  36. iword,
  37. ipointer,
  38. // decoder - ?????? ?????? ????????
  39. degree, // ???????
  40. oword, // ???????? ??????
  41. mask, // ????? ? ?????????? ??????
  42. opointer // ????????? ?????? ????? ? ??????
  43. );
  44. input clk, rst, clk_ena;
  45. // rs_decoder
  46. output rs_master;
  47. output [`WIDTH-1:0] oword;
  48. output [`WIDTH-1:0] mask;
  49. output [`WIDTH-1:0] opointer;
  50. output [`DEGREE-1:0] degree; // ???????
  51. // tester
  52. output [`WIDTH-1:0] iword;
  53. wire [`WIDTH-1:0] iword_w;
  54. assign iword = iword_w;
  55. output rs_slave;
  56. wire rs_slave_w;
  57. assign rs_slave = rs_slave_w;
  58. output kes_master;
  59. wire kes_master_w;
  60. assign kes_master = kes_master_w;
  61. output [`WIDTH-1:0] ipointer;
  62. wire [`WIDTH-1:0] ipointer_w;
  63. assign ipointer = ipointer_w;
  64. // local //
  65. // SC //
  66. wire cs_master;
  67. wire [2*`ST-1:0] psindroms;
  68. wire [`WIDTH-1:0] p1sindroms;
  69. wire [`WIDTH-1:0] rsout_sind_test;
  70. // KES // // FIFO //
  71. wire [`WIDTH-1:0] fifo_out;
  72. // CSEE //
  73. wire [`WIDTH-1:0] lam_value;
  74. wire [`WIDTH-1:0] xderx_value;
  75. wire [`WIDTH-1:0] ome_value;
  76. wire [`WIDTH-1:0] pow_add_value;
  77. // Connect //
  78. rs_tb_rtl
  79. rs_rs_rs(
  80. .clk(clk), .rst(rst), .clk_ena(clk_ena),
  81. // control ///
  82. // out
  83. .st_in(rs_slave), // ?????? ?????? ??????
  84. .addr(ipointer_w),
  85. // stream ///
  86. .iword(iword_w) // ???????? ?????
  87. );
  88. /// *
  89. rs_decoder_rtl
  90. label_rs(
  91. .clk(clk), .rst(rst), .clk_ena(clk_ena),
  92. // control ///
  93. .rs_slave(rs_slave),
  94. .rs_master(rs_master), // ?????? ??????
  95. // dataflow ////
  96. .iword(iword_w),
  97. .oword(oword), // ???????? ????? ??????
  98. // test out ///
  99. // sc //
  100. .psindroms(p1sindroms),
  101. .sc_master(sc_master),
  102. // kes //
  103. .kes_master(kes_master_w),
  104. // csee //
  105. .lam_value(mask), .xderx_value(xderx_value),
  106. .ome_value(ome_value), .pow_add_value(pow_add_value),
  107. .degree(degree),
  108. // fifo //
  109. .fifo_out(fifo_out),
  110. .opointer(opointer)
  111. );
  112. //* /
  113. endmodule