Reputation: 67
I was trying to build and compile my design for an i2c - hdmi controller, however, when i first built the project, it was giving me the error:
Error (11802): Can't fit design in device. Modify your design to reduce resources, or choose a larger device... Error: Quartus Prime Fitter was unsuccessful. 8 errors, 6 warnings Error: Peak virtual memory: 5448 megabytes
As you would expect, i removed components (commented them out) until there was nothing left. Just Top level input and outputs and it still gives that error. I have tried restarting quartus as well as my whole computer with no success. I may not be an expert at Quartus, but if there are no components, how is there anything to compile, let alone 5.5gb worth? What have i done wrong?
This is what my TLE looks like:
module MajorProject(
input[9:0] romAddress,
input clock50MHz,
output[31:0] romData,
//hdmi i2cStuffs
input Reset,
input HDMI_int,
output I2cClock, //is technically an inout
inout I2cDataLine,
//HDMI Stuff
output HDMI_TX_CLK,
output [23:0] HDMI_TX_D,
output HDMI_TX_DE,
output HDMI_TX_HS,
input HDMI_TX_INT,
output HDMI_TX_VS,
//Testing
output Ready ,
output [3:0] setupState,
output [4:0] sendingState
);
/*
HDMI_i2cController hdmiController(
.mainClock(clock50MHz),
.reset(Reset),
.i2cClock(I2cClock),
.i2cDataLine(I2cDataLine),
.HDMI_int(HDMI_int),
.ready(Ready),
.setupState(setupState),
.sendingState(sendingState)
);
*/
/*
charTable rom(
.address(romAddress),
.clock(clock50MHz), //in the real work, we want this to clock 8 times to get
the full dataset for a letter
.q(romData)
);
*/
endmodule
Upvotes: 0
Views: 3726
Reputation: 67
Yep @Vlad was on the right track. My TLE had 86 pins. For some reason even though they weren't being used and hadn't been assigned any pins. It threw an error because IF I was to connect them, the pin voltage was wrong (quartus gives default 2.5V the board required 3.3).
The Quartus compiler may do some pretty amazing things, but its still not very smart.
Upvotes: 1