FPGA|CPLD|ASICwilliam hill官网
直播中

王鑫炜

5年用户 5经验值
擅长:控制/MCU
私信 关注
[问答]

请教,lattice mxo2做环形振荡器综合报错,什么原因?

FPGA初学者,尝试做一个环形振荡器,使用lattice mxo2平台,diamond软件做。代码如下:
  1. module  ring_osc(
  2.         output q
  3. );

  4.         wire in_a,in_b,in_c,in_d;
  5.         wire out_a,out_b,out_c,out_d/* synthesis keep */;

  6.         not gate_a(out_a,in_a);
  7.         not gate_b(out_b,in_b);
  8.         not gate_c(out_c,in_c);
  9.         not gate_d(out_d,in_d);

  10.         assign in_b = out_a;
  11.         assign in_c = out_b;
  12.         assign in_d = out_c;
  13.         assign in_a = out_c;
  14.         assign         q = out_d;
  15. endmodule
该代码在quartus中能正确综合,RTL图如下:
QQ截图20200228153219.png
但是在diamond中,综合报错,如下:
ERROR - ######## Combinational loop thru inverter found at net:out_d_N_800 driven by instance:out_d_N_800_I_0

Done: error code 2

请教,这是什么原因?

已退回1积分

回帖(2)

李玉兰

2020-2-28 16:31:44
我也是初学者,来学习一下
举报

王鑫炜

2020-2-28 17:22:35
diamond中用 /* synthesis syn_keep=1 */
可以综合出RTL视图,但是export files时报错:

ERROR - Design is empty.
INFO - Errors found in user's design.  Output files not written. Check map report for more details.


   Number of warnings:  0
   Number of errors:    1

Done: error code 2
这又是什么原因呀?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分