إنتاج خلل مدار الساعة في تصميم فيريلوج
سؤال
وأنا تصميم رقاقة باستخدام فيريلوج. لدي 3 counter.I قليلا يريدون أنه عندما العداد في حلقة 8TH لها، على يجب أن يكون هناك على مدار الساعة خلل و بعد ذلك normally.What العمل يمكن أن يكون السبل الممكنة لإنتاج خلل مدار الساعة في تصميم فيريلوج؟
المحلول
وطريقة واحدة لمواطن الخلل حقن في إشارة على مدار الساعة هو استخدام force
وrelease
من testbench الخاص بك:
module tb;
reg clk;
reg [2:0] cnt;
reg reset;
always begin
#5 clk <= 0;
#5 clk <= 1;
end
always @(posedge clk or posedge reset) begin
if (reset) begin
cnt <= 0;
end else begin
cnt <= cnt + 1;
end
end
always begin: inject_clk_glitch
wait(cnt == 7);
#1 force clk = 1;
#1 force clk = 0;
#1 release clk;
end
initial begin
reset = 1;
#20 reset = 0;
#500 $finish;
end
endmodule
نصائح أخرى
ولذا أردت أساسا حافة ساعة اضافية؟ لا أستطيع أن أفكر في طريقة للقيام بذلك في RTL. قد تكون قادرا على القيام الإختراق القبيح الاستفادة من التأخير البوابة، ولكن هذا سيحتاج إلى وصفها على مدى درجة الحرارة وعملية الاختلافات.
وأود أن أوصى أن تفكر في حل آخر للمشكلة. لماذا تحتاج هذه الحافة ساعة اضافية؟
لا تنتمي إلى StackOverflow