00001 00027 module Top 00028 #( 00029 parameter ID_FLYWHEEL_CONFIG = 8'h00, 00030 parameter RV_FLYWHEEL_CONFIG = 8'h01, 00031 parameter ID_FLYWHEEL_NEXTTICKL = 8'h02, 00032 parameter RV_FLYWHEEL_NEXTTICKL = 8'h 00, 00033 parameter ID_FLYWHEEL_NEXTTICKH = 8'h03, 00034 parameter RV_FLYWHEEL_NEXTTICKH = 8'h00, 00035 parameter ID_FLYWHEEL_PTICKDIST = 8'h04, 00036 parameter RV_FLYWHEEL_PTICKDIST = 8'h10, 00037 parameter ID_FLYWHEEL_POSTTICKL = 8'h05, 00038 parameter RV_FLYWHEEL_POSTTICKL = 8'h00, 00039 parameter ID_FLYWHEEL_POSTTICKH = 8'h06, 00040 parameter RV_FLYWHEEL_POSTTICKH = 8'h00, 00041 parameter PRETICKCOARSEDIST = 40 00042 ) 00043 ( 00044 input ck, 00045 input reset_N, 00046 output logic[WIDTH-1:0] fullresult 00047 ); 00048 00049 `include "Top_Parameters.sv" 00050 00051 logic ckhalf; 00052 00057 Gateclock u_Gateclock( 00058 .ckin (ck), 00059 .reset_N (reset_N), 00060 .ckout (ckhalf) 00061 ); 00062 00063 genvar genvarCNT; 00064 00070 generate 00071 for (genvarCNT=0; genvarCNT<WIDTH/8; genvarCNT++) begin:CountGen 00072 if (genvarCNT%2 == 1) 00076 Counter u_Counter( 00077 .count (fullresult[genvarCNT*8+7:genvarCNT*8]), 00078 .ck (ckhalf), 00079 .reset_N (reset_N) 00080 ); 00081 else 00085 Counter u_Counter( 00086 .count (fullresult[genvarCNT*8+7:genvarCNT*8]), 00087 .ck (ck), 00088 .reset_N (reset_N) 00089 ); 00090 end:CountGen 00091 endgenerate 00092 00093 endmodule : Top 00094 00095 00096