Hw3 - a in std_logic_vector(2 to 0 b,c,d in...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
- 1 - CSE 260 Homework 3 Due September 15, 2009 1. (10 points) Rewrite the following VHDL module using only ordinary signal assignments (no conditional assignments). entity foo is port( a,b,c,d: in std_logic; x: out std_logic; y: out std_logic_vector (1 downto 0); end entity foo; architecture arch of foo begin x <= b and c when a = „0‟ else not c when a>b else a or d; y <= (a & d) when a = „1‟ else (b & (not c)) when (b=„0‟ and c=„1‟) else „1‟ & c; end arch; 2. (10 points) Draw a circuit corresponding to the following VHDL module. Just use a block called “adder” for any addition that’s done. entity foo is port(
Background image of page 1
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: a: in std_logic_vector(2 to 0); b,c,d: in std_logic_vector(3 downto 0); x,y: out std_logic_vector(3 downto 0)); end entity foo; architecture arch of foo signal z: std_logic_vector(3 downto 0); begin z <= b xor c; with a select x <= z when “000”, c when “001” | “100”, d when “110” | “111” | “101”, b+c when “0 1 1”, c+d when others; y <= c+d when a = “010” else d when a >= “101” and a <= “111” else z when a = “000” else b+c when a = “011” else c when others; end arch; 3. (10 points) Rewrite the VHDL module in the previous problem using a process block and an if-then-else statement....
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online