Altera_Forum
Honored Contributor
11 years agodelayed register rising at the same time with original register
Dear sir,
Since i use cyclone V (5CEFA9F31C8 with quartus 12.1 and 14.0), several strange things happened, which made me suspect if altera FPGA could be used anymore, or maybe i should divert to Xlinx FPGAs. 1. The compiled sof file is very large of around 12MB, even if i used little LEs(less than 1%, memory block <2%, pins-39%, PLLs: 3 out of 8). Strange thing is when the LE usage is 15% and memory block usage is 66%, the compiled sof file is still 12MB! 2. The signalTap captures impossible phenomenons, however, timequest did not give timing violation. 3. FIFO's rdusedw changed strangely, similar to this thread: http://www.alteraforum.com/forum/showthread.php?t=1615, but in my case, both rdclk and wrclk are from PLL outputs, so it should not be the glitches problem. I changed sync stage of FIFO from 2 to 4, this problem seemed disappeared temporarily. look at the following code: reg top_c_lval_reg; always@(posedge clk) top_c_lval_reg<=top_c_lval; the 'top_c_lval' is from outside of FPGA, here i defined a register 'top_c_lval_reg' to latch the value of top_c_lval. i use this to detect the rising edge of top_c_lval, in other places in my code, i have 'if(~top_c_val_reg&top_c_lval)'. i inserted these two signals in signalTap, the capture clock designated in signalTap is the same as latch clock in the code. after compiling the code and running signaltap, i found top_c_lval and top_c_val_reg were rising at the same time! that is, edge-aligned! HOW could this be happen? should top_c_lval_reg be delayed a clock cycle to top_c_lval? http://www.alteraforum.com/forum/attachment.php?attachmentid=10109&stc=1 could anymore explain this to me? i am crazy about the result. Best wishes and Regards, ingdxdy