您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > (VHDL实验报告)四选一数据选择器的设计
数字电路EDA设计与应用四选一数据选择器乱弹的枇杷二、实验目的1、熟悉四选一数据选择器的工作原理。2、进一步掌握VHDL顺序语句和并行语句的使用。3、进一步熟悉QUARTUSⅡ软件的使用方法和VHDL输入的全过程。三、实验原理在数字系统中常需要将多路数据有选择地分别传送到公共数据线上去,完成这一功能的逻辑电路称为数据选择器。数据选择器是一种通用性很强的中规模集成电路,它的用途很广。四选一数据选择器有六个输入端(其中四个为数据输入端,两个为控制信号输入端)和一个输出端。其真值表如下图所示:四选一多路选择器的VHDL描述非常灵活,可以采用多种语句来实现。本实验要求分别用VHDL顺序语句和并行语句来实现。四、实验内容在本实验中,用六个拨动开关来表示四选一数据选择器四位数据及两位控制端的输入,用一个LED来表示四选一数据选择器的一个输出,通过拨动开关组成控制输入端sel1和sel0不同组合,观察LED与数据输入端D0,D1,D2,D3的关系,验证四选一数据选择器设计的正确性。使用逻辑门电路与、或、非的组合来表达4选1数据选择器,通过控制输入的信号来控制输出的信号值。实验箱上拨动开关档位在下方时表示其输出为低电平,反之输出市电平。其拨动开关与FPGA管脚的连接表以及LED灯与FPGA管脚连接表如下两图所示:五、实验步骤1、建立工程文件1)运行QUARTUSII软件。2)选择软件中的菜单FileNewProjectWizard,新建一个工程。3)点击NEXT进入工作目录,设定工程名和实体名。4)点击NEXT,进入下一设定对话框,(本次实验选用CycloneII系列芯片EP2C35F672C8),在对话框的左上方的Family下拉菜单中选取CycloneII,在中间右边的Pincount下拉菜单中选取672,在Speedgrade下拉菜单中选取8,在左下方的Availabledevices框中选取EP2C35F672C8。点击NEXT完成器件的选取,进入EDATOOL设定界面。5)按默认选项,点击NEXT出现新建工程以前所有的设定信息,再点击FINISH完成新建工程的建立。五、实验步骤2、建立文本设计文件1)建立另一工程(注意不要和原来的图形设计文件工程重名),在创建好设计工程后,选择File--New--DeviceDesignFiles--VHDLFile,点击OK按钮,打开进入文本编辑器对话框。2)在文本编辑器中输入对应VHDL程序代码(本次实验则需输入四选一数据选择器的代码,注意实体名与所建工程名的实体名的一致性),本次实验我所用的VHDL顺序语句代码是CASE语句,其并行语句的代码用的是条件信号赋值语句,具体代码如下图所示:3)对文本文件进行编译。选择processing--compilertool--start或直接点快捷栏上的三角形则会出现编译器窗口。需要说明的是在进行设计文件的综合和分析,也可以单独打开某个分析综合过程不必进行全编译界面。当完成上述窗口的设定后,点击START按钮进行设计文件的全编译。如果文件有错,在软件的下方则会提示错误的原因和位置,以便于使用者进行修改直到设计文件无错。整个编译完成,软件会提示编译成功。五、实验步骤3、管脚分配1)在前面选择好一个合适的目标器件(在这个实验中选择为EP2C35F672C8)完成设计的分析综合过程,得到工程的数据文件以后,需要对设计中的输入、输出引脚指定到具体的器件管脚号码,指定管脚号码称为管脚分配或管脚锁定。这里介绍两种方法进行管脚锁定。2)点击Assignments菜单下面的AssignmentEditor,进入到引脚分配窗口。将弹出的窗口中的All改成pin,再点击List,在NodesFound窗口会出现所有信号的名称,点击中间的按钮则SelectedNodes窗口下方出现被选择的端口名称。双击OK按钮,完成设置。进入管脚分配窗口。3)依照“硬件与FPGA的管脚连接表”分配对应的输入管脚名,依照“LED灯与FPGA管脚连接表”分配对应的输出管脚名。本次实验的分配关系是:(输入端D3、D2、D1、D0、sel1、sel0分别对应的FPGA管脚名为H8、J8、J9、A4、B5、A6,输出端y对应的FPGA管脚名为G13),如下图所示。4)分配完管脚后,再次进行一次全编译,使分配的管脚有效。五、实验步骤4、对设计文件进行仿真1)选择File--New,在弹出的对话框中选择VectorWaveformFile,点击OK按钮,打开进入一个空的波形编辑器窗口。2)设置仿真结束时间,波形编辑器默认的仿真结束时间为1µS,根据仿真需要,可以自由设置仿真的结束时间(本次设置的为1ms)。选择QUARTUSII软件的Edit--EndTime命令,弹出线路束时间对话框,在Time框办输入仿真结束时间,点击OK按钮完成设置。3)加入输入、输出端口,在波形编辑器窗口左边的端口名列表区点击鼠标右键,在弹出的右键菜单中选择InsertNodeorBus…命令,在弹出的InsertNodeorBus对话框界面中点击NodeFinder…按钮。在出现的NodeFinder界面中的Filter列表中选择点击List,在NodesFound窗口出现所有信号的名称,点击中间的按钮则SelectedNodes窗口下方出现被选择的端口名称。双击OK按钮,完成设置,回到InsertNodeorBus对话框,双击OK按钮,所有的输入、输出端口将会在端口名列表区内显示出来。4)编辑输入端口波形,即指定输入端口的逻辑电平变化,在波形编辑窗口中,选择要输入波形的输入端口。以sel0端口为例,右键单击sel0,依次选择value--clock--period,将时间改为1us。然后重复此过程将sel1的时间改成2us(sel1的周期是sel0的2倍),再将输入端的D0--D3选择不同的周期(一次要有所差别)。最后选择软件的FieSave进行保存。5)指定仿真器设置,在仿真过程中有时序仿真和功能仿真之分,在这里介绍功能仿真。在QUARTUSII软件中选择ProcessingSimulatorTool命令,打开仿真器工具窗口,如下图所示。按图上的提示,首先产生功能仿真网表文件(在simulationmode后选择Functional),点击产生功能仿真网表的按钮GenerateFunctionalSimulationNetlist,产生功能仿真网表,然后点击开始仿真的START按钮开始进行仿真,直到仿真进度条为100%完成仿真。点击仿真报告窗口按钮Report,观察仿真波形。确定其符合实验内容。五、实验步骤5、从设计文件到目标器件的加载完成对器件的加载有两种形式,一种是对目标器件进行加载文件,一种是对目标器件的配置芯片进行加载。这里我们介绍对目标器件EP2C35F672C8进行加载的方法。1)使用下载电缆将PC机与实验系统连接起来。2)选择QUARTUSII软件的ToolsProgrammer命令,进行编程器窗口。如果没有设置编程硬件,则编程硬件类型为NoHardware,需要对编程硬件进行设置。点击HardwareSetup…编程硬件设置按钮,进行如下图所示的编程硬件设置对话框。3)点击AddHardware按钮,出现AddHardware对话框,在AddHardware对话框中,从Hardwaretype列表中选择所需要硬件类型,如果是USB接口的请参照用户使用手册中的USB电缆的安装与使用,如果使用的是并口下载线则选取如下图所示的硬件类型,点击OK按钮,完成对硬件类型的设置。回到编程器硬件设置窗口,点击Close按钮退出设置。则在编程器对话框中的编程硬件类型会出现刚才选取的编程器硬件。4)此次实验室所用的安装驱动的方式为:右键“我的电脑”--设备管理器--双击有黄色问号通用USB--驱动程序--更新驱动程序--从列表或安装……--下一步--下一步--从磁盘安装--浏览--在我的电脑D盘中选择找到USBbluster即可安装好驱动。5)如果软件已运行一个工程,则在打开编程器的时候,编程器窗口会自动出现这个工程文件要加载到目标器件的文件,如果要加载其它文件可以从其它地方进行添加更改。选好加载文件后,再点选Progam/Configure,编程模式选取JTAG模式,点击STRAT进行文件加载,直到加载进度变为100%,文件成功加载完成。六、实验现象及结果本次实验我分别用实验箱上的开关K1、K2、K3、K4作为4选1数据选择器四输入D3、D2、D1、D0;分别用开关K7、K8作为数据选择器的控制端sel1、sel0;分别用LED彩灯LED1作为数据选择器的一个输出端y。故实验时将实验箱上的K7、K8置为低电平(即“00”时),LED灯只与开关K4的电平有关(当K4为高电平时灯亮,其为低电平时灯灭)如下第一幅图所示;以下第二张图则是当K7、K8为“01”时,K3为高电平时,LED灯亮;第三幅图是K7、K8为“10”,K2为高电平时灯亮;第四幅图是K7、K8为“11”,K1为高电平时灯亮。以上结果均符合四选一数据选择的真值表。七、心得体会
本文标题:(VHDL实验报告)四选一数据选择器的设计
链接地址:https://www.777doc.com/doc-4190405 .html