⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqrt_01.vhd

📁 this code calculates square root of a 16 bit number
💻 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 + -