素数检测器的设计与仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

素数检测器的设计与仿真
1.实验目的
用逻辑图和VHDL语言设计素数检测器。

2.实验内容的详细说明
2.1.设计思想
先定义一个4位的二进制输入组合N=N3N2N1N0和一个输出F,当N=1、2、3、5、7、11、13时该函数输出为1,其他情况为0。

方法一是采用选择信号赋值的方法;方法二是采用基于进程的方法,
2.2.实验原理
2.2.1素数检测器逻辑图
素数检测器逻辑图
2.2.2素数检测器真值表
2.3VHDL程序(详见附录1)
2.4仿真结果
画图-功能仿真波形图
VHDL方法一功能仿真波形图
VHDL方法二功能仿真波形图
3.实验总结:
通过本次实验,我对素数检测器的功能有进一步的了解,也学会了用不同的方法来描述,对VHDL的结构体编写的各种方法更加熟悉。

4.附录1(VHDL程序)
4.1 方法一
library IEEE;
use IEEE.std_logic_1164.all;
entity prime is
port ( N: in STD_LOGIC_VECTOR (3 downto 0);
F: out STD_LOGIC );
end prime;
architecture prime1_arch of prime is
begin
with N select
F <= '1' when "0001" | "0010" | "0011" | "0101" | "0111" | "1011" | "1101",
'0' when others;
end prime1_arch;
4.2 方法二
library IEEE;
use IEEE.std_logic_1164.all;
entity prime is
port ( N: in STD_LOGIC_VECTOR (3 downto 0);
F: out STD_LOGIC );
end prime;
architecture prime2_arch of prime is
begin
process(N)
variable N3L_N0,N3L_N2L_N1,N2L_N1_N0 ,N2_N1L_N0: STD_LOGIC; begin
N3L_N0 := not N(3) and N(0);
N3L_N2L_N1 := not N(3) and not N(2) and N(1) and N(0);
N2L_N1_N0 := not N(2) and N(1) and N(0);
N2_N1L_N0 := N(2) and not N(1) and N(0);
F <= N3L_N0 or N3L_N2L_N1 or N2L_N1_N0 or N2_N1L_N0;
end process;
end prime2_arch;。

相关文档
最新文档