Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- \documentclass{article}
- \usepackage{listings}
- \usepackage[dvipsnames]{xcolor}
- \usepackage{color}
- \def\digitcolor{\color{teal}}
- \definecolor{backgroundColour}{rgb}{0.95,0.95,0.92}
- \definecolor{lightgreen}{rgb}{0.13, 0.505, 0.02}
- \definecolor{offpurple}{rgb}{0.659, 0.063, 0.502}
- \lstdefinestyle{VHDLstyle}{
- language=VHDL,
- numbers=left,
- numbersep=5pt,
- backgroundcolor=\color{backgroundColour},
- showspaces=false,
- showstringspaces=false,
- showtabs=false,
- tabsize=4,
- captionpos=t,
- breaklines=true,
- breakatwhitespace=true,
- identifierstyle=\color{black},
- frame=lrtb,
- % Define TYPE-1 Keywords
- keywords={},
- otherkeywords={},
- keywordstyle=\color{lightgreen},
- % Define TYPE-2 Keywords
- keywordstyle=[2]\color{blue},
- keywords=[2]{library, use, all, is, port, in, out, signal, of, downto, begin, assert, report, severity, then, if, elseif, others, end},
- % Define TYPE-3 Keywords
- keywordstyle=[3]\color{orange},
- keywords=[3]{std_logic, std_logic_vector, FAILURE},
- commentstyle=\color{Green},
- morecomment=[l]--,
- belowcaptionskip=0.2in,
- abovecaptionskip=0.2in,
- }
- \begin{document}
- \begin{lstlisting}[style=VHDLstyle, caption={VHDL signed adder}]
- library ieee;
- use ieee.std_logic_1164.all;
- use ieee.numeric_std.all;
- entity signed_adder is
- port (
- aclr : in std_logic;
- clk : in std_logic;
- a : in std_logic_vector;
- b : in std_logic_vector;
- q : out std_logic_vector
- );
- end signed_adder;
- architecture signed_adder_arch of signed_adder is
- signal q_s : signed(a'high+1 downto 0); -- extra bit wide
- begin -- architecture
- assert(a'length >= b'length)
- report "Port A must be the longer vector if different sizes!"
- severity FAILURE;
- q <= std_logic_vector(q_s);
- adding_proc:
- process (aclr, clk)
- begin
- if (aclr = '1') then
- q_s <= (others => '0');
- elsif rising_edge(clk) then
- q_s <= ('0'&signed(a)) + ('0'&signed(b));
- end if; -- clk'd
- end process;
- end signed_adder_arch;
- \end{lstlisting}
- \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement