FPGA xilinx 程序调试出错

2019-07-16 00:40发布

本帖最后由 wzh212 于 2014-6-3 16:34 编辑

tica, Tahoma, Arial, sans-serif">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]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
164908060
1楼-- · 2019-07-16 04:20
 精彩回答 2  元偷偷看……
wzh212
2楼-- · 2019-07-16 06:01
由于有以下一行:
always @(posedge rd_en)
综合工具会认为rd_en是时钟。所以有这个WARNING。假设真实时钟是clk,可以改为:
always @(posedge clk)
这样rd_en就会被综合成寄存器的CE(时钟使能)控制信号。

别人答案,非常感谢!
z00
3楼-- · 2019-07-16 08:55
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的帮助文件
wzh212
4楼-- · 2019-07-16 14:08
z00 发表于 2014-6-7 14:14
WARNING:PhysDesignRules:372 - Gated clock. Clock net rd_en is sourced by a
   combinatorial pin. Thi ...

呵呵,警告的内容看懂了,就是不知道怎么去解决,谢谢你的回答!
dxl3210
5楼-- · 2019-07-16 15:45
{:3:}{:3:}{:3:}
天天想
6楼-- · 2019-07-16 16:22
 精彩回答 2  元偷偷看……

一周热门 更多>