Los dos algoritmos clsicos de raz cuadrada, sqrt, se
muestran a continuacin. El primero es el algoritmo
de aproximacin iterativo, seguido por el algoritmo secuencial modelado despus el algoritmo de divisin binaria no restauracin. La teora bsica se muestra en el ejemplo decimal final.
Para calculary = sqrt(x) (x>=0, convergencia cuadrtica
iterativo) if x = 0 then return x (IEEE, math: return 0)
y = 1.0 ( cualquier conjetura razonable >0)
y1 = 0
while abs(y-y1)>tolerance ( cualquier tolerancia razonable>0)
y1 = y
y = (y + x/y)/2
end while
return y
Para calcular = sqrt(x) (x>=0 demostracion en binario)
1 0 1 let x=11010 26 decimal
+--------- elegir 1 cuadrada, restar, mantener si positive ) 01 10 10 cambiar dos bits a la vez -01 restar el cuadrado ------ 0 10 -1 01 sqrt so far with 01 appended -------- no subtract because result would be negative 10 10 -10 01 sqrt so far with 01 appended ------ 1 En lgica digital, el algoritmo de la raiz para nmeros de n bits: requiere pasos secuenciales de n/2 o requiere subtractors paralelo n/2 1 7 7. 2 ------------- ) 03 14 15.92 -01 square 1*1 ------ 1*20 = 20 (20 is base ten times 2) 2 14 need x (20+x)*x<214 x=7 -1.89 (20+7)*7=189 ------- so far, 17*20 = 340 25 15 need (340+x)*x<2515 x=7 -24 29 (340+7)7*7=2429 ------- so far, 177*20 = 3540 86 92 need (3540+x)*x<8692 x=2 -70 84 (3540+2)*2=7084 ----- 16 08
(Tenga en cuenta que el binario es ms fcil porque
20 se convierte en 4, dos Coloque shift y x siempre se ha probado como un 1, 01 posicionalmente)
Este ejemplo muestra cmo un componente del Sm
se codifica directamente en VHDL como declaraciones concurrentes. El multiplexor es codificado como una sola sentencia "cuando". "Sm" es mnemnica para multiplexor subtractor. El circuito general que un entero de 8 bits de entradas y salidas de una raz cuadrada de enteros de 4 bits utiliza muchas copias de los componentes del Sm. Este circuito utiliza el mtodo de "entidad" de instancias copias de un componente. El "mapa de puerto" es la asignacin de parmetros actuales a los parmetros formales en la entidad de Sm. La teora de operacin se describe en sqrt.txt y wikipedia