JINGGANGSHAN UNIVERSITY 《EDA技术》课程作业
学院:电子与信息工程学院专业:电子信息科学与技术姓名:
班级:11电专
学号:
指导老师:过继红
目录
Quartus II设计作业(实验一)................................................................ 错误!未定义书签。
实验名称:3-8译码器.......................................................................... 错误!未定义书签。Quartus II设计作业(实验二)................................................................ 错误!未定义书签。
实验名称:四选一多路选择器............................................................. 错误!未定义书签。Quartus II设计作业(实验三)................................................................ 错误!未定义书签。
实验名称:十进制加法计数器............................................................. 错误!未定义书签。Quartus II设计作业(实验四)................................................................ 错误!未定义书签。
实验名称:LPM计数器模块使用方法.................................................. 错误!未定义书签。Quartus II设计作业(实验五)................................................................ 错误!未定义书签。
实验名称:ADC0809 采样状态机......................................................... 错误!未定义书签。Quartus II设计作业(实验六)................................................................ 错误!未定义书签。
实验名称:序列检测器设计................................................................. 错误!未定义书签。Quartus II设计作业(实验七)................................................................ 错误!未定义书签。
实验名称:八位乘法累加器................................................................. 错误!未定义书签。Quartus II设计作业(实验八)................................................................ 错误!未定义书签。
实验名称:全加器................................................................................. 错误!未定义书签。Quartus II设计作业(实验九)................................................................ 错误!未定义书签。
实验名称:LPM随机存储器的设置和使用.......................................... 错误!未定义书签。Quartus II设计作业(实验十)................................................................ 错误!未定义书签。
实验名称:LPM_ROM的定制和使用范例.............................................. 错误!未定义书签。Quartus II设计作业(实验十一)............................................................ 错误!未定义书签。
实验名称:LPM嵌入式锁相环调用...................................................... 错误!未定义书签。Quartus II设计作业(实验十二)............................................................ 错误!未定义书签。
实验名称:FIFO定制............................................................................ 错误!未定义书签。Quartus II设计作业(实验十三)............................................................ 错误!未定义书签。
实验名称:NCO核数控振荡器使用方法.............................................. 错误!未定义书签。Quartus II设计作业(实验十四)............................................................ 错误!未定义书签。
实验名称:使用IP core 设计FIR滤波器........................................ 错误!未定义书签。Quartus II设计作业(实验十五)............................................................ 错误!未定义书签。
实验名称:二选一数据选择器............................................................. 错误!未定义书签。Quartus II设计作业(实验十六)............................................................ 错误!未定义书签。
实验名称:状态机图形编辑设计......................................................... 错误!未定义书签。Quartus II设计作业(实验十七)............................................................ 错误!未定义书签。
实验名称:时钟..................................................................................... 错误!未定义书签。Quartus II设计作业(实验十八)............................................................ 错误!未定义书签。
实验名称:交通灯................................................................................. 错误!未定义书签。
Quartus II设计作业(实验一)
班级:11电专班姓名:学号:110921012
实验名称:3-8译码器
一、实验步骤
原理图编辑输入流程
1打开原理图编辑窗
2建立一个初始原理图
3原理图文件存盘
4建立原理图文件工程
①打开并新建工程管理窗口
②将设计文件加入工程中
③选择目标芯片
④工具选择
⑤结束设置
5绘制原理图
6原理图编译
全程编译后无错信息报告
1、打开波形编辑器
2、设置仿真时间区域
3、波形文件存盘
4、将工程的端口信号节点选入波形编辑器中
5、编辑输入波形
6、仿真器参数设置
7、启动仿真器
8、观察仿真结果
仿真结果:由仿真波形可以看出,a,b, c三个输入端,和D0-D7八个输出端,二进制译码。
Quartus II设计作业(实验二)
班级:11电专班姓名:学号:110921012
实验名称:四选一多路选择器
一.用IF_ELSE语句的表达方式写的VHDL程序如下:
①四选一多路选择器的VHDL描述如下:
library ieee;
use ieee.std_logic_1164.all;
entity mux41 is
port ( input:in std_logic_vector(3 downto 0);
sel:in std_logic_vector(1 downto 0);
y:out std_logic);
end mux41;
architecture rtl of mux41 is
begin
process(input,sel)
begin
if (sel="00") then y<=input(0);
elsif (sel="01") then y<=input(1);
elsif (sel="10") then y<=input(2);
else y<=input(3);
end if;
end process;
end rtl;
②四选一多路选择器的电路仿真波形图如下图一所示:
图一四选一多路选择器的电路仿真波形图由上图可知:
当sel=11时,y=intput3;
当sel=10时,y=intput2;
当sel=01时,y=intput1;
当sel=00时,y=intput0;
实现了四选一功能。
③四选一多路选择器的引脚图如下图二:
图二四选一多路选择器的引脚图
④编译结果如下图三:
图三编译结果
⑤RTL电路图结果如下图四:
图四 RTL电路图二.用CASE语句的表达方式写的VHDL程序如下:
①四选一多路选择器的VHDL描述如下:
library ieee;
use ieee.std_logic_1164.all;
entity mux41a is
port(s1,s2: in std_logic;
a,b,c,d: in std_logic;
z: out std_logic);
end entity mux41a;
architecture art of mux41a is
signal s:std_logic_vector(1 downto 0);
begin
s<=s1&s2;
process (s1,s2,a,b,c,d)
begin
case s is
when "00" =>z<=a;
when "01" =>z<=b;
when "10" =>z<=c;
when "11" =>z<=d;
when others =>z<=null;
end case;
end process;
end art;
②四选一多路选择器的电路仿真波形图如下图五所示:
图五四选一多路选择器的电路仿真波形图由上图可知(s<=s1&s2):
当s=00时,z=a;
当s=01时,z=b;
当s=10时,z=c;
当s=11时,z=d;
实现了四选一功能。
③四选一多路选择器的引脚图如下图六:
图六四选一多路选择器的引脚图
④编译报告如下图七:
图七编译报告
⑤RTL电路图如下图七所示:
图八 RTL电路图三.用WHEN_ELSE语句的表达方式写的VHDL程序如下:
①四选一多路选择器的VHDL描述如下:
library ieee;
use ieee.std_logic_1164.all;
entity mux41c is
port(i0, i1, i2, i3, a, b : in std_logic;
q : out std_logic);
end mux41c;
architecture rtl of mux41c is
signal sel : std_logic_vector (1 downto 0);
begin
sel<=b & a;
q<=i0 when sel ="00" else
i1 when sel = "01" else
i2 when sel ="10" else
i3 when sel = "11";
end rtl;
②编译报告如下图八所示:
图九编译报告
③四选一多路选择器的引脚图如下图九所示:
图十引脚图
④四选一多路选择器的RTL电路图如下图十所示:
图十一 RTL电路图
⑤四选一多路选择器的仿真波形图如下图十一所示:
图十一仿真波形图
由上图可知(sel<=b & a):
当sel=00时,q=i0;
当sel=01时,q=i1;
当sel=10时,q=i2;
当sel=11时,q=i3;
实现了四选一功能。
Quartus II设计作业(实验三)
班级:11电专班姓名:学号:110921012
实验名称:十进制加法计数器
一、实验程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
PORT (CLK,RST,EN,LOAD:IN STD_LOGIC;
DATA :IN STD_LOGIC_VECTOR(3 DOWNTO 0); ——4位预置数
COUT :OUT STD_LOGIC; ——计数值输出
DOUT :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));——计数进位输出END CNT10;
ARCHITECTURE BEHAV OF CNT10 IS
BEGIN
PROCESS(CLK,RST,EN,LOAD)
VARIABLE Q: STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST ='0'THEN Q:=(OTHERS=>'0'); ——复位低电平时,计数寄存器清0 ELSIF CLK'EVENT AND CLK='1' THEN ——测试时钟上升沿
IF EN='1' THEN ——计数使能高电平,允许计数
IF (LOAD='0') THEN Q:=DATA; ELSE——预置控制低电平,允许加载IF Q<9 THEN Q :=Q+1 ——计数小于9,继续累加
ELSE Q:=(OTHERS=>'0'); ——否则计数清0
END IF;
END IF;
END IF;
END IF;
IF Q="1001" THEN COUT<='1'; ——当计数为9时,进位输出1 ELSE COUT<='0'; ——否则进位输出0
END IF;
DOUT<=Q; ——计数寄存器的值输出端口
END PROCESS;
END BEHAV;
二、仿真报告
图一编译报告
三、仿真时序图
图二时序仿真图
仿真结果:由仿真波形可以得出计数使能EN为高电平允许计数,RST低电平计数器清0,十进制加法计数器逢9进一。
四、RTL电路
图三 RTL电路
Quartus II设计作业(实验四)
班级:11电专班姓名:学号:110921012
实验名称:LPM计数器模块使用方法
一、LPM_COUNTER计数器模块文本文件的调用
1、定制新的宏功能块
2、LPM宏功能块设定
3、设4位可加减计数器
4、设定模12计数器,含时钟使能和进位输出
5、加入4位并行数据预置功能