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

📄 div4_2.vhd

📁 这是一些经典的vhdl example
💻 VHD
字号:
LIBRARY IEEE; 
USE IEEE.STD_LOGIC_1164.ALL; 
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY div4_2 IS 
	PORT(
			numerator	: IN STD_LOGIC_VECTOR (3 DOWNTO 0);   --被除数
			denominator	: IN STD_LOGIC_VECTOR (1 DOWNTO 0);   --除数
			quotient	: OUT BIT_VECTOR (3 DOWNTO 0);        --商
			remainder	: OUT BIT_VECTOR (1 DOWNTO 0)         --余数
      	); 
END div4_2; 
ARCHITECTURE rtl OF div4_2 IS 
	--定义一个存储器
	TYPE rom_table IS ARRAY (0 TO 63) OF BIT_VECTOR(5 DOWNTO 0);      
	SIGNAL rom:  rom_table; 
	SIGNAL temp : BIT_VECTOR (5 DOWNTO 0);
BEGIN 
	--初始化rom
	rom(0) <= "000000"; --0/0
	rom(1) <= "000000"; --0/1
	rom(2) <= "000000"; --0/2
	rom(3) <= "000000"; --0/3
	rom(4) <= "000000"; --1/0
	rom(5) <= "000100"; --1/1
	rom(6) <= "000001"; --1/2 
	rom(7) <= "000001"; --1/3
	rom(8) <= "000000"; --2/0
	rom(9) <= "001000"; --2/1
	rom(10) <= "000100"; --2/2
	rom(11) <= "000010"; --2/3
	rom(12) <= "000000"; --3/0
	rom(13) <= "001100"; --3/1
	rom(14) <= "000101"; --3/2
	rom(15) <= "000100"; --3/3
	rom(16) <= "000000"; --4/0
	rom(17) <= "010000"; --4/1
	rom(18) <= "001000"; --4/2
	rom(19) <= "000101"; --4/3
	rom(20) <= "000000"; --5/0
	rom(21) <= "010100"; --5/1
	rom(22) <= "001001"; --5/2
	rom(23) <= "000110"; --5/3
	rom(24) <= "000000"; --6/0
	rom(25) <= "011000"; --6/1
	rom(26) <= "001100"; --6/2
	rom(27) <= "001000"; --6/3
	rom(28) <= "000000"; --7/0
	rom(29) <= "011100"; --7/1
	rom(30) <= "001101"; --7/2
	rom(31) <= "001001"; --7/3
	rom(32) <= "000000"; --8/0
	rom(33) <= "100000"; --8/1
	rom(34) <= "010000"; --8/2
	rom(35) <= "001010"; --8/3
	rom(36) <= "000000"; --9/0
	rom(37) <= "100100"; --9/1
	rom(38) <= "010001"; --9/2
	rom(39) <= "001100"; --9/3
	rom(40) <= "000000"; --10/0
	rom(41) <= "101000"; --10/1
	rom(42) <= "010100"; --10/2
	rom(43) <= "001101"; --10/3
	rom(44) <= "000000"; --11/0
	rom(45) <= "101100"; --11/1
	rom(46) <= "010101"; --11/2
	rom(47) <= "001110"; --11/3
	rom(48) <= "000000"; --12/0
	rom(49) <= "110000"; --12/1
	rom(50) <= "011000"; --12/2
	rom(51) <= "010000"; --12/3
	rom(52) <= "000000"; --13/0
	rom(53) <= "110100"; --13/1
	rom(54) <= "011001"; --13/2
	rom(55) <= "010001"; --13/3
	rom(56) <= "000000"; --14/0
	rom(57) <= "111000"; --14/1
	rom(58) <= "011100"; --14/2
	rom(59) <= "010010"; --14/3
	rom(60) <= "000000"; --15/0
	rom(61) <= "111100"; --15/1
	rom(62) <= "011101"; --15/2
	rom(63) <= "010100";  --15/3
	--查表得出结果
	temp <= rom(CONV_INTEGER(numerator & denominator));
	quotient <= temp(5 DOWNTO 2);
	remainder <= temp(1 DOWNTO 0); 
END rtl; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -