我想计算一个素数的计算模拟时间.这意味着没有时钟周期来计算一个素数.我们也知道,一个大质数比一个小素数得到更多的时钟周期来计算.每当计算一个素数并在time_s寄存器中捕获它时,我在verilog中使用$ time.我计算了另一个素数后的计算差异.在这里我可以看到time_s1捕获了计算素数时的时间.Time_s2是计算差异的时间.
module prime_number_count(
input clk
);
//for count 1
parameter N =100; // size of array
parameter N_bits = 32;
reg [N_bits-1:0] prime_number[0:N-1]; // memory array for prime_number
reg [N_bits-1:0] prime_aftr50 [0:49]; // memory array to get
integer k; // counter variable
integer k1; // counter variable
integer count;
integer test;
integer time_s1;
integer time_s2;
integer check; //Counts 1 to k
localparam S_INC = 2'b01;
localparam S_CHECK = 2'b10;
reg [1:0] state;
initial begin
prime_number[0] = 'd1;
prime_number[1] = …Run Code Online (Sandbox Code Playgroud)