Problemas Tema 3 (2013)

Ejercicio Español
Universidad Universidad Politécnica de Cataluña (UPC)
Grado Ingeniería de Sistemas de Telecomunicación - 2º curso
Asignatura Diseño Digital
Año del apunte 2013
Páginas 4
Fecha de subida 12/11/2014
Descargas 1
Subido por

Vista previa del texto

Problemes de Disseny Digital Tema 3 Tema 3 Disseny combinacional amb VHDL 3.1 Expliqueu per què estan malament les dues assignacions concurrents següents, on tots els senyals són del tipus std_logic.
y <= a when s else b; z <= (s=’1’); 3.2 Considereu la descripció VHDL següent: entity ex port( a, b s y end ex; is : in bit_vector(7 downto 0); : in bit_vector(1 downto 0); : out bit_vector(7 downto 0)); architecture a of ex is begin with s select y <= a and b when a or b when a nand b when a nor b when end a; "00", "01", "10", "11"; a) Què caldria canviar per treballar amb senyals tipus std_logic enlloc de bit? b) Feu una descripció d’arquitectura equivalent emprant una altra sentència concurrent, suposant que tots els senyals són vectors del tipus std_logic.
3.3 Descriviu quina funció fa l’entitat evdet i expliqueu per què es tracta d’un disseny força absurd, malgrat no contenir errades.
library ieee; use ieee.std_logic_1164.all; entity evdet is port( num : in integer range 0 to 15; z : out std_logic ); end evdet; architecture arq of evdet is begin with num select z <= ‘1’ when 0|2|4|6|8|10|12|14, ‘0’ when others; end arq; Problemes de Disseny Digital Tema 3 a) una assignació condicional (when/else).
b) una assignació amb selecció (with/select).
c) una assignació incondicional.
b[3..0] b1 b0 b1 b0 b3 b2 0 1 2 3 MUX 3.4 Suposant que tots els senyals són std_logic, feu una descripció VHDL del circuit donat, emprant ...
z a[1..0] d) un process.
3.5 Detecteu i corregiu les errades que conté el codi VHDL donat. Després dibuixeu un esquema equivalent, fet amb components lògics estàndard, de l’entitat cosa.
library ieee; use ieee.std_logic_1164.all; entity cosa is port( a,b,d : in std_logic_vector(1 downto 0); e : out std_logic_vector(1 downto 0) ); end cosa; architecture arch of cosa is begin c <= a and (not b); e <= c + d; end arch; 3.6 Considereu el fragment de descripció VHDL donat, on tots els senyals excepte estat són del tipus std_logic.
a) Canviaria alguna cosa si eliminèssiu el text else ‘1’? b) Proposeu una descripció VHDL equivalent a la donada emprant una sentència d’assignació diferent.
...
signal estat : integer range 0 to 3; ...
z <= ’0’ when (estat=0 and x=’0’) or (estat=2 and x=’0’) else ’1’; ...
Problemes de Disseny Digital Tema 3 3.7 Considereu la descripció VHDL donada, on el component/entitat yy2 està descrit més avall. Es demana, a) Dibuixeu el seu esquema lògic equivalent i expliqueu quina funció fa.
b) Proposeu una altra arquitectura que sigui funcionalment equivalent a la donada, feta amb descripcions de comportament i que no utilitzi components externs.
library ieee; use ieee.std_logic_1164.all; entity xx4 is port( xa,xb,xc,xd : in std_logic_vector(3 downto 0); c : in std_logic_vector(1 downto 0); xz : out std_logic_vector(3 downto 0)); end entity xx4; architecture arq of xx4 is component yy2 port(ya,yb : in std_logic_vector(3 downto 0); b : in std_logic; yz : out std_logic_vector(3 downto 0)); end component; signal ll,hh : std_logic_vector (3 downto 0); begin frst: yy2 port map(xa,xb,c(0),ll); scnd: yy2 port map(xc,xd,c(0),hh); thrd: yy2 port map(ll,hh,c(1),xz); end arq; library ieee; use ieee.std_logic_1164.all; entity yy2 is port( ya,yb : in std_logic_vector(3 downto 0); b : in std_logic; yz : out std_logic_vector(3 downto 0)); end entity yy2; architecture arq of yy2 is begin with b select yz <= ya when ‘0’, yb when others; end arq; 3.8 Considereu una descripció d’arquitectura que conté, en aquest mateix ordre, les dues assignacions següents, y <= “10” when a(3)=’1’ else “00”; y <= “01” when a(2)=’1’ else “00”; Suposant que tots els senyals són dels tipus std_logic i que estan ben definits i utilitzats, raoneu en quin(s) d’aquests dos casos la compilació del codi donaria un error, a) Les assignacions estan dins d’un process.
b) Les assignacions no estan dins d’un process.
Problemes de Disseny Digital Tema 3 3.9 L’entitat priority intenta ser la descripció VHDL d’un circuit combinacional, però conté errades. Es demana, a) Localitzeu i corregiu les errades que conté el codi.
b) Expliqueu quin tipus de funció faria el circuit combinacional.
c) Proposeu una altra descripció d’arquitectura per a priority.
library ieee; use ieee.std_logic_1164.all; entity priority is port( a : in std_logic_vector(3 downto 0); y : out std_logic_vector(3 downto 0)); end entity priority; architecture arq is begin y <= “1000” when a(3)=’1’; else “0100” when a(2)=’1’; else “0010” when a(1)=’1’; else “0001” when a(0)=’1’; end arq; 3.10 Raoneu si les dues descripcions d’arquitectura donades, que corresponen a un circuit combinacional, són equivalents o no. Suposeu que les declaracions prèvies de llibreries i entitats són correctes, i que els senyals són tots dels tipus std_logic.
architecture a1 of gates is begin process(a) begin y0 <= a and b; y2 <= a nor b; y1 <= a nand b; y3 <= a nor b; end process; end a1; architecture a2 of gates is begin y2 <= a nor b; y0 <= a and b; y3 <= a nor b; y1 <= a nand b; end a2; ...