| 
	
		|  Autor | Tema: Ayuda con comparador num. de 3 bits  (Leído 5,974 veces) |  
	| 
			| 
					
						| dakaiz 
								Visitante   | 
 
Wenas, a ver si podeis echarme una mano con este circuito.  Hay que comparar dos numeros de 3 bits. Para ello resto un numero al otro . Y en funcion del resultado o son iguales, o uno es mayor que el otro.  La cosa es que no me sale, a ver si podeis echarme una mano. Este es el circuito:  
 
 |  
						| 
								|  |  
								| « Última modificación: 18 Enero 2006, 22:50 pm por dakaiz » |  En línea | 
 
 |  |  |  | 
			| 
					
						| dakaiz 
								Visitante   | 
 
Weno, ya he conseguido que funcione para mostrar cuando los dos numeros son iguales, a ver si me podeis ayudar para cuando un numero es mayor que otro. El circuito queda así: 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| jackson.link 
								
								 Desconectado 
								Mensajes: 30
								
								   | 
 
Hola. Bueno me parece excelente el metodo elegido para resolve el problema de la comparacion, sin embargo, creo q has tenido problemas en la implementacion porq no esta claro el concepto de las tecnicas o metodos q existen para la resta binaria. Aqui te envio unas reglas practicas para q puedas desarrolar un mejor concepto y lograr un circuito mas eficiente:
 Regla pr´actica: Para obtener el complemento a dos de un n´umero se procede de la siguiente manera:
 empezando desde el extremo derecho y hacia la izquierda del n´umero, se procede a escribir todos los bits
 hasta el primer bit 1 que se encuentre, a partir de all´ý todos los otros bits se cambian por su complemento.
 Como ejemplo encontremos el complemento a dos de X = 011101110010. De acuerdo a la regla
 pr´actica tenemos que escribir el 0 del extremo derecho y el primer 1 y luego complementar todos los
 dem´as, por tanto tenemos:
 C2 = 100010001110
 Como segundo ejemplo obtengamos el complemento a dos de Y = 1000101. De acuerdo a la regla
 pr´actica tendremos que solamente el 1 del extremo derecho se mantiene y todos los dem´as se cambian
 por su complemento, entonces el resultado es:
 C2 = 0111011
 A partir del conocimiento de este formato podemos realizar sumas y restas binarias de n´umeros positivos
 y negativos. Se muestran los mismos cuatro casos utilizados en el ejemplo anterior para ilustrar las
 posibilidades que se pueden encontrar al sumar o restar dos n´umeros binarios. El primer ejemplo muestra
 la adici´on de dos n´umeros positivos, 4 y 3.
 0100 + 0011 = 0111
 En otras palabras +7. El segundo ejemplo muestra la suma de 4 y −3 (este ´ultimo en formato de
 complemento a dos).
 0100 + 1101 = 10001
 En este caso el resultado sobrepasa el n´umero de bits permitidos, el bit en exceso es ignorado y solo los
 bits rest´antes forman el resultado.
 0001
 En el tercer ejemplo sumamos −4 a 3.
 1100 + 0011 = 1111
 Que nos da la representaci´on en complemento a dos de −1. El ´ultimo ejemplo muestra la suma de −4 y
 −3.
 1100 + 1101 = 11001
 Nuevamente se produce un bit en exceso, el cual es ignorado teniendo como resultado el complemento a
 dos de −7.
 1001
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 ....este............viva el gb????..xD!!! |  |  |  | 
			| 
					
						| jackson.link 
								
								 Desconectado 
								Mensajes: 30
								
								   | 
 
Con estas reglas practicas podrias hacer un circuito mas eficiente. Sin embargo, me tome la molestia de evaluar las posibildades de los resultados generados por tu circuito tal y como estaba. Puesto que me parecio interesante y aqui presento mis resultados. Espero te sirvan.
 Segun se observa en el circuito, tenemos 2 numero de 3 bits a comparar, osea de 0 a 7. Uno de niega, es decir el complementa a 8, luego se suman ambos junto con un 1 inicial (A mi parecer aquí esta la confusion). Entonces para las diferentes posibilidades llamemos N1 al numero q se ingresa sin negar y N2 al numero q se ingfresa y se niega.
 Se considera un numero de salida de 4 bits (suma mas acarreo), con lo q se llega a obtener del 0 al 15.
 
 N1   N2        N2(negado)     Z
 0   0   7   8   igual
 0   1--7   6--0   7--1   mayores
 
 1   0   7   9   menores
 1   1   6   8   igual
 1   2--7   5--0   7,2   mayores
 
 2   0--1   7--6   10--9   menores
 2   2   5   8   igual
 2   3--7   4--0   7--3   mayores
 
 3   0--2   7--5   11--9   menores
 3   3   4   8   igual
 3   4--7   3--0   7--4   mayores
 
 4   0--3   7--4   12--9   menores
 4   4   3   8   igual
 4   5--7   2--0   7--5   mayores
 
 5   0--4   7--3   13--9   menores
 5   5   2   8   igual
 5   6--7   1--0   7--6   mayores
 
 6   0--5   7--2   14--9   menores
 6   6   1   8   igual
 6   7   0   7   mayores
 
 7   0--6   7--1   15--9   menores
 7   7   0   8   igual
 
 De la tabla, podemos decir que cada vez q es igual se obtiene 8 en la salida y para cuando es mayor N2 se obtienen numeros del 7 al 1. Asimismo, cuando N2 es menor se obtienen numeros del 9 al 15.
 Se debe notar q nunk se obtendra 0 ya que siempre se suma un 1 inicial, por lo que el resultado variara de 1 a 15.
 
 Luego de este analisis, podemos establecer la siguiente tabla:
 MAYOR   MENOR   IGUAL
 0   x   x   x
 1   1   0   0
 2   1   0   0
 3   1   0   0
 4   1   0   0
 5   1   0   0
 6   1   0   0
 7   1   0   0
 8   0   0   1
 9   0   1   0
 10   0   1   0
 11   0   1   0
 12   0   1   0
 13   0   1   0
 14   0   1   0
 15   0   1   0
 
 Con esto podemos obtener que:
 MAYOR=A*                            N2>N1
 MENOR=A(B+C+D)                 N2<N1
 IGUAL=B*.C*.D*                    N2=N1
 A*=variable A negada
 
 Donde A es MSB y D es LSB
 
 Bueno, espero haberte ayudado y disculpa la falta de acentos en la redaccion, es que soy un poco flojo, jejeje. Tambien disculpa lo largo de la respuesta , hubiera posteado con imagenes pero no se manejar los codigos y esas cosas. Bueno cuidate byes.
 |  
						| 
								|  |  
								|  |  En línea | 
 
 ....este............viva el gb????..xD!!! |  |  |  | 
			| 
					
						| Bastian 
								
								 Desconectado 
								Mensajes: 97
								
								 
								El conocimiento es el arma mas poderosa.. APRENDE!
								
								
								
								
								
								   | 
 
Hola! y no es mas facil montar esto:  El 7485 es un circuito comparador de numeros de 4 bits lo montas dejando a nivel bajo las entradas de mayor peso y a funcionar. Si lo tienes que hacer con puertas... la historia es otra, pero te recomiendo que empieces a comparar por el bit de mayor peso.... si son distintos ya sabras cual es mayor, si no comparas el siguiente...... voy a buscar el esquema y si lo encuentro lo pongo Salu2! |  
						| 
								|  |  
								|  |  En línea | 
 
 Un gobierno no debe movilizar un ejército por ira, y los jefes militares no deben provocar la guerra por cólera.Sun Tzu:"El arte de la guerra"
 
 Escrito hace 3000 años y algunos aun no lo saben!
 
 Por cierto ...... escribir bien no cuesta una P*** M*****
 |  |  |  | 
			| 
					
						| dog12 
								
								 Desconectado 
								Mensajes: 4
								
								
								
								
								
								   | 
 
Hola! y no es mas facil montar esto:  El 7485 es un circuito comparador de numeros de 4 bits lo montas dejando a nivel bajo las entradas de mayor peso y a funcionar. Si lo tienes que hacer con puertas... la historia es otra, pero te recomiendo que empieces a comparar por el bit de mayor peso.... si son distintos ya sabras cual es mayor, si no comparas el siguiente...... voy a buscar el esquema y si lo encuentro lo pongo Salu2!Oye una pregunta de que programa sacaste la imagen es q he bajado varios programas y no me sale ese CI para simular un proyecto q me mandaron a realizar  Gracias |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
   |