微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA与ARM控制时序的约束?

FPGA与ARM控制时序的约束?

时间:10-02 整理:3721RD 点击:
module fpga_arm(
   input clk ,
  input arm_cs,arm_wr,
  input [2:0]arm_addr ,
  input [15:0]arm_data ,
input rst ,
output test_en
) ;

always @(posedge clk or negedge rst)
    begin
       if (rst)
          cnt_en <= 1'b0 ;
     else if (!arm_cs && !arm_wr)
         begin
          case (arm_addr)
             3'b000 : cnt_en <= arm_data[0] ;
             3'b001 : cnt_en <= arm_data[1] ;
             default : cnt_en <= 1'b0 ;
         endcase
        end
    end
reg [3:0]cnt ;
always @(posedge clk or negedge rst)
    begin
        if (!rst)
           cnt <= 3'b000 ;
       else if (cnt_en)
         cnt <= cnt + 1 ;
   end
always @(posedge clk or negedge rst)
    begin
     if (!rst)
      test_en <= 1'b0 ;
    else
    test_en <= cnt[2] ;
  end
endmodule
以上的程序中
   clk 为时钟信号
   arm_cs,arm_wr, ;片选信号和写信号
  arm_addr , 地址信号
  arm_data , arm和FPGA的数据信号
rst  复位信号
test_en 测试输出信号

当arm_cs arm_wr为低的时候,根据地址信号的不同,对cnt_en 信号进行赋值。
cnt_en信号有效时,控制计数器进行使能 。
同时 test_en信号 是对cnt【2】信号的打一拍延迟 。
现在有个问题是 :
1 : 如果对外部ARM和FPGA的共同信号进行约束 ? 可以不约束吗?
2 : 如果不对ARM和FPGA的共同信号进行约束 ,那么查看约束报告的时候,会看到
cnt【2】 到 test _en的信号TH不满足 ,
而我对cnt_en 信号约束到 CLK信号上面,TH将满足,这种约束方**确吗?cnt_en信号需要约束吗?
3 :cnt[2]信号需要约束吗?

这里需要做得约束大概有以下几点:
1. 时钟clk的约束,任何时序设计都需要约束时钟。
2. 因为是这个设计是全同步,所以cnt[2]信号不需要约束。
3. 输入和输出管脚相对于时钟clk的关系需要约束。
4. rst应该需要false path掉。但是如果其和clk有关系的话,也可以约束。



    小编,对于输入和输出引脚,是不是设置 input delay 和output delay 约束呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top