GNOME Bugzilla – Bug 618374
VHDL: it's not possible to document concurrent statements
Last modified: 2012-11-18 11:12:18 UTC
In VHDL it's possible to do things either in processes or as concurrent statements, doxygen allows currently only processes to be documented. A short example would be entity ent is port ( clr: in std_logic; clk: in std_logic; s: out std_logic); end ent; architecture ent_arch of ent is signal ent_sig1 : std_logic; begin --! @brief do something in process --! @details and this will be document proc_foo: process(clr, clk) if(clr = '1') then ent_sig1 <= '0'; elsif (rising_edge(clk)) then ent_sig1 <= not(ent_sig1); end if; end process proc_foo; --! @brief do something concurrent --! @details but this can't be documented --! or worse, it will be added to a following process :( s <= clr or ent_sig1; --! this doesn't work neither :( end ent_arch;
Confirmed. This bug needs to be definitely corrected. As of now there is now way to document the concurrent statements in doxygen. I am forced to omit this documentation from doxygen processing as these comments are added to the next process' comments, which is totally wrong. It is also quite difficult to decide now, how to let the concurrent statements be documented. A sensible way would be to list all documented concurrent statements in order of appearance in the code, under a heading "Concurrent Statements" or something similar to that.
Created attachment 181849 [details] patch for documenting inline code\concurrent statements inline code documentation syntax --!\brief bla bla --!\code name_of statement ... code ... --!\endcode architecture Behavioral of comp_stc_freq_ctrl is begin p11: process(clk,a,s,g,d,de) begin --! \brief inline fragment --! \code inline_code if rising_edge(clk) then if rst='1' then o <= '0'; else o <= i; end if; end if; --! \endcode end process; --! \brief concurrent statement --! \code concurrent ds_mem <= wr_en AND req; --! \endcode end Behavioral;
the patch is against 1.7.3
Created attachment 181917 [details] [review] patch for documenting inline code\concurrent statements improved my previous patch.
Hi Martin, I'll include the patch. I did notice the LaTeX output produced for the example you provided is broken (both with and without patch). Do you test this yourself?
I did not check the Latex output. If I find a bug, I'll make a new patch. Martin
Created attachment 182116 [details] [review] documenting inline code\concurrent statements Indeed the LaTex output is broken. This patch should fix this bug.
Hi Martin, I had already applied your patch (and fixed the formatting). Can you tell me what you changed to fix the latex bug, or attach a delta patch for that fix only?
Martin: Ping.
Martin: ping!
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!