数字系统设 计实验指导书2010.doc_第1页
数字系统设 计实验指导书2010.doc_第2页
数字系统设 计实验指导书2010.doc_第3页
数字系统设 计实验指导书2010.doc_第4页
数字系统设 计实验指导书2010.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

计算机类相关专业实践指导书数 字 系 统 的 设 计 与 实 验 主 编 朱 理 望 湖南科技大学计算机科学与工程学院目 录第一章 MAX+PLUS II开发软件简介 .3 1.1 MAX+PLUS 软件的功能. 3 1.1.1 MAX+PLUS II的组成 . 3 1.1.2 MAX+PLUS II的VHDL设计资源 .5 1.2 应用 MAX+PLUS II 的设计流程 .6 1.3 MAX+PLUS II的安装方法 .6 1.3.1 MAX+PLUS II的基本安装.6 1.3.2 WIN2000系统下编程器驱动程序的安装方法.7第二章 H17F0S 实验台的硬件资源 .8 2.1 整体布局 .8 2.2 平台资源介绍 .9第三章 应用MAX+PLUS进行电路设计 .13 3.1 设计输入.13 3.1.1 图形化设计输入方法.13 3.1.2 文本设计(VHDL)输入方法.14 3.2 设计仿真.14 3.3 定时分析.14 3.4 器件端口分配.14 3.5 生成电路目标文件.15 3.6 设计验证.15第四章 设计与实验之例 .16 实验一 开发软件的使用与设计/实验的基本方法.16 实验二 数据选择器 .26 实验三 三 八译码器 .28 实验四 串 并转换电路 .30 实验五 十进制计数器 .32第五章 设计与实验习题 .35 习题一 原码反码发生器. .35 习题二 4舍5入电路.36 习题三 四 十六译码器 .37 习题四 全加器的设计 .38 习题五 串行移位寄存器.39 习题六 特征码检测器 .40 习题七 8位乘法器. 41 习题八 六十进制计数器 .42 习题九 数字钟的设计.45 习题十 频率计的设计.47第 一 章 MAX+PLUS 开发软件简介MAX+PLUS 是由Altera 公司开发的适用于数字电路系统设计的工具软件,是一个综合性的DDA(数字系统设计自动化)开发平台。1.1 MAX+PLUS 软件的功能MAX+PLUS 的全称是Multiple Array Matrix and Programmable Logic User System 。 它提供了一个与结构无关的设计环境,支持图形化设计、AHDL、VHDL及Verilog HDL三种硬件描述语言作为设计输入,具备输入、编译、逻辑综合、目标文件下载等设计过程的各项功能,支持的FPGA器件为Altera公司FLEX, MAX, CLASIC等系列,目前的版本为MAX+PLUS II 10.21。1.1.1 MAX+PLUS II的组成MAX+PLUS II包括设计输入、项目编译、项目校验、器件编程以及信息处理五个功能模块,如图一所示: 设计输入 项目编译 文 本 图 形 编 译 器 数 据 库 编辑器 编辑器 网表提取器 建 库 器 符 号 波 形 逻 辑 适 配 编辑器 编辑器 综合器 器 信 息 处 理 和 层 次 显 示 项目校验 器件编程 时 间 编 程 分析器 器 图一 MAX PLUS II的组成 1.1.2 MAX+PLUS II的VHDL设计资源提供了完整的支持VHDL语言IEEE标准std 1076-1993的IEEE库和 STD库,另外 Altera公司为MAX+PLUS II提供了具有丰富地IP模块的ASIC库和图形化设计子电路。1)IEEE库 (1)STD_LOGIC_1164程序包 maxplus2vhdl93ieeestd1164.vhd maxplus2vhdl93ieeestd1164b.vhd (2)STD_LOGIC_UNSIGED程序包 maxplus2vhdl93ieeeunsigned.vhd maxplus2vhdl93ieeeunsignb.vhd (3)STD_LOGIC_ARITH程序包maxplus2vhdl93ieeearith.vhdmaxplus2vhdl93ieeearithb.vhd (4)STD_LOGIC_SIGNED程序包 maxplus2vhdl93ieeesigned.vhd maxplus2vhdl93ieeesignb.vhd2)STD库 (1)STANDARD程序包 maxplus2vhdl93ieeestd1164.vhd (2)TEXTIO程序包 maxplus2vhdl93ieeetextio.vhd3)ASIC库(1) megacore程序包 maxplus2vhdl93Altera megacore. (2) vhdmaxplus2程序包 maxplus2vhdl93Altera maxplus2.vhd4)子电路(1)逻辑门 maxplus2 maxp2libprim (2)74系列器件 maxplus2 maxp2libmf (3) 参数化宏模块 maxplus2 maxp2libmega_lpm1.2 应用 MAX+PLUS II 的设计流程应用 MAX+PLUS II 进行电路设计的流程如下图所示: 设 计 输 入 编 译 项 目 修 改 设 计 仿 真 与 定 时 分 析 目标文件下载至FPGA 测 试 图二 电路设计流程图1.3 MAX+PLUS II的安装方法 Altera公司为MAX+PLUS II软件提供了多则版本,各种版本在功能的开放程度(范围)上有所不同,详细的区别可查阅有关资料,或访问Altera公司网站:,下面以基本MAX+PLUS II(V 10.21)为例讲述主要的安装步骤:1.3.1 MAX+PLUS II(V 10.21)的安装 MAX+PLUS II(V 10.21)的基本安装的步骤如下:1、解压maxplusii_102_pc.zip压缩文件(已解压则不用解压);2、运行解压后的autorun.exe文件,选择第一项进行安装;3、运行maxplusii_1021_pc.exe文件;4、将解压后产生的max2win.exe文件拷贝至c:maxplus目录下,并覆盖原文件;5、将解压后产生的license.dat文件拷贝至c:max2key目录下;6、运行maxplus软件,在option选项中选择license setup选项,装入刚拷贝的license文件。1.3.2 WIN2000系统下编程器驱动程序的安装方法1进入“控制面板”,点击“添加/删除硬件”,点击“下一步”、“下一步”;2在显示的窗口中点击“添加新设备”, 点击“下一步”;3在显示的窗口中选择“否,我想从列表选择硬件(O)”, 点击“下一步”;4选择“硬件类型”为“声音、视频和游戏控制器”;点击“下一步”;5点击“从磁盘安装(H)”, 找到maxplus2driverwin2000win2000.inf,然后点击“打开”,“确定”,(“是”), 再选择“Altera ByteBlaster”;6点击“下一步”、“下一步”、“是”和“确定”等,最后“完成”。( 在控制面板系统硬件设备管理器声音、视频和游戏控制器中查看应有“Altera ByteBlaster”项目 )第 二 章 H17F0S 实验台的硬件资源 H17F0S实验台是进行数字系统设计与实验的硬件平台,由实现数字电路的FPGA芯片(Altera 公司产品F10K20TI144)、下载接口、时钟电路、输入按键、输出器件(发光二极管和数码管)及其驱动电路等部分构成, 为数字系统设计与实验提供了较为丰富硬件资源。 2.1 整体布局实验台主板如下图所示:图一 实验平台主板FLEX10K20芯片,总共144个引脚,其中有多达102个数据输出输入引脚,其他的引脚用于别的功能。设计时,102个脚中的70个固定到特定的显示灯或是按键上,还有32个脚位不固定,没有连接到特定的设备上,可以自由连线,作为以后增加教学资源时的补充;共设计了个显示灯、个数码管、个带显示灯的开关、个带自锁的按键开关、个时钟。这些显示灯、数码管、开关、按键和时钟输入的旁边,都详细标明了与其相连的芯片引脚号,这样,在引脚分配时一目了然。实验台主板的布局方框图如图二所示。图二 实验台主板的布局方框图2.2 平台资源介绍1. 主芯片(FPGA)中间小板上是ALTERA公司FPGA芯片,为 FLEX10K系列的EPF10K20TI144(工业级),系统容量20,000逻辑门,FLEX10K20采用重复可构造的CMOS SRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时也结合了众多编程器的优点来完成普通阵列的宏功能。它具有低功耗、高密度、内部连接灵活等特点。芯片引脚分布如图三所示。该FPGA芯片有102个I/O脚,其它的为电源输入引脚和与编程、下载等功能有关的引脚。芯片引脚的功能描述见表一。图三 FLEX10K20芯片引脚排列图 表一 FLEX10K20芯片引脚功能 引 脚 名 状 态 配 置 方 式引 脚 类 型描 述MSEL0、MSEL1-所有输入00:AS10:PPS11:PPAnSTATUS-所有双向漏极开路命令状态下器件的状态输出位nCONFIG-所有输入配置控制输入,低电平使FLEX10K复位,在由低到高的跳变过程中启动配置CONF_DONE-所有双向漏极开路状态输出DCLK-AS、PS、PPS输入为外部数据源提供时钟nCE-所有输入使能输入,为低时使能输入配置过程nCEO-专用于多片器件输出FLEX10K配置完成后,输出为低2. 输入按键1)脉冲按键10个(不自锁,不带显示灯)编号k9k0, 对应芯片引脚:pin59、60、62、63、64、65、67、68、69、70; 2)电平按键16个(自锁,带显示灯)A7A0, 对应芯片引脚: pin72、73、78、79、80、81、82、83;B7B0, 对应芯片引脚: pin86、87、88、89、90、91、92、95;该按键的显示灯可以在X、Y、Z三组输出显示灯不够用的情况下,作为显示输出用。这时,不要将按键按下,显示灯的亮灭由设计的电路输出决定。灯亮表示输出为1,反之则为0。3. 时钟输入 共有 4个,位于实验平台的左上角。4个时钟对应的输入引脚如下:CLK1 对应芯片引脚:pin55 CLK2 对应芯片引脚: pin125;CLK3 对应芯片引脚:pin128 CLK4 对应芯片引脚: pin122; 每个时钟输入都有8个跳线选择时钟频率,相邻两个跳线之间是两分频的关系,即上一个跳线输出的时钟频率是下一个跳线输出的时钟频率的两倍,频率逐级降低。4个时钟能够得到的时钟分频分别是: CLK1:Q0-Q7 CLK2:Q5-Q12 CLK3:Q11-Q18 CLK4:Q17-Q24其中,Q0是所使用的晶体的振荡频率。 注意:当某个时钟引脚在设计中如果没有使用,请将其频率选择跳线断开。4. 输出1)显示灯(发光二极管) 24个X7X0, 对应芯片引脚: pin41、39、38、37、36、33、32、31;Y7Y0, 对应芯片引脚: pin30、29、28、27、26、23、22、21;Z7Z0, 对应芯片引脚: pin20、19、18、17、13、12、10、9;2)七段数码管8个段选a、b、c、d、e、f、g、h,如图四所示。 对应芯片引脚: pin51、49、48、47、46、44、43、42; g a f b e c d h a分别对应的数码管的段 图四 数码管的段位选L7L0, 对应芯片引脚:pin96、97、98、99、100、101、102、8,从左到右分别选中八个数码管。位选和段选都是高有效,比如要L7的a段点亮,则必须同时将51脚(a段段选)和96脚(L7位选)置高。 5. 下载接口1) JTAG(边界扫描)模式的下载接口一个,该口通过并口下载电缆和打印机并口相连。该下载口在MAX+PLUS II环境下,将*.SOF配制文件下载到芯片。2) PS(被动串行)模式下载接口一个。6. 电源提供直流:79V/250mA 第三章 应用MAX+ PLUS进行电路设计应用MAX+PLUS II软件平台进行电路设计可分为设计输入(包括编译)、设计仿真、 定时分析、器件端口分配、生成电路目标文件、设计验证等六个步骤。3.1 设计输入3.1.1 图形化设计输入方法 建立设计项目(名称) ( FileProject Name)建立新文件 ( FileNew“Graphic Editor File”) 输入图元和宏功能符号A. 在工作区中选定图元或符号的放置位置B. 选定图元或符号Symbol Enter Symbol 在Symbol Libraries选择文件夹 选定图元或符号C. 放置图元或符号并设置有关属性和参数 连接图元和符号 为引脚和节点命名 设置图形编辑选项 保存文件 将工程指向当前文件( FileProjectSet Project To Current File) 编译( MAX+PLUS II 菜单下Compile命令) 创建一个默认的逻辑符号(FileCreate Default Symbol) 创建一个默认的引用文件 ( FileCreate Default Include File )3.1.2 文本设计(VHDL)输入方法 建立设计项目(名称) 可以省略 建立新文件( FileNew“Text Edtior File”) 编辑VHDL程序 保存文件 将工程指向当前文件( FileProjectSet Project To Current File) 编译( MAX+PLUS II 菜单下Compile命令)3.2 设计仿真1 打开一个设计文件2 将工程指向当前文件3 编译4 建立波形仿真文件( FileNew“Waveform Edtior File”)5 设定仿真时长( FileEnd Time )6 设置输入、输出端口( NodeEnter Node Form SNFList”=” “OK”)7 设置输入端口的信号波形8 保存波形仿真文件(与设计文件同名,扩展名为SCF)9 打开仿真器( MAX + PLUS II 菜单下Simulator命令)10 窗口中点击“Start”进行仿真,点击“Open SCF”查看波形仿真结果,注意输出与输入之间存在延时。3.3 定时分析1 打开定时分析器( MAX+PLUS II 菜单下 “Timing Analyzer”命令)。2 在菜单“Analysis”中选择一种分析方法(Delay Matrixh, Setup/Hold Matrix, Registered Profermance )。3 在窗口中点击“Start”进行定时分析,点击“确定”查看定时分析结果,源端(Source)为输入端口,目的端(Destination)为输出端口。3.4 器件端口分配按以下方法将所设计的电路端口定义分配到FPGA器件实际的引脚:1. 点击MAX+PLUS II Floorplan editor 进入FPGA端口分配编辑器环境。2 点击Assign选择器件:Device Family选择FLEX10KDevices 选择EPF10K20TC144-33点击Layout选中以下两项:Device viewCurrent Assignments Floorplan4根据实验台提供的输入/输出资源,将电路使用的输入/输出端口分配至FPGA器件的I/O端口(内部节点不需分配),从而使电路端口与实验台资源连接起来。操作方法是:双击Unassigned Nodes&栏中的电路端口名,将其拖动至FPGA器件的相应引脚。 实验台的资源的作用:自锁按键提供输入电平,弹性按键提供脉冲,指示灯和数码管用作显示输出信号,这些器件在实验台上已与FPGA相应引脚固定连接。(引脚号在器件的周围)5 电路工作所需的时钟信号的连接只能连接(分配)至FPGA器件的4个引脚:P122,P128,P125,P55,具体的时钟频率值由跳线器的位置决定。其中,Q0最高为16M HZ,Q1=Q0,Q2=Q1,依次类推,Q24为0.95367 HZ。3.5 生成电路目标文件将电路端口分配至FPGA器件的I/O端口(引脚) 之后, 再进行编译(第二次编译)和工艺映射( MAX+PLUS II 菜单下Compile命令), 生成电路的目标文件。3.6 设计验证1将实验台下载电缆与PC机并口(打印口)连接;2点击MAX+PLUS II Programmer进入编程器环境;3在Options菜单下点击Hardware Setup,将Hardware Type设置为ByteBlasterMV4在File菜单下点Select Porgramming files 找到相应的目标文件(FLEX系列器件的目标文件为SOF文件,SOF-SRAM Object File。编译器为MAX7000系列器件生成的工程目标文件是POF文件,POFProgrammer Object File)5点击Programmer对话框中的Configure将目标文件写入FPGA器件。至此,设计的电路已由FPGA实现,通过实验台可以进行实际操作以验证电路是否具有了所要求的功能,如果各项功能均符合设计任务书的要求,全部设计工作就已经完成。第 四 章 设 计 与 实 验 之 例 本章给出以VHDL语言描述为主要设计方法,运用MAX+PLUS软件工具和H17F0S 实验台进行数字电路系统设计与实验的若干实例。实 验 一 开发软件的使用与设计/实验的基本方法一 实验目的1熟悉MAX+PLUS II的编译环境,掌握该集成环境各个菜单项的使用。2了解MAX+PLUSII的VHDL程序设计输入方法,初步了解该软件的仿真环境。3初步运用VHDL编程,体会硬件描述语言的先进性。二. 实验内容1用VHDL语言描述下图所示的电路, 编写实现以下电路功能的VHDL程序。 2 在MAX软件平台上进行编译和电路仿真。3 将最后生成的目标文件下载到实验台内的FPGA芯片,在实验台上进行设计验证。三 实验步骤 1 建立工作目录在进入MAX+PLUSII软件之前,在硬盘上新建一个工作目录Shiyan1。2 进入MAX+PLUSII软件工作环境,再进入MAX+PLUSII文本编辑器 FileNew“Text Edtior File”, 如下图所示:3编辑以下VHDL程序boole.vhd:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY boole IS PORT ( A0,A1,B : IN STD_LOGIC; OUT1,OUT2: OUT STD_LOGIC);END boole;ARCHITECTURE one OF boole ISBEGIN OUT1 = A0 AND A1 ; OUT2 ” “OK”,如下图所示: 设置输入端口的信号波形先选中要设置的输入端口,再点击左侧工具栏中的“0”,“1”,“时钟”,“C”等图标进行设置,如下图所示: 保存波形仿真文件操作:FileSave 注意:必须与设计文件同名,扩展名为SCF。7 点击 MAX+plus II 菜单下Simulator命令进入仿真器工作环境。 如下图所示: 8 在窗口中点击“Start”进行仿真,点击“Open SCF”查看波形仿真结果,注意输出与输入之间存在延时。如下图所示: 9 检查电路功能和时序是否正确。10选择器件, 为电路端口分配FPGA器件引脚。 点击MAX+PLUS II Floorplan editor 进入FPGA端口分配编辑器环境。 点击Assign选择器件:Device Family选择FLEX10KDevices 选择EPF10K20TC144-3 点击Layout选中以下两项:Device viewCurrent Assignments Floorplan如下图所示: 根据实验台提供的输入/输出资源,将电路使用的输入/输出端口分配至FPGA器件的I/O端口(内部节点不需分配),从而使电路端口与实验台资源连接起来。操作方法: 双击Unassigned Nodes&Pins栏中的电路端口名,左键按下保持,将小图标拖动至FPGA器件的相应引脚。 引脚分配,即将电路端口映射到FPGA器件的引脚。 可按以下方案进行:A0、A1、B :pin86、87、88 OUT1、OUT2 :pin20、1911 进行第二次编译(包括逻辑综合和器件工艺映射),生成目标文件(*.sof等)。12 将目标文件下载至FPGA器件。 将实验台下载电缆与PC机并口(打印口)连接; 点击MAX+PLUS II Programmer进入编程器环境; 在Options菜单下点击Hardware Setup,将Hardware Type设置为ByteBlasterMV。 如下图所示: 在File菜单下点Select Porgramming files 找到相应的目标文件(FLEX系列器件的目标文件为SOF文件,SOF-SRAM Object File。编译器为MAX7000系列器件生成的工程目标文件是POF文件,POFProgrammer Object File) 点击Programmer对话框中的Configure将目标文件写入FPGA器件。所设计的电路 已由FPGA电路实现。 13在实验台上进行实际操作,验证设计的正确性。至此,设计的电路已由FPGA实现,通过实验台可以进行实际操作以验证电路是否具有了所要求的功能,如果各项功能均符合设计任务书的要求,全部设计工作就已完成。实 验 二 数 据 选 择 器一、 实验目的:1、 理解VHDL语言的并发执行的特点;2、 熟悉VHDL语法;二、 实验内容:地址选择开关输出S0S1Z00A01B10C11D设计一个四路的数据选择器,该电路能将四组不同的数据有选择的输出,每一组数据的宽度为4,输出那一组数据由选择开关决定,如下表:逻辑图如下: 数据选择器 A B Q C D S0 S1三 实验步骤这种电路对输入输出的要求是根据选择条件确定输出,因此,可以用选择信号代入语句为主要语句加以描述。编写源程序如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 IS PORT (a,b,c,d: IN STD_LOGIC_VECTOR (3 DOWNTO 0); s1,s0: IN STD_LOGIC; q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END mux41;ARCHITECTURE behave OF mux41 ISSIGNAL sel: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN sel = s1 & s0; q= a WHEN sel=00 ELSE b WHEN sel=01 ELSE c WHEN sel=10 ELSE d WHEN sel=11 ELSE XXXX; END behave ;按实验一所述的步骤和方法依次进行设计输入,编译,仿真,引脚分配,最后生成目标文件下载至FPGA器件,在实验台上进行实际操作,验证设计的正确性。建议的引脚分配:A3A0:PIN72、73、78、79B3B0:PIN80、81、82、83C3C0:PIN86、87、88、89D3D0:PIN 90、91、92、95S1S0:PIN59、60Q3Q0:PIN41、39、38、37实 验 三 三 八 译 码 器一、 实验目的:1、 掌握组合逻辑电路的设计的一般步骤和方法;2、 掌握一般电路设计要求及其设计知识;二、 实验内容:设计一个3-8译码器,此电路有三个输入端(A,B,C),八个输出端D70;当输入为为不同的值(07)时,只有对应的输出端才有输出;如下图所示:3-8译码器 Y0A Y1 Y2 B Y3 Y4 C Y5 Y6 Y7三、 实验步骤:1、 建立真值表输入输出ABCY0Y1Y2Y3Y4Y5Y6Y70001000000000101000000010001000000110001000010000001000101000001001100000001011100000001 2、 编写VHDL语言程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dec38case1 IS PORT (a,b,c: IN STD_LOGIC; y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END dec38case1;ARCHITECTURE behave OF dec38case1 ISSIGNAL indata :STD_LOGIC_VECTOR(2 DOWNTO 0);BEGIN indata y y y y y y y y y = XXXXXXXX; END CASE; END PROCESS;END behave; 按实验一所述的步骤和方法依次进行编译,仿真,引脚分配,最后生成目标文件下载至FPGA器件,在实验台上进行实际操作,验证设计的正确性。建议的引脚分配:A、B、C:PIN86、87、88Y0Y7:PIN31,32,33,36,37,38,39,41实 验 四 串并 转 换 电 路一、 实验目的:1、 灵活运用VHDL语法;2、 掌握串并转换的原理;二、 实验内容:并行数据输入输出速度快,但是占用资源多;串行的数据输入输出速度慢,但是占用资源少,传输距离远,所以在数字电路设计中经常要用到串并转换;设计一个VHDL

温馨提示

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

评论

0/150

提交评论