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.

How to assign output signal in an array in VHDL?

Status
Not open for further replies.

Ngised

Newbie level 6
Joined
Nov 28, 2015
Messages
13
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
79
I have a matrix with rows and columns of XOR, n x m. In the first output I want to assign the output with a signal to the first row.
How I am going to do that?

Code:
type matrix is array(0 to n-1) of std_logic_vector(m - 1 downto 0);
    signal out_vec : matrix;
 
begin

for i  in 0 to n-1 generate
XI:xor_gate
port map ( x => op_x(i),
           y => op_y(i),
        output => out_vec(0)  -- it doesn't work
);
end generate;
 
end architecture ;
 
Last edited:

What do you mean. “it doesn’t work”? Does it fail synthesis? Does it generate an error message? Does it make strange noises?

Also, you don’t give a clue as to what xor_gate is. What is the dimension of output?
 

The dimension of the output is a range 3 to 8, the max size of the array is 8 x 8. A xor_gate is a xor gate. It doesn't work means it's not recognized and it is red underlined an error will be occurred if I synthesize it.
 

If the output of xor_gate is one-bit, and then you are trying to assign it to a vector of (m-1 downto 0), that's a problem.

output=>out_vec(0) is assigning 1 bit to a (m-1 downto 0) slv.

Further, you are assigning values to out_vec(0) over and over again in your generate statement. I think you need an index into out_vec, not a 0.
 

The dimension of the output is a range 3 to 8, the max size of the array is 8 x 8. A xor_gate is a xor gate. It doesn't work means it's not recognized and it is red underlined an error will be occurred if I synthesize it.
Let's see your declaration for output. Like barry has suggested, also look at the indexing of out_vec.
 
Last edited:

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top