- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have something like the following:
signal_a(7 downto 0) <= (3 downto 0 => "0001", others => '1');
I got error:
Error (10515): VHDL type mismatch error at ***.vhd(###): std_ulogic type does not match string literal
Please comment
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe you are correct - Quartus Standard does not support aggregates for VHDL 2008 due to its limited language support. The following list is the closest I could find of VHDL 2008 features that Quartus Standard supports, prior to the release of Quartus Pro version:
I have try to run below code (Fail in Standard but Pass in Pro):
library ieee;
use ieee.std_logic_1164.all;
entity Example is
port (
clk : in std_logic;
reset : in std_logic;
out_data : out std_logic_vector(7 downto 0)
);
end entity Example;
architecture Behavioral of Example is
signal signal_a : std_logic_vector(7 downto 0) := (others => '1');
begin
process (clk, reset)
begin
if reset = '1' then
-- reset the signal to the initial value
signal_a <= (3 downto 0 => "0001", others => '1');
elsif rising_edge(clk) then
-- do some processing using the signal
out_data <= signal_a;
end if;
end process;
end architecture Behavioral;
Best Regards,
Richard Tan
p/s: If you find any answers from the community or Intel Support to be helpful, we encourage you to mark them as the best answer or rate them 4/5 in the survey.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe you are correct - Quartus Standard does not support aggregates for VHDL 2008 due to its limited language support. The following list is the closest I could find of VHDL 2008 features that Quartus Standard supports, prior to the release of Quartus Pro version:
I have try to run below code (Fail in Standard but Pass in Pro):
library ieee;
use ieee.std_logic_1164.all;
entity Example is
port (
clk : in std_logic;
reset : in std_logic;
out_data : out std_logic_vector(7 downto 0)
);
end entity Example;
architecture Behavioral of Example is
signal signal_a : std_logic_vector(7 downto 0) := (others => '1');
begin
process (clk, reset)
begin
if reset = '1' then
-- reset the signal to the initial value
signal_a <= (3 downto 0 => "0001", others => '1');
elsif rising_edge(clk) then
-- do some processing using the signal
out_data <= signal_a;
end if;
end process;
end architecture Behavioral;
Best Regards,
Richard Tan
p/s: If you find any answers from the community or Intel Support to be helpful, we encourage you to mark them as the best answer or rate them 4/5 in the survey.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for acknowledging the solution provided. I'm glad to hear that your question has been addressed. Now, I will transition this thread to community support. If you have any further questions or concerns, please don't hesitate to reach out. Thank you and have a great day!
Best Regards,
Richard Tan

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page