边沿信号产生-利用赋值做文章
一、边沿信号产生 // 静态变量必须在循环外部声明(保持状态) static bool vsync_d1 = true; static bool de_d1 = false; static ap_uint12 pixel_cnt = 0; static bool sof = false; #pragma HLS PIPELINE II=1 axis_pkt_t out_pkt; // 边沿检测//step1:产生边沿 bool vsync_rise = (vsync_d1 == 0) (vsync == 1); bool de_rise = (de == 1) (de_d1 == 0);//step2:寄存器打拍 vsync_d1 = vsync; de_d1 = de;注意设计的步骤:step1和step2的步骤和顺序不能写反,写反了,就实现不了功能。这个是由于c/c++代码的天然的串行架构造成的!//=============================================异常设计:// 边沿检测 bool vsync_rise = 0; bool de_rise = 0; vsync_d1 = vsync; de_d1 = de; vsync_rise = (vsync_d1 == 0) (vsync == 1);