- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the program supposed to count the number of '1' in a given 32bit input
library IEEE;
use IEEE.std_logic_1164.all;
entity one_cnt is
port( serial_bit_input : in std_logic_vector (31 downto 0);
result : out integer range 0 to 32) ;
end;
architecture behave of one_cnt is
signal cnt : integer range 0 to 32;
begin
process(serial_bit_input)
begin
cnt<=0;
count_loop : for i in 31 downto 0 loop
if serial_bit_input(i)='1' then
cnt<=cnt+1;
end if;
end loop count_loop;
result<=cnt;
end process;
end architecture;
as you can see :
* Fatal: (vsim-3807) Types do not match between component and entity for port "result"
what sould i do?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Matan,
From what I see, you are using different package other that std logic between component and entity declaration result in mismatch type. Try to change you code in your testbench in component port same to std logic package
entity one_cnt is
port( serial_bit_input : in std_logic_vector (31 downto 0);
result : out integer range 0 to 32) ;
Refer to link below as it same case with you for reference
https://forums.intel.com/s/question/0D50P00003yyQfgSAE/modelsim-types-do-not-match?language=en_US
Thanks,
Regards
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page