comparing the array in parallel

S

srinukasam

hello
in my design i need a logic to compare the array (suppose width 16 bit and
size of 0 to 15) with a vector of 16 bit in parallel and in one clk cycle.
and need to generate address of array is matching.

thank you
bye
 
R

Ralf Hildebrandt

srinukasam said:
in my design i need a logic to compare the array (suppose width 16 bit and
size of 0 to 15) with a vector of 16 bit in parallel and in one clk cycle.

Just model 16 comparators - each for one array row.

match_0 <= '1' when (my_array(0) = my_vector) else '0';
....

and need to generate address of array is matching.

Does the vector match only one array element or may there be more?

process(match_0, macht_1 ....)
begin
if (match_0 = '1') then
address<="0000"
elsif (match_1 = '1') then
address<="0001"
elsif ...
end if;
end process;


Note: You may eliminate the intermediate match_X signals if you combine
all statements, but this does not lead to a smaller hardware.

Ralf
 
V

viku

try this but in one clock cycle u r able to compare only one address of
array with the vector;
try this codee
if rst='1'then
addr<=(others=> '0');
elsif rising_edge(clk)then
array(addr)<= vector
addr<= addr+1;
if array(addr)= vector then
found <='1';
foundaddr<=addr
else
found <='0';
foundaddr<="zzzz....z";
end if;
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,019
Latest member
RoxannaSta

Latest Threads

Top