Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

Vhdl 2008

I have recently started using the basic new features of VHDL 2008, and they compile fine in my version of Aldec Active HDL, but do not in Quartus. For example, the basic process:

process(MCLK,HRST)

begin

if (HRST = '1') then

reg <= '0';

elsif rising_edge(MCLK) then

reg <= input;

end if;

end process;

can be rewritten in VHDL 2008 as:

process(MCLK,HRST)

begin

if HRST:

reg <= '0';

elsif rising_edge(MCLK) then

reg <= input;

end if;

end process;

there are several enhancements in VHDL 2008 to reduce verbosity; and I am just trying to find a thread, white paper, or link somewhere that explicity states the VHDL 2008 supported features in Quartus 10. What would be nice is a app note by Altera that maybe takes one of Jim Lewis Synthworks white papers and elaborates on whether those features in VHDL 2008 are covered in Quartus 10.

Thanks,

James

20 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    @waiyoug, for simulation yes, for synthesis into the actual FPGA, no. Synthesis tools need to see the wires that must be routed through the design. And many times there are more signals you want to see for board level debugging than you have pins. So you need additional tools to help you automate multiplexing or scan enabling pins.

    FYI, ModelSim 10.3 completely supports VHDL-2008 with most of the work completed in ModelSim 10.2. See https://verificationacademy.com/courses/vhdl-2008-why-it-matters.

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Does Quartus II 13.1 support VHDL-2008 unconstrained array elements? The Template generator has example unconstrained array constructs and from Tricky's post (in 2010!) I thought 13.1 would support this feature. However, when I try to use them in a design I get:

    "Error (10294): VHDL Type Declaration error at fir_pkg.vhd(30): element type for array type cannot be unconstrained"

    :-(

    As the project uses a Cyclone III I need to use a version of Quartus II that supports this device. From looking at the supported devices for the various versions, it looks like 13.1 is the last version to support Cyclone III.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Did you turn on VHDL 2008 in the compile settings?

    partial 2008 support has been in since about V10
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Does Quartus II have support yet for the VHDL-2008 unary 'and', 'or', and 'xor' operators? I just tried to use them on my (Quartus II 13.1) project and it choked on me. Possibly just a syntax error, but I didn't want to spend the time trying to figure it out just to find that the tools can't do that.

    
    signal interrupts_in : std_logic_vector(7 downto 0);
    signal interrupts_out : std_logic;
    ...
    interrupts_out <= or interrupts_in;
    
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Can I use hierarchical signals to port out nets / signals in the lower level? Is there other easy way (s) to do that in VHDL. For example, I have three levels in my design. Instead of carrying large number of IO through hierarchy, I can use hierarchical signals to port them to the top level for board level debugging? Thank u

    --- Quote End ---

    Modelsim can use VHDL-2008 to hierarchically access signals and variables (a useful feature when filling simulation memory).

    Quartus does not support VHDL-2008 hierarchical access, but you can do exactly the same thing using the SignalTap II Logic Analyzer.

    Cheers,

    Dave

    PS. Oops ... I hit reply to what I thought was the latest message, but it was just the last message on the page ... ah well, its still a valid response, so I'll leave it here.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Improved 2008 support should be coming in quartus 15.1 (might be just in prime though)