Я хочу захватить время между событием. Затем я должен использовать это значение для другого события. моя проблема в том, что единица измерения time_2 в моей программе. Как я могу использовать это значение в цикле if. Я думаю, что это значение не является фактическим значением.Расчет времени между событием в verilog
`timescale 1ns/1ps
module time_control(input clk );
reg [7:0] memory [0:15] ;
integer k=0;
realtime time_1 =0;
realtime time_2 =0;
always @ (posedge clk)
begin
time_2=time_1 ;
time_1 = $realtime ;
if(time_2 < 500) //Comparison Not working
begin
memory[k] <=k;
k <=k+1 ;
end
end
endmodule
В части программирования в старте не работает. Мой вопрос состоял в том, что, используя значение tine_2, я могу заполнить память. всякий раз, когда значение time_2 больше 500 нс, оно не должно размещать значение в памяти. я не хочу хранить значение времени.
Это только для моделирования.
Вы ищете что-то синтезируемого? Временные переменные предназначены только для моделирования. Чтобы быть синтезируемым, вам нужно подсчитывать часы. – Greg
«Я хочу захватить время между событием». Здесь событие означает край часов? Ваш комментарий спрашивает «как я могу использовать значение времени для события». Я не знаю, что вы подразумеваете под «событием» во втором контексте. Пожалуйста, обновите ответ, описывающий это. – Morgan