antonblanchard / microwatt

A tiny Open POWER ISA softcore written in VHDL 2008
Other
654 stars 98 forks source link

Vivado Implementation has negative slack #217

Closed ChanonTonmai closed 4 years ago

ChanonTonmai commented 4 years ago

I have just run the microwatt with fusesoc on arty_a7-35. Then, I open the microwatt_0.xpr in vivado gui mode. I found that there are critical warning about the timing. It said that the design failed to meed the timing requirement. 2PNG The ram initial is the hello_world.hex which is in this git.

Moreover, I saw the utilization is quite large for arty7. 3 Is there any suggestion for solve the slack and lean this core?

EMue commented 4 years ago

It appears that with these smaller FPGAs, especially at utilization this high, something needs to give.

The following might help:

Also make sure you're operating on the current revision of Microwatt. There have recently been some timing improvements.

Without the latter two optimizations, I've never gotten Vivado to achieve 100 Mhz on a Zynq 7010. With both enabled, it just about seems to work. 50 Mhz, however, has never given me any trouble.

ChanonTonmai commented 4 years ago

As an information, firstly, I change the strategies in Vivado to "Performance-ExtraTimingOpt". The total negative slack is decrease. 4 Then, when I change the sys_clk_pin to 50MHz . The negative slack is disappear but it has total pulse width slack. I don't know what the tpws mean but I think it is not the problem. 5

I going to close this issue. Moreover, I saw that you have been implement this core on Zynq. Is the xdc file is the one that need to change? I have Zybo (7010) and Pynq (7020). If you use the same board, could you share the xdc file.

Thank you

PrithvirajChauhan1 commented 3 years ago

Hey can you help me out in implementing this on vivado i am unable to do that...