【Synplify技术问题】求助:如何让系统自己产生初始化信号

2019-03-25 10:52发布

如何让系统时钟的控制下自己产生复位信号?
下面是一个HDB3编码的一部分代码
module HDB3_code(
                            input    clk,
                            input    dat_in,
                            output reg    dat_rx_en,
                            output   P_out,
                            output   N_out
                            );
                    ....................
reg init_code;
reg init_stop;
................................................
...............................................
always @(posedge clk)
begin
  if(init_code==1'b1)//init_code就是要产生的用来初始化系统的信号,
                            //系统正常工作时,init_code为高电平
  ;
  else
  begin
   if(dat_in_reg1[2]&&init_stop)
    init_code<=1'b1;
   else if(dat_in==1'b1)
    init_code<=1'b0;
   else
   ;
  end
  
  
end
     
//输入信号延迟4个clk时钟周期
always @(posedge clk)
begin
  dat_in_reg1[0]<=dat_in;
  dat_in_reg1[1]<=dat_in_reg1[0];
  dat_in_reg1[2]<=dat_in_reg1[1];
  dat_in_reg<=dat_in_reg1[2];
end

                                 
always @(posedge clk)
begin
  if(init_code==1'b0)//对系统做初始化  
begin
   dat_rx_en<=1'b0;//输出低电平时不能工作
   init_stop<=1'b1;//dat_in延迟4个clk后的截至标志
  end
  else if(init_code==1'b1)
..........................
.........................
...............................
  end
在Modelsim里仿真都正确,可是把在Synplify里综合后产生的xxx.vqm文件放到Modelsim里再次仿真时就有点不对了,init_code输出一直是高电平,可奇怪的是HDB3编码输出确实完全正确的。
求各位大虾帮忙分析一下,综合后init_code寄存器到底出了什么问题啊?万分感谢! 此帖出自小平头技术问答
0条回答

一周热门 更多>