Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

problem with if generate statement

Status
Not open for further replies.

kakarala

Member level 1
Joined
Jun 22, 2010
Messages
40
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
1,801
HI i am trying to use if generate statement . Here i declared rp as constant array in a package and rp_x as a signal. When i am synthesizing it gives me the following error

ERROR:HDLParsers:1305 result of operator = is not static.


A :if rp(rp_x) = 1 generate
p1 <= p-stepsize;
sad02 : SAD4X4 port map(clk => clk, rst => rst,currblk_row => a,currblk_column => b,refblk_row => p1,refblk_column => q,sad => sad1);
end generate ;
 

every term in "rp(rp_x)" must be constant. generates aren't going to work the way you want them to.
 

Generates are filled out at elaboration time, not run time, hence why they need to be static. The implemented SAD4X4 cannot be implemented and removed on the fly.
 

I think that u can't using both blocking and non blocking statement in your program. try to use the if rp(rp_x) <= 1 generate.
 

sorry for that ans. I am new member of that forum and also i know only for verilog hdl that's why i give that ans.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top