四音频输出选择器的VHDL设计与实现.doc

上传人:s9****2 文档编号:543686448 上传时间:2024-03-14 格式:DOC 页数:8 大小:151.51KB
返回 下载 相关 举报
四音频输出选择器的VHDL设计与实现.doc_第1页
第1页 / 共8页
四音频输出选择器的VHDL设计与实现.doc_第2页
第2页 / 共8页
四音频输出选择器的VHDL设计与实现.doc_第3页
第3页 / 共8页
四音频输出选择器的VHDL设计与实现.doc_第4页
第4页 / 共8页
四音频输出选择器的VHDL设计与实现.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《四音频输出选择器的VHDL设计与实现.doc》由会员分享,可在线阅读,更多相关《四音频输出选择器的VHDL设计与实现.doc(8页珍藏版)》请在金锄头文库上搜索。

1、实验三 四音频输出选择器的VHDL设计与实现实验目的1. 熟悉Quartus的VHDL文本设计流程;2. 学习简单组合电路设计、多层次电路设计;3. 锻炼采用VHDL语言进行系统设计的能力。实验仪器 Pentium PC机 、 EDA实验箱 各一台Quartus II 6.0软件实验内容Quartus II 6.0软件平台不仅有图形编辑器,还包含一个文本编辑器,该编辑器接受用硬件描述HDL编写的文本设计文件。要求采用VHDL语言设计四音频输出选择器并在EP1C3T144C8芯片上实现其功能。1 在Quartus平台下完成四音频输出选择器底层VHDL设计、输入、编译综合及仿真, 波形验证。四音频

2、输出选择器原理图参见图5.1.1) 反相器,触发器,divider8分频器模块,2)二选一多路选择器,mux4to1四选一多路选择器模块2 完成四音频输出选择器顶层VHDL源程序设计、编辑、编译综合、仿真工作及引脚锁定(此文件与已设计好的底层文件应在同一文件夹中),并在EDA实验系统上进行下载及硬件测试,验证设计功能。 实验原理 图5.1给出了四音频输出选择器原理图。图5.1 四音频输出选择器原理图根据系统设计要求,采用层次化的VHDL的结构描述设计方法。系统顶层定义分频模块和四选一多路开关模块两个元件,采用元件例化语句完成结构描述。分频器产生四个音频信号由四选一多路开关的控制信号S1 S0的

3、编码选择输出。分频器模块由三个D触发器和三个反相器组成,可采用生成语句描述;四选一多路开关由三个二选一多路开关组成,可用元件例化语句完成结构描述。下面给出了反相器、触发器、分频器、2选一多路选择器及4选一多路选择器的元件图。图5.2 反相器 图5.3 触发器 图5.4 分频器图5.5 2选一多路选择器 图5.6 4选一多路选择器内部结构 图5.7 4选一多路选择器实验步骤 一、设计反相器(一) 建立工作库文件夹和编辑设计文件1. 建立工作库文件夹利用Windows资源管理器新建一个文件夹,该文件夹建于D盘中,注意:文件夹名不能用中文,也最好不要用数字。2. 编辑VHDL源文件打开Quartus

4、 II,选择菜单FileNew。在New窗口中的Device Design Files中选择编译文件的语言类型 “VHDL File”,单击OK按钮,进入VHDL文本编辑窗口。输入反相器VHDL源程序。library ieee;use ieee.std_logic_1164.all;entity inv is port(a:in std_logic; y:out std_logic);end inv ;architecture one of inv isbeginy=not a;end one;3. 文件存盘完成输入后,选择FileSaves命令, 找到新建立的文件夹,将该VHDL文件存盘,存

5、盘文件名应与实体名一致。假如我们设置的文件夹为D:quarsy5(此为路径与文件夹名), 反相器的文件名为inv (与程序实体名一致).4. 创建工程(1)当出现问句”Do you want to create”时,若单击“是”按钮,则直接进入创建工程流程,弹出New Project Wizard对话框。或选择菜单”FileNew Project Wizard, 弹出New Project Wizard对话框。第一栏已自动选定,第二栏输入inv的当前工程名字;第三栏同时显示inv。(2) 将设计文件加入工程中,单击下方的Next按钮,弹出Add Files对话框,单击AddAll按钮,将有关设

6、计文件加入到当前工程中,在此,只须将源文件inv.vhd加入即可。(3) 选择目标芯片。单击Next按钮,选择目标芯片为: Cyclone系列 EP1C3T144C8。(4) 工具设置(选择综合器和仿真器)。单击当前对话框中的Next按钮,在弹出的EDA工具设置窗口EDA Tool Settings,有三个选择项,都选择设置为“NONE”(即不作任何打钩选择),表示都选Quartus II中自带的所有设计工具。(5) 结束设置。点击Next按钮后,弹出“工程设置统计”窗口,上面列出了此基本内容工程相关设置情况。点击Finish按钮,即完成了当前工程的创建。在左上边的Project Naviga

7、tor窗口显示本工程项目的层次结构和各层次的实体名。(二) 编译(1) 选择FPGA目标芯片。目标芯片的选择也可以这样来实现:选择Assignments Settings项,在弹出的对话框中Category Device栏。首先选择目标芯片Cyclone系列,再选具体芯片 EP1C3T144C8。 选择配置器件的工作方式。单击Device器件选择窗口中的Device&Pin Options按钮,进入选择窗口在弹出的Device&Pin Options窗口, 首先选择General选项(见图5.8)。在General页的Options栏内选中Auto-restart configuration

8、after error(在此项前的方格内打钩), 使对目标芯片的配置失败后能自动重新配置,并加入JTAG用户编码。 选择配置器件和编程方式。如果希望对编程配置文件能在压缩后下载进配置器件中(当配置器件向Cyclone器件配置时, Cyclone器件能识别压缩过的配置文件,并能对其进行实时解压), 可在编译前做好设置。在Device&Pin Options窗口, 选择configuration选项(见图5.8), 在该页的Generate compressed bitstreans栏处选择打钩, 就能产生用于EPCS的POF压缩配置文件。 在该页的Configuration Scheme栏内选择

9、Active Serial(AS)配置模式, 这种方式只对专用的Flash技术的配置器件进行编程; 选择配置器件为EPCS1:选择Use configuration Device栏(在该栏左边的方格内打钩),并在右边栏内选择EPCS1 图5。8 选择配置器件的工作方式 图5。9 选择配置器件和编程模式 (4) 编译选择主窗口的Processing菜单Start Compilation项,启动全程编译。注意观察工程管理窗口下方的Processing处理栏中的编译信息,双击该栏中的错误提示行,在弹出的VHDL文件中加以修改,反复如此,直到编译成功为止。(三) 仿真详细操作方法参考实验一、二。1 打

10、开波形编辑器;2 设置仿真时间区域;3 将工程项目的信号节点加入波形编辑器中;4 激励信号设置;5 波形文件存盘;6 启动仿真器。点击主菜单ProcessinStart Simulation项开始仿真;7 观察仿真结果。(四)、 应用RTL观察图二、触发器设计步骤同上,要求编译通过。library ieee;use ieee.std_logic_1164.all;entity df isport(clk,d:in std_logic;q:out std_logic);end df;architecture rt1 of df isbeginprocess(clk)beginif(clkeven

11、t and clk=1)thenq=d;end if;end process;end rt1;三、分频器设计步骤同上,要求编译通过。divider8分频器模library ieee;use ieee.std_logic_1164.all;entity divider8 isport(clk0: inout std_logic;clk1,clk2,clk3:buffer std_logic);end divider8 ;architecture arc of divider8 iscomponent invport(a:in std_logic;y: out std_logic);end com

12、ponent;component dfport(clk,d:in std_logic;q:out std_logic);end component;signal c:std_logic_vector(0 to 3);signal z:std_logic_vector(0 to 3);beging1:for i in 1 to 3 generateinvx:inv port map(c(i),z(i);dffx:df port map (c(i-1),z(i),c(i);end generate;c(0)=clk0;clk1=c(1);clk2=c(2);clk3=c(3);end arc;四、

13、2选一、4选一多路选择器设计步骤同上,要求编译通过。mux2to1二选一多路选择器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux2to1 ISPORT (a,b,s:IN STD_LOGIC;y:OUT STD_LOGIC);END mux2to1;ARCHITECTURE ONE OF mux2to1 ISBEGIN y=a WHEN s=0 ELSEb;END ONE;mux4to1四选一多路选择器模块library ieee;use ieee.std_logic_1164.all;entity mux4to1 isport (i

14、0,i1,i2,i3:IN STD_LOGIC; s0 :IN STD_LOGIC; s1 :IN STD_LOGIC; y :OUT STD_LOGIC);END mux4to1;ARCHITECTURE ART OF MUX4to1 ISCOMPONENT MUX2to1PORT (a,b,s:IN STD_LOGIC; y:OUT STD_LOGIC);END COMPONENT; SIGNAL z:STD_LOGIC_vector(0 to 2);BEGINm1:MUX2to1 PORT MAP(i0,i1,s0,z(0);m2:MUX2to1 PORT MAP(i2,i3,s0,z(1);m3:MUX2to1 PORT MAP(z(0),z(1),s1,z(2);y=z(2);END ART;5)四音频输出信号选择器顶层模块library ieee;use ieee.std_logic_1164.all;entity vfmux4to1 isport(clk0,s1,s0:in std_logic;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号