甚高密度脂蛋白 这篇文章介绍了一个8位比较器的代码。 74F521是一个8位身份比较器,如果有两个8位输入,则提供低输出 are matched.
以下是真相表和 比较器 .

真相表

比较器的逻辑符号

逻辑图(来自 74L521数据表 )
甚高密度脂蛋白 比较器的代码:
library IEEE; use IEEE.STD_LOGIC_1164.ALL;
-- 甚高密度脂蛋白 project: 甚高密度脂蛋白 code for 比较器
-- fpga4student.com FPGA projects, Verilog projects, 甚高密度脂蛋白 projects
实体 比较器 是
港口 (
时钟 : 在 std_logic ;
-同步时钟
A,B : 在 std_logic _vector (7 向下 0 );
-两个输入
IAB : 在 std_logic ; -扩展输入(低电平有效)
输出量 : 出 std_logic -当A = B时输出= 0
);
结束 比较器 ;
建筑 行为的 的 比较器 是
信号 AB : std_logic _vector (7 向下 0 ); -临时变量
信号 结果 : std_logic ;
开始
AB ( 0) <= ( 不 一种( 0 )) 异或 ( 不 B( 0 ));
-组合电路
AB ( 1) <= ( 不 一种( 1 )) 异或 ( 不 B( 1 ));
AB ( 2) <= ( 不 一种( 2 )) 异或 ( 不 B( 2 ));
AB ( 3) <= ( 不 一种( 3 )) 异或 ( 不 B( 3 ));
AB ( 4) <= ( 不 一种( 4 )) 异或 ( 不 B( 4 ));
AB ( 5) <= ( 不 一种( 5 )) 异或 ( 不 B( 5 ));
AB ( 6) <= ( 不 一种( 6 )) 异或 ( 不 B( 6 ));
AB ( 7) <= ( 不 一种( 7 )) 异或 ( 不 B( 7 ));
-fpga4student.com FPGA项目,Verilog项目,VHDL项目
处理 (时钟)
开始
如果 (rising_edge(clock)) 然后
如果 (AB = x “ FF” 和 IAB = '0') 然后
-检查A = B且IAB = 0
结果 <= '0';
其他
结果 <= '1';
结束 如果 ;
结束 如果 ;
结束 处理 ;
输出量 <= 结果;
结束 行为的 ;
测试台VHDL 比较器的代码:
-------------------------------------------------------------------- LIBRARY ieee; USE ieee.std_logic_1164.ALL; -fpga4student.com FPGA项目,Verilog项目,VHDL项目 -- 甚高密度脂蛋白 project: 甚高密度脂蛋白 code for 比较器 ENTITY tb_comparator IS END tb_comparator; ARCHITECTURE behavior OF tb_comparator IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT 比较器 PORT( 时钟 : IN std_logic ; A : IN std_logic _vector (7 向下 0 ); B : IN std_logic _vector (7 向下 0 ); IAB : IN std_logic ; 输出量 : OUT std_logic ); END COMPONENT; --Inputs 信号 时钟 : std_logic := '0'; 信号 A : std_logic _vector (7 向下 0) := (others => '0' ); 信号 B : std_logic _vector (7 向下 0) := (others => '0' ); 信号 IAB : std_logic := '0'; --Outputs 信号 输出量 : std_logic ; -- Clock period definitions constant 时钟 _period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: 比较器 PORT MAP ( 时钟 => 时钟 , A => A, B => B, IAB => IAB , 输出量 => 输出量 ); -- Clock 处理 definitions 时钟 _process : 处理 开始 时钟 <= '0'; wait for 时钟 _period/2; 时钟 <= '1'; wait for 时钟 _period/2; 结束 处理 ; -- Stimulus 处理 stim_proc: 处理 开始 -- hold reset state for 100 ns. wait for 100 ns; A <= x"AA"; B <= x"BB"; wait for 时钟 _period*10; B <= x"AA"; -- 在 sert stimulus here wait; 结束 处理 ; -fpga4student.com FPGA项目,Verilog项目,VHDL项目 END;
比较器的仿真波形:

Recommended 甚高密度脂蛋白 projects:
1. 什么是FPGA? 甚高密度脂蛋白如何在FPGA上工作
2. 甚高密度脂蛋白 code for FIFO memory
3. 甚高密度脂蛋白 code for FIR Filter
4. 8位微控制器的VHDL代码
5. 矩阵乘法的VHDL代码
6. 开关尾环计数器的VHDL代码
7. FPGA上数字闹钟的VHDL代码
8. 8位比较器的VHDL代码
9. 如何使用VHDL将文本文件加载到FPGA中
10。 甚高密度脂蛋白 code for D Flip Flop
11。 甚高密度脂蛋白 code for Full Adder
12 具有可变占空比的VHDL中的PWM发生器
13 甚高密度脂蛋白 code for ALU
14。 带测试平台的计数器的VHDL代码
15 甚高密度脂蛋白 code for 16-bit ALU
16。 Shifter Design 在 甚高密度脂蛋白
17。 甚高密度脂蛋白中的非线性查找表实现
18岁 甚高密度脂蛋白中的密码协处理器设计
1. 什么是FPGA? 甚高密度脂蛋白如何在FPGA上工作
2. 甚高密度脂蛋白 code for FIFO memory
3. 甚高密度脂蛋白 code for FIR Filter
4. 8位微控制器的VHDL代码
5. 矩阵乘法的VHDL代码
6. 开关尾环计数器的VHDL代码
7. FPGA上数字闹钟的VHDL代码
8. 8位比较器的VHDL代码
9. 如何使用VHDL将文本文件加载到FPGA中
10。 甚高密度脂蛋白 code for D Flip Flop
11。 甚高密度脂蛋白 code for Full Adder
12 具有可变占空比的VHDL中的PWM发生器
13 甚高密度脂蛋白 code for ALU
14。 带测试平台的计数器的VHDL代码
15 甚高密度脂蛋白 code for 16-bit ALU
16。 Shifter Design 在 甚高密度脂蛋白
17。 甚高密度脂蛋白中的非线性查找表实现
18岁 甚高密度脂蛋白中的密码协处理器设计
没意见:
发表评论