微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA xilinx 程序调试出错

FPGA xilinx 程序调试出错

时间:10-02 整理:3721RD 点击:

WARNING:PhysDesignRules:372 - Gated clock. Clock net rd_en is sourced by a
   combinatorial pin. This is not good design practice. Use the CE pin to
   control the loading of data into the flip-flop.

  1. reg     rd_en;

  2. always @(*)
  3. begin   
  4.     rd_en <= ~csn && ~rdn;
  5.     WR_RISING <= ~csn && ~wrn;
  6. end


  7. always @(posedge rd_en)
  8. begin
  9.     if(rd_en == 1)
  10.     begin
  11.         case(addr[2:0])
  12.             3'b000:data_reg <= ARM_FPGA_REG0;
  13.             3'b001:data_reg <= ARM_FPGA_REG1;
  14.             3'b010:data_reg <= ARM_FPGA_REG2;
  15.             3'b011:data_reg <= ARM_FPGA_REG3;
  16.             3'b100:data_reg <= ARM_FPGA_REG4;
  17.             3'b101:data_reg <= ARM_FPGA_REG5;
  18.             3'b110:data_reg <= ARM_FPGA_REG6;
  19.             3'b111:data_reg <= ARM_FPGA_REG7;
  20.             default:;
  21.         endcase
  22.     end
  23. end

复制代码


程序用到rd_en的地方,麻烦高手指点下,非常感谢![qq]1146254321[/qq]

坐等程序高手  我也学习下   

由于有以下一行:
always @(posedge rd_en)
综合工具会认为rd_en是时钟。所以有这个WARNING。假设真实时钟是clk,可以改为:
always @(posedge clk)
这样rd_en就会被综合成寄存器的CE(时钟使能)控制信号。
别人答案,非常感谢!

WARNING:PhysDesignRules:372 - Gated clock. Clock net rd_en is sourced by a
   combinatorial pin. This is not good design practice. Use the CE pin to
   control the loading of data into the flip-flop.
警告的内容已经说明了一切了 可以看警告372的帮助文件

呵呵,警告的内容看懂了,就是不知道怎么去解决,谢谢你的回答!

谢谢分享!

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

网站地图

Top