四音频输出选择器的VHDL设计与实现.doc_第1页
四音频输出选择器的VHDL设计与实现.doc_第2页
四音频输出选择器的VHDL设计与实现.doc_第3页
四音频输出选择器的VHDL设计与实现.doc_第4页
四音频输出选择器的VHDL设计与实现.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

实验三 四音频输出选择器的VHDL设计与实现实验目的1. 熟悉Quartus的VHDL文本设计流程;2. 学习简单组合电路设计、多层次电路设计;3. 锻炼采用VHDL语言进行系统设计的能力。实验仪器 Pentium PC机 、 EDA实验箱 各一台Quartus II 6.0软件实验内容Quartus II 6.0软件平台不仅有图形编辑器,还包含一个文本编辑器,该编辑器接受用硬件描述HDL编写的文本设计文件。要求采用VHDL语言设计四音频输出选择器并在EP1C3T144C8芯片上实现其功能。1 在Quartus平台下完成四音频输出选择器底层VHDL设计、输入、编译综合及仿真, 波形验证。四音频输出选择器原理图参见图5.1.1) 反相器,触发器,divider8分频器模块,2)二选一多路选择器,mux4to1四选一多路选择器模块2 完成四音频输出选择器顶层VHDL源程序设计、编辑、编译综合、仿真工作及引脚锁定(此文件与已设计好的底层文件应在同一文件夹中),并在EDA实验系统上进行下载及硬件测试,验证设计功能。 实验原理 图5.1给出了四音频输出选择器原理图。图5.1 四音频输出选择器原理图根据系统设计要求,采用层次化的VHDL的结构描述设计方法。系统顶层定义分频模块和四选一多路开关模块两个元件,采用元件例化语句完成结构描述。分频器产生四个音频信号由四选一多路开关的控制信号S1 S0的编码选择输出。分频器模块由三个D触发器和三个反相器组成,可采用生成语句描述;四选一多路开关由三个二选一多路开关组成,可用元件例化语句完成结构描述。下面给出了反相器、触发器、分频器、2选一多路选择器及4选一多路选择器的元件图。图5.2 反相器 图5.3 触发器 图5.4 分频器图5.5 2选一多路选择器 图5.6 4选一多路选择器内部结构 图5.7 4选一多路选择器实验步骤 一、设计反相器(一) 建立工作库文件夹和编辑设计文件1. 建立工作库文件夹利用Windows资源管理器新建一个文件夹,该文件夹建于D盘中,注意:文件夹名不能用中文,也最好不要用数字。2. 编辑VHDL源文件打开Quartus 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文件存盘,存盘文件名应与实体名一致。假如我们设置的文件夹为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按钮,将有关设计文件加入到当前工程中,在此,只须将源文件inv.vhd加入即可。(3) 选择目标芯片。单击Next按钮,选择目标芯片为: Cyclone系列 EP1C3T144C8。(4) 工具设置(选择综合器和仿真器)。单击当前对话框中的Next按钮,在弹出的EDA工具设置窗口EDA Tool Settings,有三个选择项,都选择设置为“NONE”(即不作任何打钩选择),表示都选Quartus II中自带的所有设计工具。(5) 结束设置。点击Next按钮后,弹出“工程设置统计”窗口,上面列出了此基本内容工程相关设置情况。点击Finish按钮,即完成了当前工程的创建。在左上边的Project Navigator窗口显示本工程项目的层次结构和各层次的实体名。(二) 编译(1) 选择FPGA目标芯片。目标芯片的选择也可以这样来实现:选择Assignments Settings项,在弹出的对话框中Category Device栏。首先选择目标芯片Cyclone系列,再选具体芯片 EP1C3T144C8。 选择配置器件的工作方式。单击Device器件选择窗口中的Device&Pin Options按钮,进入选择窗口在弹出的Device&Pin Options窗口, 首先选择General选项(见图5.8)。在General页的Options栏内选中Auto-restart configuration after error(在此项前的方格内打钩), 使对目标芯片的配置失败后能自动重新配置,并加入JTAG用户编码。 选择配置器件和编程方式。如果希望对编程配置文件能在压缩后下载进配置器件中(当配置器件向Cyclone器件配置时, Cyclone器件能识别压缩过的配置文件,并能对其进行实时解压), 可在编译前做好设置。在Device&Pin Options窗口, 选择configuration选项(见图5.8), 在该页的Generate compressed bitstreans栏处选择打钩, 就能产生用于EPCS的POF压缩配置文件。 在该页的Configuration Scheme栏内选择Active Serial(AS)配置模式, 这种方式只对专用的Flash技术的配置器件进行编程; 选择配置器件为EPCS1:选择Use configuration Device栏(在该栏左边的方格内打钩),并在右边栏内选择EPCS1 图5。8 选择配置器件的工作方式 图5。9 选择配置器件和编程模式 (4) 编译选择主窗口的Processing菜单Start Compilation项,启动全程编译。注意观察工程管理窗口下方的Processing处理栏中的编译信息,双击该栏中的错误提示行,在弹出的VHDL文件中加以修改,反复如此,直到编译成功为止。(三) 仿真详细操作方法参考实验一、二。1 打开波形编辑器;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(clkevent 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 component;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;四、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 (i0,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; y: out std_logic);end vfmux4to1;architecture arc of vfmux4to1 iscomponent divider8 port ( clk0:inout std_logic; clk1,clk2,clk3:buffer std_logic);end component;component mux4to1port(i0,i1,i2,i3,s1,s0:in std_logic;y:out std_logic);end component;signal z:std_logic_vector(0 to 3);beginvfm1:divider8 port map(z(0),z(1),z(2),z(3);mux:mux4to1 port map(z(0),z(1),z(2),z(3),s1,s0,y);z(0)=clk0;end arc;五、四音频信号输出选择器设计(顶层设计)步骤同上,要求编译、仿真通过,观察分析波形图,验证功能。 图5.10 四音频信号输出选择器波形图(五) 引脚锁定设置和下载 为了对模8环形计数器的设计进行下载及硬件测试,应将其输入输出信号锁定在芯片确定的引脚上,编译后下载。在EDA实验系统上进行硬件测试,完成最终设计与实现。1 打开需下载的工程项目管理器,并打开该工程项目管理器中已设计好的工程文件;2 选择Assignment菜单中的Assignment Editor项,进入Assignment Editor编辑窗口。在Category栏中选择Pin,或直接单击右上侧的Pin按钮;双击TO栏的new,在出现的下拉栏中分别选择本工程要锁定的端口信号名;然后双击对应的Location栏的new,在出现的下拉栏中选择对应端口信号名的器件引脚号(按下表给出的引脚号锁定)。3 存储引脚锁定的信息, 然后再编译(启动Start Compilation)一次。(六)、 配置文件下载首先将实验系统和USB-Blaster电缆连好,打开电源,再打开需下载的文件及工程项目。然后:1. 打开编程窗口、调入需下载的*.SOF文件, 在弹出窗口的Mode栏内,选择JTAG(默认);2 . 选择 USB-Blaster电缆下载方式,检查硬件连接;启动STAR仿真。3 硬件测试 实验系统选择电路模式No.3。四音频信号选择器输入CLK0接实验箱CLOCK5,可在右下角跳线选择4096Hz或1024Hz,控制输入S1、S0接键2、键1 (琴键式功能),可用两手指(食指和中指)放在键1、键2上,产生“00”、“01”、 “10”、“11”控制信号,对应选择的音频信号由扬声器(蜂呜器)发出由高到低不同频率的声音。受蜂呜器发声频带的影响,有的差异不太明显。 实验报告要求写出本次实验的实验报告:1 四音频输出选择器层次化设计体现在哪儿?答:首先分别设计反相器,触发器,再合成设计成divider8分频器模块。其次设计mux2to1二选一多路选择器,再合成设计成mux4to1四选一多路选择器模块。最后将divider8分频器模块和m

温馨提示

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

评论

0/150

提交评论