Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mencione tres palabras reservadas que se utilizan en HDL, indicando su función, cada
una con un ejemplo explicado
PROCESS es una sentencia concurrente en el sentido de que todos los PROCESS y todas las demás
sentencias concurrentes se ejecutarán sin un orden establecido. No obstante las sentencias que
hay dentro del PROCESS se ejecutan de forma secuencial.
ENTITY ejemplo IS
PORT (c: IN std_logic;
d: OUT std_logic);
END ENTITY;
bucle1: LOOP
a:=A+1;
b:=20;
bucle2: LOOP
IF b < (a*b) THEN
EXIT bucle2;
END IF;
b:=b+a;
END LOOP bucle2;
EXIT bucle1 WHEN a>10;
END LOOP bucle1;
-- Libreria estandar
library IEEE;
use IEEE.std_logic_1164.all;
entity Compuerta_NAND is
port(
);
end Compuerta_NAND;
begin
end simple;
3. Menciona las familias lógicas y sus características
Familia lógica RTL
- Tensión de alimentación 3v
- Tensión de alimentación 5v
- la velocidad de conmutación, en el caso que estamos considerando viene fijada por: la velocidad
de los dispositivos que la componen y las constantes de tiempo de los circuitos.
Características
- Los transistores nunca se saturan, esto hace que la velocidad de conmutación sea muy alta.
- El flujo de corriente total en el circuito ECL permanece constante, no importa su estado lógico.
Características
- Su tensión de alimentación característica se halla comprendida entre los 4,75V y los 5,25V.
Normalmente TTL trabaja con 5V.
- Los niveles lógicos vienen definidos por el rango de tensión comprendida entre 0,0V y 0,8V para
el estado L (bajo) y los 2,2V y Vcc para el estado H (alto).
- La velocidad de transmisión entre los estados lógicos es su mejor base, si bien esta característica
le hace aumentar su consumo siendo su mayor enemigo. Motivo por el cual han aparecido
diferentes versiones de TTL como FAST, LS, S, etc. y últimamente los CMOS: HC, HCT y HCTLS.
Características
- Alto Fan-out.
- Son amplificadores con un alto ancho de banda y circuitos lógicos con alta velocidad de
conmutación.
Búsqueda lineal
Es el método que recorre el vector desde el primer elemento hasta el último para encontrar un
elemento.
#include <iostream>
using namespace std;
int main()
{
//Declarando variables.
int clave, encontrado, n, i, j;
//Pedir tamaño del arreglo.
cout << "Ingrese dimensión del arreglo: ";
cin >> n;
Búsqueda binaria
En este método se examina primero el elemento central de la lista; si es el elemento buscado,
entonces termina la búsqueda y de no ser así se examina la primera mitad o la segunda mitad de
la lista repitiendo el mismo proceso anterior.
Es importante que el vector donde se va a buscar el elemento se encuentre en un orden
determinado.
//Busqueda binaria
#include <iostream>
#include <conio.h>
int main()
cin>>dato;
inf = 0;
sup = 5;
if(numeros[mitad] == dato){
band = 'V';
break;
sup = mitad;
inf = mitad;
if(band == 'V'){
getch();
return(0);
}
Pilas
Una pila es una estructura de datos, que consta de una serie de datos, en la cual las inserciones y
eliminaciones se hacen por un extremo, llamado cima (top), de la pila. La estructura pila se conoce
como LIFO (last-in, first-out, último en entrar, primero en salir), que significa “último elemento
introducido, primero sacado”.
#include<iostream>
#include<conio.h>
#include<stdlib.h>
struct Nodo{
int dato;
Nodo *siguiente;
};
int main(){
cin>>n1;
agregarPila(pila,n1);
cin>>n2;
agregarPila(pila,n2);
getch();
return 0;
}
void agregarPila(Nodo *&pila,int n){
nuevo_nodo->dato = n;
nuevo_nodo->siguiente = pila;
pila = nuevo_nodo;
Colas
En una cola hay dos extremos, uno es llamado la parte delantera y el otro extremo se llama la
parte trasera de la cola. En una cola, los elementos se retiran por la parte delantera y se agregan
por la parte trasera.
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
struct Nodo {
char dato;
Nodo *siguiente;
};
//Prototipo de funciones
int main() {
menu();
getch ();
return 0;
void menu(){
int opc;
char dato;
do{
cout<<"\t **MENU**\n";
cout<<"3. Salir"<<endl;
cin>>opc;
switch (opc) {
case 1: cout<<"Ingrese un caracter para agregar a la cola: ";
cin>>dato;
insertarCola(inicio,fin,dato);
break;
while(inicio != NULL){
suprimirCola(inicio,fin,dato);
if(inicio != NULL){
cout<<dato<<" , ";
else{
cout<<dato<<" . ";
cout<<"\n";
system ("pause");
break;
case 3: break;
system("cls");
}while(opc != 3);
nuevo_nodo->dato = n;
nuevo_nodo->siguiente = NULL;
if(cola_vacia(inicio)){
inicio = nuevo_nodo;
else{
fin->siguiente = nuevo_nodo;
fin = nuevo_nodo;
n = inicio ->dato;
if (inicio == fin){
inicio = NULL;
fin = NULL;
else {
inicio = inicio->siguiente;
delete aux;
}
Buen día Yerani, espero te encuentres bien.
Me parece que la definición de los algoritmos de búsqueda son correctos aunque es muy
breve la explicación.
Por otro lado en los tipos de listas de hizo falta mencionar los tipos "pilas" y "colas";
además, olvidaste mencionar un ejemplo en lenguaje C++ de cómo funciona tanto los
algotimos de búsqueda como los tipos de listas.
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
struct Nodo {
};
//Prototipo de funciones
int main() {
menu();
return 0;
void menu(){
do{
cin>>opc;
cin>>dato;
insertarCola(inicio,fin,dato);
break;
}
else{
}
}
cout<<"\n";
break;
}
system("cls");
nuevo_nodo->dato = n;
if(cola_vacia(inicio)){
}
else{
}
else {
}