Resumen - Desafío de operadores
Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 29 de 90.
Desafío
Completa el código escribiendo las expresiones correctas para cada tarea. Este desafío cubre todos los operadores de este capítulo.
Qué hacer:
- Lógico: Comprueba si tanto
value1comovalue2son distintos de cero, y almacénalo enlogic_out - Reducción: Comprueba si todos los bits de
vectorson 1, y almacénalo enreduction_out - Desplazamiento: Desplaza
dataa la izquierda 2 bits, y almacénalo enshift_out - Concatenación: Combina
highylowen un valor de 8 bits, y almacénalo enconcat_out - Condicional: Almacena el mayor de `a` y `b` en
cond_out
Pruébalo tú mismo
module operator_challenge;
reg [3:0] value1, value2;
reg logic_out;
reg [3:0] vector;
reg reduction_out;
reg [7:0] data;
reg [7:0] shift_out;
reg [3:0] high, low;
reg [7:0] concat_out;
reg [3:0] a, b;
reg [3:0] cond_out;
initial begin
// Lógico
value1 = 4'd6;
value2 = 4'd0;
logic_out = ______; // Verifica si tanto value1 como value2 son distintos de cero
// Reducción
vector = 4'b1111;
reduction_out = ______; // Check if all bits of vector are 1
// Shift
data = 8'b00001111;
shift_out = ______; // Desplaza data a la izquierda 2 bits
// Concatenación
high = 4'b1010;
low = 4'b1100;
concat_out = ______; // Combina high y low en un valor de 8 bits
// Condicional
a = 4'd7;
b = 4'd12;
cond_out = ______; // Almacena el mayor entre `a` y `b`
$display("6 && 0 = %d", logic_out);
$display("&4'b1111 = %d", reduction_out);
$display("00001111 << 2 = %b", shift_out);
$display("{1010, 1100} = %b", concat_out);
$display("max(7, 12) = %d", cond_out);
$finish;
end
endmoduleTodas las lecciones de Fundamentos
1Introducción
¿Qué es Verilog?Hardware vs SoftwareNiveles de abstracción de diseñoTu primer móduloComentarios4Operadores Parte 1
Operadores aritméticosOperador de móduloOperadores de comparaciónRepaso - Matemáticas simplesOperadores bit a bit7Asignación y Compuertas
Asignación ContinuaAsignación con OperadoresPrimitivas de Compuertas IntegradasCompuertas AND OR NOTCompuertas XOR XNORResumen - Circuito de Compuertas Lógicas10Toma de decisiones
Sentencia IfIf - ElseRepaso - Comparador simpleSentencia CaseCasex y CasezRepaso - Diseño de ALU5Operadores Parte 2
Operadores lógicosOperadores de reducciónOperadores de desplazamientoOperador de concatenaciónOperador condicionalResumen - Desafío de operadores3Sistema de numeración
Representación binariaNúmeros con tamaño definidoNúmeros sin tamaño definidoNúmeros negativosValores especiales X y ZResumen - Formatos de números6Módulos
Estructura del móduloPuertos de entrada y salidaPuertos InoutInstanciación de módulosMapeo de puertos por nombreMapeo de puertos por ordenResumen: Construye un módulo