Quartus II设计作业_第1页
Quartus II设计作业_第2页
Quartus II设计作业_第3页
Quartus II设计作业_第4页
Quartus II设计作业_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JINGGANGSHAN UNIVERSITYEDA技术课程作业 学 院:电子与信息工程学院 专 业:电子信息科学与技术 姓 名: 班 级: 11电专 学 号: 指导老师: 过继红 目录Quartus II设计作业(实验一)1实验名称:3-8译码器1Quartus II设计作业(实验二)7实验名称:四选一多路选择器7Quartus II设计作业(实验三)13实验名称:十进制加法计数器13Quartus II设计作业(实验四)15实验名称:LPM计数器模块使用方法15Quartus II设计作业(实验五)20实验名称:ADC0809 采样状态机20Quartus II设计作业(实验六)23实验名称:序列检测器设计23Quartus II设计作业(实验七)26实验名称:八位乘法累加器26Quartus II设计作业(实验八)28实验名称:全加器28Quartus II设计作业(实验九)30实验名称:LPM随机存储器的设置和使用30Quartus II设计作业(实验十)31实验名称:LPM_ROM的定制和使用范例31Quartus II设计作业(实验十一)32实验名称:LPM嵌入式锁相环调用33Quartus II设计作业(实验十二)34实验名称:FIFO定制34Quartus II设计作业(实验十三)35实验名称:NCO核数控振荡器使用方法35Quartus II设计作业(实验十四)37实验名称:使用IP core 设计FIR滤波器37Quartus II设计作业(实验十五)38实验名称:二选一数据选择器38Quartus II设计作业(实验十六)39实验名称:状态机图形编辑设计39Quartus II设计作业(实验十七)42实验名称:时钟42Quartus II设计作业(实验十八)44实验名称:交通灯45Quartus 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程序如下:1 四选一多路选择器的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;2 四选一多路选择器的电路仿真波形图如下图一所示:图一 四选一多路选择器的电路仿真波形图由上图可知:当sel=11时,y=intput3;当sel=10时,y=intput2;当sel=01时,y=intput1;当sel=00时,y=intput0;实现了四选一功能。3 四选一多路选择器的引脚图如下图二:图二 四选一多路选择器的引脚图4 编译结果如下图三:图三 编译结果5 RTL电路图结果如下图四:图四 RTL电路图二用CASE语句的表达方式写的VHDL程序如下:1 四选一多路选择器的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 szzzzz=null; end case; end process;end art; 2 四选一多路选择器的电路仿真波形图如下图五所示:图五 四选一多路选择器的电路仿真波形图 由上图可知(s=s1&s2):当s=00时,z=a;当s=01时,z=b;当s=10时,z=c;当s=11时,z=d;实现了四选一功能。3 四选一多路选择器的引脚图如下图六:图六 四选一多路选择器的引脚图4 编译报告如下图七:图七 编译报告5 RTL电路图如下图七所示:图八 RTL电路图3 用WHEN_ELSE语句的表达方式写的VHDL程序如下:1 四选一多路选择器的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; 2 编译报告如下图八所示:图九 编译报告3 四选一多路选择器的引脚图如下图九所示:图十 引脚图4 四选一多路选择器的RTL电路图如下图十所示:图十一 RTL电路图5 四选一多路选择器的仿真波形图如下图十一所示:图十一 仿真波形图 由上图可知(sel0); 复位低电平时,计数寄存器清0 ELSIF CLKEVENT AND CLK=1 THEN 测试时钟上升沿IF EN=1 THEN 计数使能高电平,允许计数 IF (LOAD=0) THEN Q:=DATA; ELSE预置控制低电平,允许加载 IF Q0); 否则计数清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位并行数据预置功能6、 4位计数器描述7、 quartus II生成的计数器文件CNT4.VHDLIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;ENTITY CNT4 ISPORT(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 ISSIGNAL sub_wire0: STD_LOGIC ;SIGNAL sub_wire1: STD_LOGIC_VECTOR (3 DOWNTO 0);COMPONENT lpm_counterGENERIC (lpm_direction: STRING;lpm_modulus: NATURAL;lpm_port_updown: STRING;lpm_type: STRING;lpm_width: NATURAL);PORT (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;BEGINcout = sub_wire0;q UNUSED,lpm_modulus = 12,lpm_port_updown = PORT_USED,lpm_type = LPM_COUNTER,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); cout :OUT std_logic; Q :OUT std_logic_vector(3 DOWNTO 0); END COMPONENT;BEGINU1 : 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个SLD加载信号在没有CLK上升沿出发生时,无法进行加载,所以SLD是同步的。逢11进位端进一。Quartus II设计作业(实验五)班级:11电专班 姓名: 学号:110921012实验名称:ADC0809 采样状态机1 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 ale=0;start=0;oe=0;lock=0;next_stateale=1;start=1;oe=0;lock=0;next_stateale=0;start=0;oe=0;lock=0;if (eoc=1) then next_state=s3;else next_stateale=0;start=0;oe=1;lock=0;next_stateale=0;start=0;oe=1;lock=1;next_stateale=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 clkevent and clk=1 then cs=next_state;end if;end process reg;latch1:process(lock) begin if lock=1 and lockevent then regl=d; end if; end process latch1; q if din=1 then nst=s1; else nst if din=1 then nst=s2; else nst if din=0 then nst=s3; else nst if din=1 then nst=s4; else nst if din=0 then nst=s5; else nst if din=0 then nst=s6; else nst if din=1 then nst=s7; else nst if din=1 then nst=s8; else nst if din=0 then nst=s3; else nst nst=s0; end case; end process; reg:process(clk,rst) begin if rst=1 then st =s0; elsif clkevent and clk=1 then st = nst; end if; end process reg; sout =1 when st=s8 else 0;end behav; 2 编译报告如下图一所示:图一 编译报告3 序列检测器的状态图如下图二所示:图二 状态图4 序列检测器的仿真波形图如下图三所示:图三 仿真波形图 由上图可知,当有正确序列进入时,到了状态8时,输出序列正确标志SOUT=1。而当下一位数据为零时,即DIN=0,进入状态四s3(这时测出的数据110恰好与原序列数的头三位相同)。5 序列检测器的RTL电路图如下图四所示:图四 序列检测器的RTL电路图Quartus II设计作业(实验七)班级:11电专班 姓名: 学号:110921012实验名称:八位乘法累加器1 八位乘法累加器电路原理图如下图一所示:图一 电路原理图2 时序仿真图如下图二所示:图二 时序仿真图 由波形可知,在CLK的第4个上升沿后才得到第一个计算数据,之前都是0。 第4个上升沿后得到的结果为s=00+2315=345, 第5个上升沿后得到结果为s=2315+1122=587, 第6个上升沿后得到结果为s=1122+3345=1727, 第7个上升沿后得到结果为s=3345+1621=1821, 第8个上升沿后得到结果为s=1621+165=416, 第9个上升沿后得到结果为s=165+1121=311,3 乘法器的VHDL描述如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_signed.all;entity mul8 is port(a1,a2,b1,b2:in signed(7 downto 0); r1,r2:out signed(15 downto 0);end;architecture bhv of mul8 isbegin r1=a1*b1; r2=a2*b2;end bhv; 4 编译报告如下图三所示:图三 编译报告5 用DSP模块构建乘法器如下图四所示:图四 用DSP模块构建乘法器6 利用定义DSP模块属性的方法去调用DSP模块的程序如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_signed.all;entity mul is port(a1,a2,b1,b2:in signed(7 downto 0); r1,r2:out signed(15 downto 0) );end;architecture bhv of mul isattribute multstyle:string;attribute multstyle of r1,r2:signal is dsp;begin r1=a1*b1; r2=a2*b2;end bhv; 其编译报告如下图五所示:图五 编译报告Quartus II设计作业(实验八)班级:11电专班 姓名: 学号:110921012实验名称:全加器1 全加器电路原理图如下图一所示: 图一2 组成部件半加器源代码 library ieee ; use ieee.std_logic_1164.all ; use ieee.std_logic_arith.all ; use ieee.std_logic_unsigned.all ; entity H_addr is port( a,b :in std_logic; co,so:out std_logic ); end H_addr; architecture a of H_addr is begin so = (a or b) and (a and b); co = not (a and b); end a; 三 编译报告如下图 图二 编译报告四RTL图五 时序仿真如下图图三 时序仿真图Quartus II设计作业(实验九)班级:11电专班 姓名: 学号:110921012实验名称:LPM随机存储器的设置和使用一原理图输入法原理图图一 原理图二MIF生成器生成mif文件图二 MIF生成器生成mif文件三 编译报告图三 编译报告三 时序仿真图四 时序仿真图Quartus II设计作业(实验十)班级:11电专班 姓名: 学号:110921012实验名称:LPM_ROM的定制和使用范例一原理图输入法原理图 图一 原理图二MIF生成器生成mif文件图二 MIF生成器生成mif文件三 编译报告图三 编译报告四 时序仿真图四 时序仿真图Quartus II设计作业(实验十一)班级:11电专班 姓名: 学号:110921012实验名称:LPM嵌入式锁相环调用一原理图输入法原理图图一 原理图二 编译报告 图二 编译报告三 时序仿真图三 时序仿真图Quartus II设计作业(实验十二)班级:11电专班 姓名: 学号:110921012实验名称:FIFO定制一原理图输入法原理图图一 原理图二 编译报告图二 编译报告三 时序仿真图三 时序仿真图Quartus II设计作业(实验十三)班级:11电专班 姓名: 学号:110921012实验名称:NCO核数控振荡器使用方法一原理图输入法原理图图一 原理图二 编译报告图二 编译报告三 步骤1.打开Core设置管理窗口选择NCO核图三 设置管理窗口 2.开始进入Core文件生成选择窗口图四 选择窗口 3.设置NCO参数图五 设置NCO参数 设置说明:选择相位累加器精度24位;角度精度10位;幅度精度10位;选择相位抖动大小控制;时钟频率200MHz。图六 设置说明 设置说明:选择频率调制输入项,调制精度选择10位,选择一级流水线调制器;选择相位调制输入,选择相位调制精度10位,也选择一级流水线调制器;选择双口输出,目标器件选择CycloneIII。Quartus II设计作业(实验十四)班级:11电专班 姓名: 学号:110921012实验名称:使用IP core 设计FIR滤波器一原理图输入法原理图图一 原理图二 编译报告图二 编译报告三 设置参数图三 设置参数Quartus II设计作业(实验十五)班级:11电专班 姓名: 学号:110921012实验名称:二选一数据选择器一 文本输入法输入程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity mux21 isport( a :in std_logic; -K1键 b :in std_logic; -K2键 sel:in std_logic; -在这里我们用高电平1 c:out std_logic); -LED灯会显示状态end mux21;architecture rtl of mux21 isbeginprocess(sel,a,b)beginif(sel=1)then -当SEL脚为1时。将a的输入状态 在LED上显示c=a;else -当SEL脚为0时。将b的输入状态 在LED上显示c=b;end if;end process;end rtl;二 编译报告图一 编译报告三 时序仿真图二 时序仿真图上图是器件mux21a 电路的时序仿真波形。图中显示,当a、b两端输入口分别输入不同频率信号时,针对选通控制端s上所加的不同电平,输出端y将有对应不同信号输出。当s为低电平时,y口输出了来自a端的较高频率的时钟信号;反之,既当s为为高电平时,y口输出了来自b端的较低频率的时钟信号。 Quartus II设计作业(实验十六)班级:11电专班 姓名: 学号:110921012实验名称:状态机图形编辑设计一 图形编辑设计图一 图形编辑设计二 编译报告图二 编译报告三 生成VHDL- Copyright (C) 1991-2009 Altera Corporation- Your use of Altera Corporations design tools, logic functions - and other software and tools, and its AMPP partner logic - functions, and any output files from any of the foregoing - (including device programming or simulation files), and any - associated documentation or information are expressly subject - to the terms and conditions of the Altera Program License - Subscription Agreement, Altera MegaCore Function License - Agreement, or other applicable license agreement, including, - without limitation, that your use is for the sole purpose of - programming logic devices manufactured by Altera and sold by - Altera or its authorized distributors. Please refer to the - applicable agreement for further details.- Generated by Quartus II Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition- Created on Sun Dec 09 20:46:17 2012LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY STATE_MACHINE IS PORT ( clock : IN STD_LOGIC; reset : IN STD_LOGIC := 0; input1 : IN STD_LOGIC := 0; input2 : IN STD_LOGIC := 0; output1 : OUT STD_LOGIC );END STATE_MACHINE;ARCHITECTURE BEHAVIOR OF STATE_MACHINE IS TYPE type_fstate IS (state1,state2,state3); SIGNAL fstate : type_fstate; SIGNAL reg_fstate : type_fstate; SIGNAL reg_output1 : STD_LOGIC := 0;BEGIN PROCESS (clock,reg_fstate,reg_output1) BEGIN IF (clock=1 AND clockevent) THEN fstate = reg_fstate; output1 = reg_output1; END IF; END

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论