Quartus II设计作业 - 图文
更新时间:2023-10-20 06:37:01 阅读量: 综合文库 文档下载
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建立原理图文件工程 ① 打开并新建工程管理窗口
1
② 将设计文件加入工程中
③ 选择目标芯片
④ 工具选择
2
⑤ 结束设置
5绘制原理图
6原理图编译
全程编译后无错信息报告
3
时序仿真
1、 打开波形编辑器
激励信号波形编辑窗口
2、 设置仿真时间区域
4
3、 波形文件存盘
4、 将工程的端口信号节点选入波形编辑器中
5、 编辑输入波形
5
6、 仿真器参数设置
7、 启动仿真器
8、 观察仿真结果
6
仿真结果:由仿真波形可以看出,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=\ then y<=input(0);
elsif (sel=\ then y<=input(1);
elsif (sel=\ then y<=input(2); else y<=input(3); end if; end process; end rtl;
② 四选一多路选择器的电路仿真波形图如下图一所示:
7
图一 四选一多路选择器的电路仿真波形图
由上图可知:
当sel=11时,y=intput3; 当sel=10时,y=intput2; 当sel=01时,y=intput1; 当sel=00时,y=intput0; 实现了四选一功能。
③ 四选一多路选择器的引脚图如下图二:
图二 四选一多路选择器的引脚图
④ 编译结果如下图三:
图三 编译结果
8
⑤ 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 \ when \ when \ when \ when others =>z<=null;
9
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; 实现了四选一功能。
③ 四选一多路选择器的引脚图如下图六:
图六 四选一多路选择器的引脚图
④ 编译报告如下图七:
10
图七 编译报告
⑤ 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 =\ else
i1 when sel = \ i2 when sel =\
11
reg_fstate <= state1; END IF;
reg_output1 <= '0'; WHEN state3 =>
IF (((input1 = '1') OR (input2 = '1'))) THEN reg_fstate <= state1; ELSE
reg_fstate <= state3; END IF;
reg_output1 <= '1'; WHEN OTHERS => reg_output1 <= 'X';
report \ END CASE; END IF; END PROCESS; END BEHAVIOR;
Quartus II设计作业(实验十七)
班级:11电专班 姓名: 学号:110921012 实验名称:时钟 一电路原理图
图一 原理图
二 编译报告
42
图二 编译报告
三 模块程序 1 计时模块 library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity mincount is port(en1,en2,res,clk :in std_logic; ca,cp :out std_logic; a,b :out std_logic_vector(3 downto 0)); end mincount;
architecture rtl of mincount is signal aout,bout:std_logic_vector(3 downto 0); signal cout:std_logic; begin process(en1,en2,clk,res) begin if(res='0')then aout<=\ bout<=\ cout<='0'; elsif(clk'event and clk='1')then if(en1='1' or en2='0')then if(bout>4)then if(aout>9)then aout<=\ bout<=\ cout<='1'; else aout<=aout+1; end if; else
43
if(aout=9)then aout<=\ bout<=bout+1; else aout<=aout+1; cout<='0'; end if; end if; end if; end if; end process;
cp <= bout(2) and bout(1) and aout(0) and aout(3); a<=aout; b<=bout; ca<=cout; end rtl;
2 显示模块 library ieee;
use ieee.std_logic_1164.all;
entity disp is port(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0)); end disp;
architecture rtl of disp is begin process(d) begin case d is when\ when\ when\ when\ when\ when\ when\ when\ when\ when others=>q<=\ end case; end process; end rtl;
Quartus II设计作业(实验十八)
44
班级:11电专班 姓名: 学号:110921012 实验名称:交通灯
一 文本输入法输入程序 library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;--加载库文件
entity traffic_ctrl is--定义实体 generic (
green1_cnt :integer:=25;--定义主通道绿灯亮的时间,这里为25秒 yellow1_cnt:integer:=5; --定义主通道黄灯亮的时间,这里为5秒 green2_cnt :integer:=15;--定义支路绿灯亮的时间,这里为15秒 yellow2_cnt:integer:=5 --定义支路黄灯亮的时间,这里为5秒 ); port(
clk: in std_logic;--时钟信号 rst: in std_logic;--复位信号
lgt1_red: out std_logic;--主通道红灯控制信号 lgt1_yellow: out std_logic;--主通道黄灯控制信号 lgt1_green: out std_logic;--主通道绿灯控制信号 lgt2_red: out std_logic;--支路红灯控制信号 lgt2_yellow: out std_logic;--支路黄灯控制信号 lgt2_green: out std_logic--支路绿灯控制信号 );
end entity traffic_ctrl;
architecture rtl of traffic_ctrl is--定义结构体
type states is (st0,st1,st2,st3);--定义控制器各种状态 signal state:states:=st0;--初始化状态
signal cnt : integer range 0 to 30:=1;--定义计数器
signal cnt_enb :std_logic:='0';--初始化计数器使能信号 begin
process(clk,rst) begin
if(rst='1') then--复位信号为高则执行复位操作 state<=st0; cnt<=1;
elsif(rising_edge(clk)) then--时钟上升沿 if(cnt_enb='1') then--计数器计数 cnt<=cnt+1; else
cnt<=1; end if;
case state is
45
when st0=>--主通道绿灯亮了一段时间时转换状态st1 if(cnt=green1_cnt) then state<=st1; else
state<=st0; end if;
when st1=>--主通道黄灯亮了一段时间时转换状态st2 if(cnt=yellow1_cnt) then state<=st2; else
state<=st1; end if;
when st2=>--支路绿灯亮了一段时间时转换状态st3 if(cnt=green2_cnt) then state<=st3; else
state<=st2; end if;
when st3=>--支路黄灯亮了一段时间时转换状态st0 if(cnt=yellow2_cnt) then state<=st0; else
state<=st3; end if; end case; end if; end process; process(state) begin
case state is
when st0=>--St0表示主路绿灯亮、支路红灯亮 lgt1_red<='0'; lgt1_yellow<='0'; lgt1_green<='1'; lgt2_red<='1'; lgt2_yellow<='0'; lgt2_green<='0'; cnt_enb<='1';
if(cnt=green1_cnt) then cnt_enb<='0'; end if;
when st1=>--St1表示主路黄灯亮、支路红灯亮 lgt1_red<='0'; lgt1_yellow<='1';
46
6、 4位计数器描述
7、 quartus II生成的计数器文件CNT4.VHD
LIBRARY ieee;
USE ieee.std_logic_1164.all; LIBRARY lpm; USE lpm.all; ENTITY CNT4 IS PORT ( aclr : IN STD_LOGIC ; clk_en : IN STD_LOGIC ; clock : IN STD_LOGIC ; data : IN STD_LOGIC_VECTOR (3 DOWNTO 0); sload : IN STD_LOGIC ; updown : IN STD_LOGIC ; cout : OUT STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) );
END CNT4;
ARCHITECTURE SYN OF cnt4 IS SIGNAL sub_wire0 : STD_LOGIC ; SIGNAL sub_wire1 : STD_LOGIC_VECTOR (3 DOWNTO 0); COMPONENT lpm_counter GENERIC ( lpm_direction : STRING; lpm_modulus : NATURAL; lpm_port_updown : STRING; lpm_type : STRING; lpm_width : NATURAL ); PORT (
17
sload : IN STD_LOGIC ;
clk_en : IN STD_LOGIC ; aclr : IN STD_LOGIC ; clock : IN STD_LOGIC ; cout : OUT STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); data : IN STD_LOGIC_VECTOR (3 DOWNTO 0); updown : IN STD_LOGIC ); END COMPONENT; BEGIN cout <= sub_wire0; q <= sub_wire1(3 DOWNTO 0); lpm_counter_component : lpm_counter GENERIC MAP ( lpm_direction => \ lpm_modulus => 12, lpm_port_updown => \ lpm_type => \ lpm_width => 4 ) PORT MAP ( sload => sload, clk_en => clk_en, aclr => aclr, clock => clock, data => data, updown => updown, cout => sub_wire0, q => sub_wire1 ); END SYN;
8、 对CNT4.VHD例化程序
LIBRARY ieee;
USE ieee.std_logic_1164.all; ENTITY CNT4BIT IS
PORT (CLK,RST,ENA,SLD,UD:IN std_logic;
DIN :IN std_logic_vector(3 DOWNTO 0); COU :OUT std_logic;
DOUT :OUT std_logic_vector(3 DOWNTO 0)); END ENTITY CNT4BIT;
ARCHITECTURE TRANSLATED OF CNT4BIT IS COMPONENT CNT4
PORT(ACLR,CLK_EN,CLOCK,SLOAD,UPDOWN:IN std_logic; DATE :IN std_logic_vector(3 DOWNTO 0);
18
cout :OUT std_logic;
Q :OUT std_logic_vector(3 DOWNTO 0)); END COMPONENT; BEGIN
U1 : CNT4 PORT MAP(SLOAD=>SLD,CLK_EN=>ENA,ACLR=>RST,
cout=>COUT,CLOCK=>CLK,DATE=>DIN,UPDOWN=>UD,Q=>DOUT);
END ARCHITECTURE TRANSLATED;
二、 创建工程与仿真测试
仿真波形
三、 原理图输入设计
1、仿真电路
2、仿真波形
仿真结果:由波形仿真图可以看出这是12进制数计数器的仿真波形,由波形图可以看出ENA是使能端,高电平有效,RST是复位端,高电平复位,2
19
个SLD加载信号在没有CLK上升沿出发生时,无法进行加载,所以SLD是同步的。逢11进位端进一。
Quartus II设计作业(实验五)
班级:11电专班 姓名: 学号:110921012 实验名称:ADC0809 采样状态机
① VHDL程序如下所示:
library ieee;
use ieee.std_logic_1164.all; entity ADC0809 is
port (d:in std_logic_vector(7 downto 0); clk,rst:in std_logic; eoc:in std_logic; ale:out std_logic; start,oe:out std_logic; adda,lock_t:out std_logic;
q:out std_logic_vector(7 downto 0)); end ADC0809;
architecture behav of ADC0809 is type states is(s0,s1,s2,s3,s4); signal cs,next_state:states :=s0;
signal regl :std_logic_vector(7 downto 0); signal lock :std_logic; begin
adda<='0';lock_t <=lock; com:process(cs,eoc) begin
case cs is
when s0=>ale<='0';start<='0';oe<='0';lock<='0';next_state<=s1; when s1=>ale<='1';start<='1';oe<='0';lock<='0';next_state<=s2; when s2=>ale<='0';start<='0';oe<='0';lock<='0';
20
if (eoc='1') then next_state<=s3; else next_state<=s2; end if;
when s3=>ale<='0';start<='0';oe<='1';lock<='0';next_state<=s4; when s4=>ale<='0';start<='0';oe<='1';lock<='1';next_state<=s0; when others=>ale<='0';start<='0';oe<='0';lock<='0';next_state<=s0; end case; end process com; reg:process(clk,rst) begin
if rst='1' then cs<=s0;
elsif clk'event and clk='1' then cs<=next_state;end if; end process reg;
latch1:process(lock)
begin
if lock='1' and lock'event then regl<=d; end if; end process latch1;
q<=regl; end behav;
② 编译报告如下图一所示:
图一 编译报告
21
正在阅读:
Quartus II设计作业 - 图文10-20
中小学教师信息技术应用能力提升工程2.0整校推进实施方案优秀成果集04-30
读书手抄报内容(读书手抄报简单又好看)04-15
2015英语四级翻译技巧方法指导07-18
国学智慧答案10-27
钢结构设计简单步骤05-16
Quartus II FPGA烧写教程01-06
船体火工矫正通用工艺08-26
- 1实验二Quartus II 软件仿真实验报告 - 图文
- 2Quartus-II使用教程-完整实例2
- 3实验一 Quartus II使用与基本逻辑电路的设计
- 4实验三基于Quartus II的硬件描述语言电路设计 pdf
- 5于Quartus II的微程序控制简易计算机的设计
- 6Quartus II 15.0中仿真Altera三速以太网IP核 - 图文
- 7FPGA入门及Quartus II使用教程(内部资料)
- 801_Quartus II 增量式编译(QIC)和LogicLock
- 9基于Quartus II的运算器的设计与实现(修改稿)
- 10Quartus II 15.0中仿真Altera三速以太网IP核 - 图文
- Win7 安装MySql图示
- 计算器课程设计报告
- 部编版八年下语文第三单元第六单元古诗文理解默写练习及答案
- 13质量通病防治方案和施工措施
- 土力学试题~~~~
- 公务员打印资料
- 传热膜系数测定实验报告 - 图文
- 新时期煤矿协管安全工作的创新与实践
- 第五章 习题及参考答案
- 220kV架空线路强条执行记录表
- 音乐欣赏读后感
- 高炉
- 劳动教育需要新的时代内涵
- 10建筑地面工程施工质量验收规范GB50209-20021
- 银行会计练习题2答案
- 2013年七年级地理上册知识点复习提纲湘教版
- 人教版三年级语文上册第四单元测试题(A卷)(有答案)
- 营养师第九章练习题
- 湖北省武汉市2018届高三毕业生二月调研 理综化学
- 行业分析2018-2023年中国男性护肤品行业市场发展分析及投资前景
- 作业
- Quartus
- 图文
- 设计
- 北师大版七年级数学下册期末模拟测试题一
- 2019九年级英语全册 Unit 8 It must belong to Carla Section A教学设计 - 图文
- 高职教育多维联盟绩效评估体系框架设计
- 小学语文-的得地的用法讲解和练习
- 社会心理学重难点汇总
- 高考专题演练11
- PCB工艺设计标准 - 图文
- 急需紧缺专业目录
- 高校本科专业目录按所属学科分类
- 2014-12-16工程力学A试题
- 客专室内通用机柜
- 《坐井观天》教案
- 五年级《校园防歹徒》教案
- 必修2第五章第四节知能演练强化闯关
- 2010-2011学年高二有机化学期末模拟试卷二
- 中小企业品牌突破之路考试卷
- 2017-2018武汉江汉区八上英语期中试卷及答案 - 图文
- 90岁老中医的长寿养生法
- 会计实务模拟试卷(含答案解析)1
- 在打击乐演奏教学中提升师幼音乐能力的行动研究