?? sqrt_01.vhd
字號:
library IEEE;use IEEE.STD_LOGIC_1164.All;entity squarerooter isport (A : in Std_Logic_Vector (15 downto 0) ; -- A: Radicand Q : out Std_Logic_Vector (7 downto 0) ; -- Q: Root R : out Std_Logic_Vector (8 downto 0) ) ; -- R: Last remainderend squarerooter;architecture structural of squarerooter issignal logic_zero, logic_one : Std_Logic ;signal P : Std_Logic_Vector (109 downto 0) ; -- internal signalsprocedure SC( signal CO, S : out Std_Logic ; signal R, D, CI, Q : in Std_Logic ) isbegin CO <= (R and D) or (R and CI) or (D and CI) ; S <= R xor ((D xor CI) and Q) ; end SC ;beginlogic_one <= '1' ; logic_zero <= '0' ;-- row 0Q(7) <= P(108) ; P(109) <= not P(108) ;SC ( P(108), P(106), A(15), logic_one, P(107), P(108) ) ;SC ( P(107), P(105), A(14), logic_zero, logic_one, P(108) ) ;-- row 1Q(6) <= P(103) ; P(104) <= not P(103) ;SC ( P(103), P(99), P(106), logic_one, P(102), P(103) ) ;SC ( P(102), P(98), P(105), P(109), P(101), P(103) ) ;SC ( P(101), P(97), A(13), logic_one, P(100), P(103) ) ;SC ( P(100), P(96), A(12), logic_zero, logic_one, P(103) ) ;-- row 2Q(5) <= P(94) ; P(95) <= not P(94) ;SC ( P(94), P(89), P(98), logic_one, P(93), P(94) ) ;SC ( P(93), P(88), P(97), P(109), P(92), P(94) ) ;SC ( P(92), P(87), P(96), P(104), P(91), P(94) ) ;SC ( P(91), P(86), A(11), logic_one, P(90), P(94) ) ;SC ( P(90), P(85), A(10), logic_zero, logic_one, P(94) ) ;-- row 3Q(4) <= P(83) ; P(84) <= not P(83) ;SC ( P(83), P(77), P(88), logic_one, P(82), P(83) ) ;SC ( P(82), P(76), P(87), P(109), P(81), P(83) ) ;SC ( P(81), P(75), P(86), P(104), P(80), P(83) ) ;SC ( P(80), P(74), P(85), P(95), P(79), P(83) ) ;SC ( P(79), P(73), A(9), logic_one, P(78), P(83) ) ;SC ( P(78), P(72), A(8), logic_zero, logic_one, P(83) ) ;-- row 4Q(3) <= P(70) ; P(71) <= not P(70) ;SC ( P(70), P(63), P(76), logic_one, P(69), P(70) ) ;SC ( P(69), P(62), P(75), P(109), P(68), P(70) ) ;SC ( P(68), P(61), P(74), P(104), P(67), P(70) ) ;SC ( P(67), P(60), P(73), P(95), P(66), P(70) ) ;SC ( P(66), P(59), P(72), P(84), P(65), P(70) ) ;SC ( P(65), P(58), A(7), logic_one, P(64), P(70) ) ;SC ( P(64), P(57), A(6), logic_zero, logic_one, P(70) ) ;-- row 5Q(2) <= P(55) ; P(56) <= not P(55) ;SC ( P(55), P(47), P(62), logic_one, P(54), P(55) ) ;SC ( P(54), P(46), P(61), P(109), P(53), P(55) ) ;SC ( P(53), P(45), P(60), P(104), P(52), P(55) ) ;SC ( P(52), P(44), P(59), P(95), P(51), P(55) ) ;SC ( P(51), P(43), P(58), P(84), P(50), P(55) ) ;SC ( P(50), P(42), P(57), P(71), P(49), P(55) ) ;SC ( P(49), P(41), A(5), logic_one, P(48), P(55) ) ;SC ( P(48), P(40), A(4), logic_zero, logic_one, P(55) ) ;-- row 6Q(1) <= P(38) ; P(39) <= not P(38) ;SC ( P(38), P(29), P(46), logic_one, P(37), P(38) ) ;SC ( P(37), P(28), P(45), P(109), P(36), P(38) ) ;SC ( P(36), P(27), P(44), P(104), P(35), P(38) ) ;SC ( P(35), P(26), P(43), P(95), P(34), P(38) ) ;SC ( P(34), P(25), P(42), P(84), P(33), P(38) ) ;SC ( P(33), P(24), P(41), P(71), P(32), P(38) ) ;SC ( P(32), P(23), P(40), P(56), P(31), P(38) ) ;SC ( P(31), P(22), A(3), logic_one, P(30), P(38) ) ;SC ( P(30), P(21), A(2), logic_zero, logic_one, P(38) ) ;-- row 7Q(0) <= P(19) ; P(20) <= not P(19) ;SC ( P(19), P(9), P(28), logic_one, P(18), P(19) ) ;SC ( P(18), P(8), P(27), P(109), P(17), P(19) ) ;SC ( P(17), P(7), P(26), P(104), P(16), P(19) ) ;SC ( P(16), P(6), P(25), P(95), P(15), P(19) ) ;SC ( P(15), P(5), P(24), P(84), P(14), P(19) ) ;SC ( P(14), P(4), P(23), P(71), P(13), P(19) ) ;SC ( P(13), P(3), P(22), P(56), P(12), P(19) ) ;SC ( P(12), P(2), P(21), P(39), P(11), P(19) ) ;SC ( P(11), P(1), A(1), logic_one, P(10), P(19) ) ;SC ( P(10), P(0), A(0), logic_zero, logic_one, P(19) ) ;R <= P(8 downto 0) ; -- output Rend structural ;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -