微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教关于IO约束的问题,帮忙分析一下

请教关于IO约束的问题,帮忙分析一下

时间:10-02 整理:3721RD 点击:
双向端口模型:
module tri_bus
(
  rst              ,
  clk              ,
                  
  IO_SEL           ,
  DIN              ,
  DOUT             ,
  DIO
);
input        rst   ;
input        clk   ;
input        IO_SEL;
input     DIN   ;
output    DOUT  ;
reg       DOUT  ;
inout     DIO   ;
always @(posedge[/email] clk or posedge rst)
begin
  if(rst)
    DOUT <= 1'b0;
  else
    if(IO_SEL)
    DOUT <= DIO;
end
assign DIO = IO_SEL ? 1'bz : DIN;
endmodule
约束文件如下:
NET "clk" TNM_NET = "clk";                                                  
TIMESPEC "TS_clk" = PERIOD "clk" 175 MHz HIGH 50 %;
NET "clk"            LOC = "M21 " | IOSTANDARD = LVDCI_33;
NET "rst"            LOC = "AW24" | IOSTANDARD = LVDCI_33;
NET "DIN"             LOC = "AL24" | IOSTANDARD = LVDCI_33 ;
NET "DOUT"             LOC = "AV23" | IOSTANDARD = LVDCI_33 ;
NET "DIO"             LOC = "AU23" | IOSTANDARD = LVDCI_33 ;
NET "IO_SEL"            LOC = "AU16" | IOSTANDARD = LVDCI_33 ;
NET DOUT OFFSET=OUT 5.0 AFTER "clk";
#NET "DIO"             OFFSET = OUT 2.8ns AFTER clk;
时钟是175M,时钟周期是5.7ns,这个想实现的功能是想约束一下寄存器输出到FPGA内部引脚的时间为2.8ns,但是这样就出现时序不收敛,需要的周期为7.7ns,这样还大于了时钟周期,我们的设计是FPGA的信号连接另外一块芯片,是在同一时钟下,这样肯定导致时序不满足,导致数据读写错误。希望大牛帮忙分析,offset 约束到底应该怎样去约束?另外双向端口应该怎样去约束呢?谢谢!

有人能回答一下吗?谢谢!

你用的什么FPGA?因为有的FPGA跑不到175M的。

Known

可以这样
在软件里做约束也可以的

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

网站地图

Top