在FPGA调试时经常会用到set up debug功能对开发板的引脚波或数据形进行分析,相比于例化ILA来说,set up debug更为便捷,只需要在我们所要观察的信号波形前面加上(*mark_debug = true*)即可,不需要调用ila IP核。
但是在综合之后,set up debug往往只有一个系统时钟提供选择,clock domain只能选板子输入时钟(例如50兆),这个时钟作为参考时钟肯定是不可以的,采样时钟频率太高,虽然有波形产生,但是采集的信号基本没有变化,所以在此基础上需要数字分频产生一个低频时钟信号。比如下面例子
module time_adv_even #(
parameter N = 5,
parameter WIDTH = 7
)
(
input clk,
input rst,
output reg clk_out
);
reg [WIDTH:0]counter;
always @(posedge clk or negedge rst) begin
if (rst == 1’b0) begin
// reset
counter <= 0;
end
else if (counter == N-1) begin
counter <= 0;
end
else begin
counter <= counter