Estudio Isdigit Primer Parcial
|
|
Título del Test:
![]() Estudio Isdigit Primer Parcial Descripción: Estudio Isdigit Primer Parcial |



| Comentarios |
|---|
NO HAY REGISTROS |
|
Dado el siguiente código, indicad el valor mostrado por el "system task" $display . 0. 3. 2. Dada el siguiente comportamiento temporal. assert property((@negedge clk) rose(r)|−>(!g[∗2:]##1 g) intersect (r [*2:$] ##1 !r)). assert property((@negedge clk) rose(r)|−>(!g[∗2: ] ##1 g) and (r [*2:$] ##1 !r)). assert property((@negedge clk) rose(r)|−>(!g[∗2: ]##1 g) or (r [*2:$] ##1 !r)). Cual es la probabilidad de tener que a=1 cuando aplicamos la aleatorización con randomize?. La probabilidad es de 1/256. La probabilidad es de 1/257. La probabilidad es de 1/2. Indicad cual de las siguientes afirmaciones es FALSA con respecto a la siguiente aserción: assert property (@(negedge clk) req |-> ##1 grant). En cualquier ciclo si req ==1'b0 la aserción es abortada. En cualquier ciclo si req ==1'b1 la aserción falla si grant==1'b0 en el siguiente ciclo. En cualquier ciclo si req ==1'b1 la aserción falla si grant==1'b1 en el siguiente ciclo. Indicad cual de las siguientes afirmaciones es FALSA. Las aserciones concurrentes pueden ser sin habilitación o con habilitación. Las aserciones sin habilitación pueden ser monociclo o multiciclo. Las aserciones sin habilitación deben ser monociclo. Indicad cual de las siguientes afirmaciones es FALSA. Un método para obtener el grado de cobertura es llamar desde nuestro system verilog al procedimiento "coverage". Un método para obtener el grado de cobertura es llamar desde nuestro system verilog al procedimiento "get_inst_coverage". Un método para obtener el grado de cobertura es llamar desde nuestro system verilog al procedimiento "get_coverage". Indicad cual de las siguientes afirmaciones es CIERTA con respecto a la siguiente aserción: assert property (@(negedge clk) a!=3). Es una aserción concurrente con habilitación. Es una aserción concurrente sin habilitación. Es una aserción inmediata sin habilitación. Indicad cual de las siguientes afirmaciones es FALSA. La construcción "interface" apenas es utilizada en la elaboración de bancos de pruebas porque no permite la interconexión de un "program" con un modulo objeto de verificación (DUV). La construcción "interface" es la incorporación más relevante del systemVerilog a la descripción estructural. La construcción "interface" puede tener varios puntos de vista: Master/slave, transmisor/receptor,etc Esto puede ser especificado mediante “modports". Indicad cual de las siguientes afirmaciones es FALSA. La nueva construcción de systemverilog "program" puede ser instanciado en un testbench como si de un módulo se tratara. La nueva construcción de systemverilog "program" normalmente define un testbench con comportamiento libre de carreras en donde podemos definir estímulos e incluir elementos de verificación. La nueva construcción de systemverilog "program" puede instanciar módulos y llamadas a funciones y procedimientos. Indicad cual de las siguientes aserciones serviría para comprobar el funcionamiento de la operación de lectura de una memoria RAM de doble puerto que tiene la siguiente descripción: operacion_lectura: assert property (@(posedge clock) !stable(rdaddress)|->lectura); sequence lectura; logic [7:0] aux; (1, aux=mem[rdaddress]) ##1 (data_out===aux) ; endsequence. operacion_lectura: assert property (@(posedge clock) !stable(rdaddress)&&!wren|->lectura); sequence lectura; logic [7:0] aux; (1, aux=mem[rdaddress]) ##1 (data_out===aux) ; endsequence. operacion_lectura: assert property (@(posedge clock) rden|->lectura); sequence lectura; logic [7:0] aux; (1, aux=mem[rdaddress]) ##1 (data_out===aux) ; endsequence. Cuál de estas arquitecturas representa el hardware descrito por el código SystemVerilog mostrado?. Arquitectura de respuesta A. Arquitectura de respuesta B. Arquitectura de respuesta C. Cuál de estas arquitecturas representa el hardware descrito por el código SystemVerilog mostrado?. Arquitectura de respuesta A. Arquitectura de respuesta B. Arquitectura de respuesta C. Dado el siguiente diagrama ASM de especificación de un diseño, indicar cual de las siguientes CONTROL PATH y DATA-PATH responden a las necesidades de este circuito. Un control de tipo Mealy de 6 estados y un datapath que incluye un contador con reset síncrono, un registro de desplazamiento con carga paralelo y reset síncrono, un registro de desplazamiento con carga paralelo, un registro con carga paralelo, un sumador y un restador (podría ser un sumador restador) y un multiplicador. Un control de tipo Mealy de 6 estados y un datapath que incluye un contador con reset asíncrono, un registro de desplazamiento con carga paralelo y reset asíncrono, un registro de desplazamiento con carga paralelo, un registro con carga paralelo, un sumador y un restador (podría ser un sumador restador). Un control de tipo Mealy de 6 estados y un datapath que incluye un contador con reset síncrono, un registro de desplazamiento con carga paralelo y reset síncrono, un registro de desplazamiento con carga paralelo, un registro con carga paralelo, un sumador y un restador (podría ser un sumador restador). Cuál de estas arquitecturas representa el hardware descrito por el código SystemVerilog mostrado?. Arquitectura de respuesta A. Arquitectura de respuesta B. Arquitectura de respuesta C. Dada la siguiente descripción SystemVerilog indicar cuantos flip-flops se sintetizarán cuando dicha descripción sea compilada. 3 flip-flops. 4 flip-flops. 5 flip-flops. Se conectan flip-flops tipo D en las entradas y en las salidas de una FPGA, del modo que se indica en la figura a continuación: Si sólo consideramos la parte del diseño que hemos llamado B (FPGA y flip-flop de salida) y suponemos el reloj que llega simultáneamente a los pines de reloj de flip-flops y FPGA, ¿Cuál es la frecuencia máxima de funcionamiento?. 50 MHz. 40 MHz. 55 MHz. Un tiempo de latencia positivo y grande cuando la FPGA es el destino. No influye sobre el Margen de Activación. Reduce el Margen de Activación. Aumenta el Margen de Activación. Suponiendo que en el siguiente esquema de PCB, el reloj llega a ambos dispositivos simultáneamente (de pines para fuera) y que los tiempos de hold internos son cero en ambos dispositivos. ¿En cuál de los siguientes casos puede existir problemas de Margen de Retención suponiendo coincidencia de los peores casos?. Habrá problemas en los path de las señales de control que van desde la FPGA1 a la FPGA2. Habrá problemas en los path de las señales de estado que van desde la FPGA2 a la FPGA1. Habrá problemas en ambos path de interconexión. Dado el siguiente sincronizador se pretende aumentar el tiempo medio entre fallos del mismo, ¿cuál de las siguientes medidas de diseño implicaría directamente el conseguir dicho objetivo?. Elegir un flip-flop 0 con mayor tiempo de propagación (tffpd). Aumentar la frecuencia de reloj del sincronizador. Elegir un flip-flop 1 con menor tiempo de set-up (tsu). A la vista del esquema anterior, cuál sería el máximo skew de reloj entre CLK2 y CLK1 que garantizaría un margen de setup de 3 ns, teniendo en cuenta que tco-FF = 5 – 7 ns, tG = 3 – 5 ns, tsu-FF = 4ns y la frecuencia de reloj es de 40 MHz. 6 ns. Ninguna de las otras respuestas es correcta. 10 ns. Realizando el diseño de una placa PCB en el que existe un dispositivo programable de tipo Cyclone II, se verifican problemas de margen de retención en los path procedentes del dispositivo programable que van hacia el exterior. Nuestro jefe nos sugiere utilizar las PLL internas de la Cyclone para eliminar completamente la latencia del dispositivo programable, a lo cual debemos contestar: Si eliminamos la latencia, disminuiremos ese problema. Si eliminamos la latencia, aumentaremos ese problema. Si eliminamos la latencia, nos quedaremos igual. ¿Dónde es más probable tener problemas de margen de retención suponiendo que la FPGA dispone de los mayores valores de latencia?. En los path internos de la FPGA. En los path que se originan en la FPGA y que finalizan en el exterior. En los path que finalizan en la FPGA y que se originan en el exterior. En un path registro a registro con skew de reloj nulo... El margen de retención es siempre positivo. El margen de activación es igual al de retención. El margen de retención dependerá del período de reloj. Dadas las siguientes implementaciones de un sumador de tres operandos de 8 bits, indicad cual de las siguientes afirmaciones es CIERTA . La opción A tiene un rendimiento de 1 muestra / 2 ciclos y una latencia de 2 ciclos La opción B tiene un rendimiento de 1 muestra / 2 ciclos y una latencia de 3 ciclos. La opción A tiene un rendimiento de 1 muestra / 1 ciclo y una latencia de 2 ciclos La opción B tiene un rendimiento de 1 muestra / 1 ciclo y una latencia de 2 ciclos. La opción A tiene un rendimiento de 1 muestra / 1 ciclo y una latencia de 2 ciclos La opción B tiene un rendimiento de 1 muestra / 1 ciclo y una latencia de 3 ciclos. En un circuito combinacional con entradas y salidas registradas, la latencia es: No tiene sentido hablar de latencia sino de rendimiento. Algo mayor que un período de reloj. Algo menor que un período de reloj. property desplazamiento; (@(posedge clk) enable|-> s1); endproperty desplazar:assert property (desplazamiento) else $error("el shifter no es de 4 etapas"); sequence s1; logic aux; (enable==1'b1, aux=ES) ##1 enable[=3] ##1 (SS==aux); Endsequence. property desplazamiento; (@(posedge clk) enable|-> s1); endproperty desplazar:assert property (desplazamiento) else $error("el shifter no es de 4 etapas"); sequence s1; logic aux; (enable==1'b1, aux=ES) ##1 enable[->3] ##1 (SS==aux); Endsequence. property desplazamiento; (@(posedge clk) enable|-> s1); endproperty desplazar:assert property (desplazamiento) else $error("el shifter no es de 4 etapas"); sequence s1; logic aux; (enable==1'b1, aux=ES) ##1 enable[*3] ##1 (SS==aux); Endsequence. Indicad cual de las siguientes afirmaciones es CIERTA. La construccion "program" de systemverilog muestrea sus salidas justo antes del flanco activo de reloj y conduce sus entradas justo después de dicho flanco. La construccion "program" de systemverilog muestrea las salidas del diseño objeto de verificación (DUV) justo antes del flanco activo de reloj y conduce las entradas del DUV justo después de dicho flanco. La construccion "program" de systemverilog muestrea su entradas justo despues del flanco activo de reloj y conduce sus salidas justo antes de dicho flanco. ¿Cual es la probabilidad de tener que a=200 cuando aplicamos la aleatorización con randomize? class id; rand int a; constraint c1 { a dist {100:=1; 200:=2 ; 300:=3};} endclass;. La probabilidad es de 1/2. La probabilidad es de 1/3. La probabilidad es de 2. Dada la siguiente aserción assert property (@(negedge clk) a==2 |-> a==2 ##1 a==4); y suponiendo que los valores muestreados de "a" en los sucesivos ciclos "c" (en el flanco de bajada) son a: 2 4 2 2 4 c: 0 1 2 3 4 indicad en qué ciclo o ciclos se produce el fallo de la aserción. En los ciclos 1,3 y 4. En los ciclo 3. En los ciclos 1 , 2 y 4. Indicad cual de las siguientes aserciones serviría para comprobar el funcionamiento de la operación de lectura de una memoria RAM de doble puerto que tiene la siguiente descripción: module RAM_DP #(parameter mem_depth=32, parameter size=8) ( input [size-1:0] data_in, input wren,clock,rden, input [$clog2(mem_depth-1)-1:0] wraddress, input [$clog2(mem_depth-1)-1:0] rdaddress, output logic [size-1:0] data_out ); logic [size-1:0] mem [mem_depth-1 :0]; always_ff @(posedge clock) begin if (wren==1'b1) mem[wraddress]<=data_in; data_out<=mem[rdaddress]; end endmodule. operacion_lectura: assert property (@(posedge clock) !stable(rdaddress)|->lectura); sequence lectura; logic [7:0] aux; (1, aux=mem[rdaddress]) ##1 (data_out===aux) ; endsequence. operacion_lectura: assert property (@(posedge clock) rden|->lectura); sequence lectura; logic [7:0] aux; (1, aux=mem[rdaddress]) ##1 (data_out===aux) ; endsequence. operacion_lectura: assert property (@(posedge clock) !stable(rdaddress)&&!wren|->lectura); sequence lectura; logic [7:0] aux; (1, aux=mem[rdaddress]) ##1 (data_out===aux) ; endsequence. Indicad cual de las siguientes afirmaciones es FALSA con respecto a la siguiente aserción: assert property (@(negedge clk) req |-> ##1 grant). En cualquier ciclo si req ==1'b1 la aserción falla si grant==1'b1 en el siguiente ciclo. En cualquier ciclo si req ==1'b1 la aserción falla si grant==1'b0 en el siguiente ciclo. En cualquier ciclo si req ==1'b0 la aserción es abortada. Indicad cual de las siguientes afirmaciones es FALSA. La construcción "interface" apenas es utilizada en la elaboración de bancos de pruebas porque no permite la interconexión de un "program" con un modulo objeto de verificación (DUV). La construcción "interface" es la incorporación más relevante del systemVerilog a la descripción estructural. La construcción "interface" puede tener varios puntos de vista: Master/slave, transmisor/receptor,etc Esto puede ser especificado mediante “modports". Indicar cual será el valor final del reg C : initial begin A=1'b0; B=1'b1; C=1'bX; D=1’b0; fork #10 A = B; #5 B =1'b0; C = A | B; join end. 1'b0. 1'b1. 1'bX. Indicad cual de las siguientes aserciones serviría para comprobar el funcionamiento de un contador síncrono de 8 bits que dispone de una señal denominada "incr" activa a nivel alto que habilita el incremento del contador y una señal de reset asincrono activa a nivel bajo denominada "reset_n". modo_incremento: assert property (@(posedge CLOCK) disable iff(reset_n===1'bx || reset_n==1'b0) incr |->contar); sequence contar; logic [7:0] aux; (1, aux=count) ##1 (count==aux+1); endsequence. modo_incremento: assert property (@(posedge CLOCK) disable iff(reset_n!=1'b1) incr |->contar); sequence contar; logic [7:0] aux; (1, aux=count) ##1 (count==aux+1'b1); endsequence. modo_incremento: assert property (@(posedge CLOCK) disable iff(reset_n===1'bx) incr |=>contar); sequence contar; logic [7:0] aux; (1, aux=count) ##1 (count==aux+1); endsequence. Dada la siguiente descripción SystemVerilog indicar cuantos flip-flops se sintetizarán cuando dicha descripción sea compilada. module regdesp (PL, RST, ENSERIE, CLOCK, ENPARA, SALSERIE); input PL; input RST; input ENSERIE; input CLOCK; input[3:0] ENPARA; output SALSERIE; logic SALSERIE; logic [3:0] SHIFT; always_ff @(posedge CLOCK or negedge RST) if (!RST) SHIFT = 4'b0000 ; else if (!PL) SHIFT = ENPARA ; else begin SHIFT[3] = ENSERIE ; begin : xhdl_0 integer i; for(i = 0; i < 3; i = i + 1) begin : DESPLAZAR SHIFT[i] = SHIFT[i + 1] ; end end SALSERIE=SHIFT[0]; end endmodule. 3 flip-flops. 4 flip-flops. 5 flip-flops. Un control de tipo Mealy de 6 estados y un datapath que incluye un contador con reset síncrono, un registro de desplazamiento con carga paralelo y reset síncrono, un registro de desplazamiento con carga paralelo, un registro con carga paralelo, un sumador y un restador (podría ser un sumador restador). Un control de tipo Mealy de 6 estados y un datapath que incluye un contador con reset asíncrono, un registro de desplazamiento con carga paralelo y reset asíncrono, un registro de desplazamiento con carga paralelo, un registro con carga paralelo, un sumador y un restador (podría ser un sumador restador). Un control de tipo Mealy de 6 estados y un datapath que incluye un contador con reset síncrono, un registro de desplazamiento con carga paralelo y reset síncrono, un registro de desplazamiento con carga paralelo, un registro con carga paralelo, un sumador y un restador (podría ser un sumador restador) y un multiplicador. Dada la siguiente descripción SystemVerilog, indicad cuantos flip-flops se sintetizarán cuando dicha descripción sea compilada. Depende del "always" que sea procesado en primer lugar. 4 flip-flops. 8 flip-flops. Dada la siguiente descripción SystemVerilog indicar cuantos flip-flops se sintetizarán cuando dicha descripción sea compilada. module regdesp (PL, RST, ENSERIE, CLOCK, ENPARA, SALSERIE); input PL; input RST; input ENSERIE; input CLOCK; input[3:0] ENPARA; output SALSERIE; logic SALSERIE; logic [3:0] SHIFT; always_ff @(posedge CLOCK or negedge RST) if (!RST) SHIFT = 4'b0000 ; else if (!PL) SHIFT = ENPARA ; else begin SHIFT[3] = ENSERIE ; begin : xhdl_0 integer i; for(i = 2; i >= 0; i = i - 1) begin : DESPLAZAR SHIFT[i] = SHIFT[i + 1] ; end end SALSERIE=SHIFT[0]; end endmodule. 1 flip-flop. 4 flip-flops. 5 flip-flops. Queremos realizar una máquina que multiplique dos números de 8 bits por el método de suma y desplazamiento. En un paso determinado del algoritmo es necesario sumar dos registros, A y B. El sumador necesario tiene que aparecer, de forma correcta: En el Control path. En la máquina de Estados. En el Data path. Dado el siguiente circuito sincronizador, se pretende aumentar el tiempo medio entre fallos del mismo, ¿cuál de las siguientes medidas de diseño no implicaría directamente conseguir dicho objetivo?. Elegir uh flip-flop 1 con menor tiempo de hold (th). Disminuir la frecuencia de reloj del sincronizador. Elegir un flip-flop1 con menor tiempo de set-up (tsu). ¿Cúales de los siguientes circuitos no son recomendables para un correcto diseño lógico síncrono?. A y B. B y C. A y C. Realizando el diseño de una placa PCB en el que existe un dispositivo programable de tipo Cyclone II, se verifican problemas de margen de retención en los path procedentes del exterior que van hacia el dispositivo programable. Nuestro jefe nos sugiere utilizar las PLL internas de la Cyclone para eliminar completamente la latencia del dispositivo programable, a lo cual debemos contestar: Si eliminamos la latencia, disminuiremos ese problema. Si eliminamos la latencia, nos quedaremos igual. Si eliminamos la latencia, aumentaremos ese problema. Un tiempo de latencia positivo y grande cuando la FPGA es el destino. No influye sobre el Margen de Retención. Aumenta el Margen de Retención. Reduce el Margen de Retención. Dado el siguiente sincronizador se pretende aumentar el tiempo medio entre fallos del mismo, ¿cuál de las siguientes medidas de diseño implicaría directamente el conseguir dicho objetivo?. Elegir un flip-flop 0 con mayor tiempo de propagación (tffpd). Aumentar la frecuencia de reloj del sincronizador. Elegir un flip-flop 1 con menor tiempo de set-up (tsu). Realizando el diseño de una placa PCB en el que existe un dispositivo programable de tipo Cyclone II, se verifican problemas de margen de retención en los path procedentes del dispositivo programable que van hacia el exterior. Nuestro jefe nos sugiere utilizar las PLL internas de la Cyclone para eliminar completamente la latencia del dispositivo programable, a lo cual debemos contestar: Si eliminamos la latencia, disminuiremos ese problema. Si eliminamos la latencia, nos quedaremos igual. Si eliminamos la latencia, aumentaremos ese problem. En un path registro a registro con skew de reloj nulo... El margen de activación es igual al de retención. El margen de retención es siempre positivo. El margen de retención dependerá del período de reloj. Se conectan flip-flops tipo D en las entradas y en las salidas de una FPGA, del modo que se indica en la figura a continuación: Para el cálculo de tiempos, el entorno de diseño nos ofrece los siguientes datos: Data Delay máximos salidas FPGA: 15 ns tsu(ffd): 3 ns Max.Frec(FPGA): 50 MHz Latencia (FPGA): 2 ns Si introducimos en el punto marcado como 1 una puerta NOT cuyo retardo de propagación (tcomb) es de 2 ns, Si sólo consideramos la parte del diseño que hemos llamado B (FPGA y flip-flop de salida) y suponemos el reloj que llega simultáneamente a los pines de reloj de flip-flops y FPGA, ¿Cuál es la frecuencia máxima de funcionamiento?. 50 MHz. 55 MHz. 45 MHz. La introducción de una etapa de registros que separe los multiplicadores del sumador en el circuito de la Figura nos permitiría obtener: Mayor rendimiento y menor latencia. Menor período mínimo de reloj. Mayor rendimiento. El consumo de potencia de un diseño puede reducirse: A. Aumentando el período de la señal de reloj. B. Aumentando la tensión de alimentación de la FPGA dentro de los márgenes de funcionamiento. C. Utilizando buffers de entrada/salida que tengan unos tiempos de subida y bajada más rápidos para hacer que el tiempo de conmutación sea menor. Indicad cual de las siguientes afirmaciones es FALSA. Los tipos de aserciones son inmediatas y concurrentes. Las aserciones inmediatas pueden ser monociclos y multiciclos. Las aserciones concurrentes pueden ser monociclos y multiciclos. Indicad cual de las siguientes afirmaciones es FALSA. Las aserciones concurrentes pueden ser sin habilitación o con habilitación. Las aserciones sin habilitación pueden ser monociclo o multiciclo. Las aserciones sin habilitación deben ser monociclo. Indicar cual será el valor final del reg C: initial begin A=1'b0; B=1'b1; C=1'bX; D=1’b0; #10 A = B; #5 B <= D; C = A & B; end. 1'b1. 1'bX. 1'b0. Dado el siguiente código, indicad el valor mostrado por el "system task" $display,. module prueba1 (input clk); logic [1:0] mi_variable; default clocking sd @(posedge clk); endclocking:sd initial begin mi_variable=2'd3; fork ##1 mi_variable= 2'd0; ##2 mi_variable=2'd1; ##3 mi_variable=2'd2; join_any $display("mi_varianble=%d",mi_variable); end endmodule. 0. 1. 2. Indicad cual de las siguientes afirmaciones es CIERTA!. La construccion "program" de systemverilog muestrea sus salidas justo antes del flanco activo de reloj y conduce sus entradas justo después de dicho flanco. La construccion "program" de systemverilog muestrea las salidas del diseño objeto de verificación (DUV) justo antes del flanco activo de reloj y conduce las entradas del DUV justo después de dicho flanco. La construccion "program" de systemverilog muestrea su entradas justo despues del flanco activo de reloj y conduce sus salidas justo antes de dicho flanco. Dada la siguiente descripción systemverilog indicad cual de los siguientes comportamientos de sd.START , md.START y de EMPEZAR (expresados por un cronograma) corresponde a la descripción realizada. `timescale 1ns/1ps program estimulos (input CLK, output logic START ); clocking sd @(posedge CLK); //definimos el clocking de test output #98ns START; endclocking :sd clocking md @(posedge CLK); //definimos el clocking de monitorizacion input #5ns START; endclocking :md default clocking sd; initial begin sd.START <= 1'b0; ##3 sd.START <= 1'b1; ##1 sd.START <= 1'b0; ##2 ; #10 $stop; end endprogram module prueba_examen_2(); reg CLK; logic EMPEZAR; initial begin CLK = 1'b0; forever #50 CLK=!CLK; end estimulos estim1 (.START(EMPEZAR), .CLK); //instanciacion del program endmodule. A. B. C. ¿Cual es la probabilidad de tener que a=1 cuando aplicamos la aleatorización con randomize? class id; rand bit a; rand bit [7:0] b; constraint c1 { a==1 ->b==0;} endclass;. La probabilidad es de 1/257. La probabilidad es de 1. La probabilidad es de 1/256. Indicad cual de las siguientes afirmaciones es CIERTA con respecto a la siguiente aserción: assert property (@(negedge clk) a!=3). Es una aserción concurrente con habilitación. Es una aserción concurrente sin habilitación. Es una aserción inmediata sin habilitación. Dada la siguiente comportamiento temporal c: 0 1 2 3 4 5 6 7 8 9 r: 0 1 1 1 1 1 0 0 0 0 g: 0 0 0 0 1 1 1 1 1 1 indicad que tipo de aserción fallaría. assert property((@negedge clk) rose(r)|−>(!g[∗2: ]##1 g) or (r [*2:$] ##1 !r)). assert property((@negedge clk) rose(r)|−>(!g[∗2: ] ##1 g) and (r [*2:$] ##1 !r)). assert property((@negedge clk) rose(r)|−>(!g[∗2: ]##1 g) intersect (r [*2:$] ##1 !r)). Dada la siguiente aserción assert property (@(negedge clk) a==2 |-> a==2 ##1 a==4); y suponiendo que los valores muestreados de "a" en los sucesivos ciclos "c" (en el flanco de bajada) son a: 2 4 2 2 4 c: 0 1 2 3 4 indicad en qué ciclo o ciclos se produce el fallo de la aserción. En los ciclos 1 , 2 y 4. En los ciclos 1,3 y 4. En los ciclo 3. Dada la siguiente descripción SystemVerilog indicar cuantos flip-flops se sintetizarán cuando dicha descripción sea compilada. module regdesp (PL, RST, ENSERIE, CLOCK, ENPARA, SALSERIE); input PL; input RST; input ENSERIE; input CLOCK; input[3:0] ENPARA; output SALSERIE; logic SALSERIE; logic [3:0] SHIFT; always_ff @(posedge CLOCK or negedge RST) if (!RST) SHIFT <= 4'b0000 ; else if (!PL) SHIFT <= ENPARA ; else begin SHIFT[3] <= ENSERIE ; begin : xhdl_0 integer i; for(i = 2; i >= 0; i = i - 1) begin : DESPLAZAR SHIFT[i] <= SHIFT[i + 1] ; end end end assign SALSERIE=SHIFT[0]; endmodule. Un flip-flop. 4 flip-flops. 5 flip-flops. Dada la siguiente descripción verilog/systemverilog , indicad el número de flip-flops que se sintetizarán module (input clk, input [3:0] next_state, output [3:0] salida); reg [3:0] curr_state,temp; always @(posedge clk) temp=next_state; always @(posedge clk) curr_state=temp; assign salida=curr_state; endmodule. 4 flip-flops. 8 flip-flops. Depende del "always" procesado en primer lugar. Dada la siguiente descripción verilog/systemverilog, indicad que se sintetizará module prueba1( input A,B, output logic salida); logic temp; always_comb begin salida=temp; temp=~(A&B); end endmodule. Sintetiza un latch tipo RS NAND en el que las entradas son A y B. una puerta NAND en el que las entradas son A y B. No es un circuito combinacional puro y no se puede sintetizar. ¿Cuáles de las siguientes descripciones provoca la inferencia de latches al sintetizar? DESCRIPCIÓN A always @(entrada) casex (entrada) 4'bxxx1: aux=2'b00; 4'bxx1x: aux=2'b01; 4'bx1xx: aux=2'b10; 4'b1xxx: aux=2'b11; endcase DESCRIPCIÓN B always @(entrada) case (entrada) 4'b0001: aux=2'b00; 4'b0010: aux=2'b01; 4'b0100: aux=2'b10; 4'b1000: aux=2'b11; default: ; endcase DESCRIPCIÓN C always @(entrada) casex (entrada) 4'bxxx1: aux=2'b00; 4'bxx10: aux=2'b01; 4'bx100: aux=2'b10; 4'b1000: aux=2'b11; default: aux=2' bx; endcase. DESCRIPCIONES A y B ÚNICAMENTE. DESCRIPCIONES B y C ÚNICAMENTE. DESCRIPCIONES A y C ÚNICAMENTE. ¿Cuál de estas arquitecturas representa el hardware descrito por el código SystemVerilog mostrado? module prueba1(Z,A,B,C,D, CLK); output Z; input A,B,C,D,CLK; reg X,Y,Z; always_ff@(posedge CLK) begin X<= A+B; Y<= C+D; Z<= X+Y; end endmodule. Arquitectura de respuesta A. Arquitectura de respuesta B. Arquitectura de respuesta C. Suponiendo que nuestro data-path puede funcionar a 50 MHz y el control-path a 50 MHz. ¿Qué tipos de máquinas de estados en la implementación del control-path permitirán garantizarnos que el diseño total obtendrá una frecuencia máxima de operación cercana a 50 MHz cuando realizamos la unión del control-path y data-path en un nivel jerárquico superior?. Máquinas Mealy. Ninguna de las dos nos lo puede garantizar. Hay nuevos path que pueden reducir la frecuencia del top y este hecho es independiente del tipo de máquina utilizado. Máquinas Moore. Un tiempo de latencia positivo y grande cuando la FPGA es el destino. Aumenta el Margen de Retención. No influye sobre el Margen de Retención. Reduce el Margen de Retención. Indicar cual de las siguientes afirmaciones es FALSA. El margen de retención es independiente de la frecuencia de reloj del sistema. Los path combinacionales entre registros se delimitan en su valor máximo por el margen de retención. Los path combinacionales entre registros se delimitan en su valor mínimo por el margen de retención. Se conectan flip-flops tipo D en las entradas y en las salidas de una FPGA, del modo que se indica en la figura a continuación: Para el cálculo de tiempos, el entorno de diseño nos ofrece los siguientes datos: Data Delay máximos entradas FPGA: 21 ns tffpd: 5 ns Max.Frec(FPGA): 50 MHz Latencia (FPGA): 2 ns tsu(ffd internos FPGA): 1 ns Si sólo consideramos la parte del diseño que hemos llamado A (Flip-Flop de entrada y FPGA) y suponemos el reloj que llega simultáneamente a los pines de reloj de flip-flops y FPGA, ¿Cuál es la frecuencia máxima de funcionamiento?. 40 MHz. 44 MHz. 50 MHz. A la vista del esquema anterior, cuál sería el máximo skew de reloj entre CLK2 y CLK1 que garantizaría un margen de setup de 3 ns, teniendo en cuenta que tco-FF = 5 – 7 ns, tG = 3 – 5 ns, tsu-FF = 4ns y la frecuencia de reloj es de 40 MHz. 6 ns. 10 ns. Ninguna de las otras respuestas es correcta. El análisis de temporización estático... Es una estimación para señales de entrada que no varían con el tiempo. Puede dar como resultado una frecuencia de operación máxima inferior a la real. Requiere de un testbench con estímulos de entrada adecuados. Un tiempo de latencia positivo y grande cuando la FPGA es el destino. No influye sobre el Margen de Activación. Reduce el Margen de Activación. Aumenta el Margen de Activación. El skew de reloj... Puede utilizarse para mejorar los márgenes de setup y hold simultáneamente. Debe ser nulo en un diseño síncrono. Puede ser compensando tanto dentro como fuera de la FPGA. En una implementación segmentada sin dependencias entre etapas, la latencia en ciclos de reloj... Es igual que la profundidad de la segmentación. Es menor que la profundidad de la segmentación. Es mayor que la profundidad de la segmentación. Dado el siguiente ASM para la realización de la multiplicación de 2 operandos de 4 bits mediante el algoritmo de both, indicad cual de las siguientes afirmaciones el CIERTA. La solución tiene un rendimiento de 1 muestra/ 9 ciclos y una latencia de 9 ciclos. La solución tiene un rendimiento de 1 muestra/ 8 ciclos y una latencia de 8 ciclos. La solución tiene un rendimiento de 1 muestra/ 1 ciclo y una latencia de 8 ciclos. |





