Note that there are some explanatory texts on larger screens.

plurals
  1. POSignal or variable counter inside a generate statement
    primarykey
    data
    text
    <p>I have a problem with a generate statement. I'm generating a pipeline architecture, the basic problem is that I need another counter or variable besides the for index:</p> <pre><code>architecture behav of blockPipelineCordic is constant total: integer := stepNumber + stepNumber/pipeStep; signal signVector: std_logic_vector( (stepNumber - 1) downto 0); signal lx: std_logic_vector( ((total + 1)*dataSize - 1) downto 0); signal ly: std_logic_vector( ((total + 1)*dataSize - 1) downto 0); signal signCounter: integer := stepNumber - 1; begin stepGen: for i in (total - 1) downto 0 generate begin signCounter &lt;= signCounter - 1 when ((total - i) mod (pipeStep + 1) /= 0) else signCounter; stepGen0: if( (total - i) mod (pipeStep + 1) /= 0 ) generate begin U1: entity work.cordicStep(behav) generic map ((totalStepNumber - 1) - i,dataSize) port map(signVector(signCounter),lx(((i+2)*dataSize-1) downto (i+1)*dataSize),ly(((i+2)*dataSize-1) downto (i+1)*dataSize),lx(((i+1)*dataSize-1) downto i*dataSize),ly(((i+1)*dataSize-1) downto i*dataSize)); end generate stepGen0; stepGen1: if( (total - i) mod (pipeStep + 1) = 0 ) generate begin U2: entity work.registerModule(behav) generic map (dataSize) port map(clk,lx(((i+2)*dataSize-1) downto (i+1)*dataSize),lx(((i+1)*dataSize-1) downto i*dataSize)); end generate stepGen1; stepGen2: if( (total - i) mod (pipeStep + 1) = 0 ) generate begin U3: entity work.registerModule(behav) generic map (dataSize) port map(clk,ly(((i+2)*dataSize-1) downto (i+1)*dataSize),ly(((i+1)*dataSize-1) downto i*dataSize)); end generate stepGen2; end generate stepGen; . . . </code></pre> <p>In the generation of the first structure I need to use a different index to signVector, I created a signal to be used as a counter (port map(signVector(signCounter),lx(((i+2)*dataSize-1) downto ) but it cannot be used as an index the error is: "Actual (indexed name) for formal "sub" is not a static signal name."</p> <p>Any help would be appreciated :), ty</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload