数字电子设计指导.doc
《数字电子设计指导.doc》由会员分享,可在线阅读,更多相关《数字电子设计指导.doc(39页珍藏版)》请在沃文网上搜索。
1、前 言EDA设计与应用课程综合实验是在该课程基础实验上的扩充实验,实验对象为高年级本科生。EDA设计与应用课程和该课程的实验安排在同一学期内,使用的是EDA综合实验室新增加的实验开发板和开发软件。但由于学时有限,不可能对该课程涉及到的所有内容都开出相应实验。为了充分利用现有设备并使学生更好地掌握EDA设计技术,提高学生应用系统的设计能力,所以在早期开出的较老的实验基础上,优化一些基础性的实验,同时结合学生所学专业课的知识点和新实验平台的资源,新增加一系列比较有特色的验证性和设计性实验。使学生在EDA实验时,结合本专业,充分掌握电子系统设计辅助工具的使用和EDA设计地关键技术。本实验指导书包含每
2、个实验的内容说明,实验原理及实验详细步骤,同时在每章中提供参考设计的完整代码或者PCB版图。1、 实验系统简介本综合实验的硬件系统由PC机和新购置的Altium NB1实验箱构成,软件包括Altium设计平台以及第三方设计工具(包括Altera的QuartusII或Xilinx的ISE,以及仿真软件Modelsim)。Altium集成开发环境Designer 6.0是比较有特色的一个电子系统开发工具,集成了包括电路系统顶层功能设计,原理图设计,PCB布线及信号分析;兼容多种语言和输入方式的FPGA/CPLD逻辑设计与仿真,嵌入式系统硬、软核设计及汇编或C代码开发;独立IP Core设计等一系列
3、模块。基本整合了完整电路系统设计所需要的工具。同时,能够与第三方开发工具良好的接口匹配,实现更深层次的联合开发与优化。Altium自身提供了很多经过了验证的逻辑功能模块,且完全免费,可以大大减轻开发者的工作量,提高工程设计效率。Altium针对实验教学提供的Nanoboard 开发板,含有大量的硬件资源,可以根据这些资源,设计很多有特及一定难度的实验,使学生充分掌握EDA设计技术。同时,开发者也可以利用该开发板进行一些设计的验证工作。2、 实验目的和内容实验目的:让学生了解和掌握EDA设计与应用课程教学中的知识点,提高学生的实际动手能力和工程设计能力。针对一定应用场合,培养学生进行需求分析,功
4、能划分及系统规划的能力。实验内容:1汽车尾灯控制设计;2可变频率加减计数器的逻辑设计与LCD显示验证;3霓虹灯控制器设计;4. 密码锁设计。3、 课程要求A. 提前预习1. 阅读实验内容。2. 查阅参考资料。B. 认真实验1. 仔细阅读实验步骤。2. 确定使用到的硬件电路及其连接完好。3. 依据流程完成实验。4. 记录实验结果。C. 写好报告报告内容:目的、原理、逻辑结构、仿真测试结果及实验分步操作结果。注意:1, Altium Designer 软件开发平台是由Protel DXP发展而来,操作上很大部分与Protel DXP相同,故课程设计过程中可以参考Protel DXP的相关资料。2,
5、 Altium Designer的安装目录下Help文件夹中提供全面的帮助文档,另外,Altium Designer 本身提供了强大的帮助系统(选择Help菜单或者F1键)。3, Altium Designer支持中文版菜单。在英文菜单的界面下选择:DXPPreferences在弹出的对话框中Localization下面勾选Use localized resources,然后重新启动Altium Designer。设计课题一:汽车尾灯控制器设计一 课程设计的目的:1、 能够全面巩固和应用“数字逻辑”课程中所学的基本理论和方法,并初步掌握小型数字系统设计的基本方法;2、 掌握VHDL语言编制小型
6、模块的方法,并采用层次化设计;3、 培养电路设计能力,懂得理论设计与实物实现的有效结合。二 设计课题的要求:汽车尾部左右侧各4个灯,实现以下四个状态:A:正常运行,指示灯全灭;B:左拐弯,左侧4个灯按左循环依次点亮;C:右拐弯,右侧4个灯按右循环依次点亮;D:刹车时,8个灯随1HZ脉冲同步闪烁。三 实验原理和原理图:根据课题汽车尾灯控制器的具体设计要求,可以得出四种状态下对应的输入输出关系,如下表所示:输入状态左尾灯右尾灯00正常灭灭01右拐灭D4-D5-D6-D710左拐D3-D2-D1-D0灭11刹车所有灯随脉冲闪烁2位输入控制信号经过解码后产生4种可能的输出,对应汽车尾灯的4种状态。其中
7、在“正常”状态下,左右尾灯均灭,即无输出;“右拐”状态时,启动对应的计数器对输入CLK计数,计数器输出经解码后控制右尾灯按D4-D5-D6-D7方向点亮;“左拐”状态类似于“右拐”状态;“刹车”状态时,通过一个与门允许CLK通过而控制所有灯闪烁。原理图如下:四 具体开发过程:一画电路图 1,创建工程。文件新项目FPGA项目(FileNewProjectFPGA Project)。在工程栏中将会显示新建的FPGA 工程名,然后可选在文件预览中选中改项目后单击鼠标右键后,在弹出菜单上选择:保存为。在对话框中为项目重新命名,其他文件如原理图和VHDL文件的重新命名操作类似。建议对新建的文件重新命名并
8、保存(系统自动生成文件除外),以便于对项目文件进行管理和操作。在工程栏中选择:文件预览(File View),在工程中将会列出所有属于当前工程的文件。2,添加原理图。选择:文件新原理图(FileNewSchematic),重命名并保存。左键点中原理图,键盘上PageUp,PageDown可调整视图大小。选择:设计文档选项标准样式(DesignDocument OptionsSheet Options)可调整图纸尺寸大小。3,放置元件。(1)首先,打开右侧的器件库(Library),选择FPGA Generic.IntLib,然后在器件列表中选择器件(可参照附录),例如反向器:找到inv,选中i
9、nv按place inv或双击inv,把鼠标移到原理图上,单击左键,放置反向器,再单击右键结束放置。照此操作程序放置其他元件。(2)调整元件放置方向可双击元件,打开元件属性(或者右键选中元件拖动时的候,按Tab键打开元件属性),在图形(Graphical)区域中进行调整。也可以使用快捷键,选中元件拖动时按X或者Y键选择镜像,按空格键(Space)旋转。注意课程设计用到的器件基本上可以在FPGA Generic.IntLib中找到,具体请参见指导书附录里的元件库。本例中用到的元件有: 译码器:D2_4ES,D4_16EB ,计数器:CB4CES,CB4CEB, 总线连接器:J16B_16S ,反
10、向器,与门,或门。4. 连接元件。(1)单引脚之间,导线之间可点击Wire按钮,进行连接。(2)总线端口之间可点击Bus按钮进行连接,注意总线两边端口数应相同。如果两边端口数不相同可以使用连接。(3)利用总线连接器连接总线(Bus Joiner)。(4)总线导线之间连接可点击Bus Entry按钮,将放置到总线上,再连接导线,最后对总线和支线命名。本例中总线命名为N3.0,支线要连到U14的Q2口上,Q2是与总线的N2对接的,因此,支线命名为N2。(5)添加输入输出端口,电源及地线。 用导线连接的电源,地线可点击VCC和GND。 用总线连接的电源,地线可点击VCCBus和GNDBus。 系统仿
11、真时需要为原理图添加输入输出端口。点击Port按钮,在原理图上添加输入输出端,并双击打开属性,修改名称和类型。注意: 1,在为文件,元件,端口和网络等自定义名称时注意不要占用系统已用名称。2,输入口不得悬空,输出口可以悬空,需加上标志忽略语法检查。3,本例中两个椭圆内的电路可采用同样的方式实现,现选用两种不同的方式仅为做示范讲解。二系统仿真1从原理图创建VHDL程序。电路图画好后保存,选择:设计项目的网表VHDL文件,然后在弹出的对话框中,钩选“生成多VHDL文件” 和“转换参数为属性”两项。产生的VHDL文件保存在系统自动建立的项目中子文件夹“Generated”中。2创建VHDL测试平台。
12、将上述创建的VHDL文件打开,使其处于当前窗口,选择:设计创建VHDL测试平台。系统自动创建一个VHDTST类型的测试平台文件。3填写有关的程序。上述系统自动创建的测试平台文件是一个不完整的文件,需要在STIMULUS0:process中添加输入信号,然后保存。 注意:测试平台程序属于VHDL文件,语法规则完全符合VHDL语言,测试平台的运行方式与VHDL文件一样,多个process之间是并行执行的,各个process内部的语句是顺序执行的。下图所示程序中STIMULUS0:process里面的语句执行到最后“wait;”时候进入无限期等待状态,所以STIMULUS0:process里面的语句
13、只执行了一次;在CLK:process里面的语句循环执行,产生连续的方波。修改完的测试平台程序如下:4进行仿真。在测试平台的当前窗口下选择:仿真模拟(SimulatorSimulate)编译文件并进入仿真面板和“编辑仿真信号”(Edit Simulation Signal)对话框中选择需要观察的管脚信号。然后单击步进运行(Run Simulation For A Time Step)按钮,设定单位步进时间,建议设置为STIMULUS0:process里“wait;”前面所有语句的执行时间,如本例中设为400ns。单击按钮继续往后执行。通常需要对多种输入组合进行仿真,如本例中有4种状态。可以一次
14、性在仿真测试平台中添加(用 wait for语句分段),一次性仿真。也可以每次只仿真一种状态,多次修改测试平台文件,多次仿真。注意:创建VHDL测试平台需要VHDL语言基础,不可出现语法错误。每次对原理图进行修改保存后,建议重新从原理图创建VHDL程序和创建VHDL测试平台。三下载实验。在仿真结果正确以后,可以准备下载到实验开发板NanoBoard上运行。下载之前需要了解NanoBoard,可以参考NanoBoard附带的说明书和相关资料。本例需要的NanoBoard的板上资源有:1),时钟硬件资源如下图:使用到的是20Mhz的固定参考时钟CLK_REF,或者使用CLK_BRD,可以通过配置C
15、LOCK0CLOCK2接头得到多种频率。2),拨动开关输入部分硬件资源:SW开关拨到ON位置为低电平。3),LED指示灯输出部分硬件资源:NanoBoard板提供8个LED指示灯用于显示输出状态,高电平点亮。1修改原理图。系统仿真结果正确后进行下载,需要将原理图上用于仿真的输入输出端口换成NanoBoard板上适合的硬件资源。NanoBoard板上提供的所有可用的硬件资源均可在元件库FPGA NanoBoard Port-Plugin.IntLib中找到。本例中,将拨动开关DIPSWITCH的前两位作为输入ctrl0和ctrl1;将8个LED指示灯作为输出D0D7;将CLK_BRD设置为10M
16、Hz经过分频后作为输入脉冲clk0,其中分频电路如下:其中注意U3 和U7区别,后缀“DC50”表示分频后输出是占空比为50%的方波而非U3和U2 输出的脉冲序列,用户可以根据实际情况进行选择(该分频电路选用“DC50”仅为做示范讲解)。CLK_BRD设置为10MHz,分频后产生10Hz的方波,作为输入脉冲clk0。 2添加约束文件。选择:项目配置管理(ProjectConfiguration Manager),弹出对话框。选择:“增加”配置后并命名;然后选择:“增加”约束文件后选择约束文件Fpga/NB1 Constraint Files/Xilinx FPGA/ NB1_6_XC3S100
17、0-FG456. Constraint。记得勾选右上角的小方框,并确定。系统将自动在项目中生成子文件夹“Settings”,并将选择的约束文件包含在其中。3下载文件。连好开发板,插入 Xilinx公司芯片XC3S1000的子板(注意不要错用Altera公司芯片的子板),打开电源开关,然后单击新原理图界面的打开器件阅览叶(Open the Device View Page)按钮,弹出如下界面:记得勾选左上角“活动(Live)”旁边方框,检查NanoBoard板是否连接正常。如果前面所述的配置管理设置正确的话,会出现中间扁平椭圆内的4个下载操作栏。若未出现,则需重新进行配置管理。然后依次点击圈中的
18、四个按钮,逐步进行下载操作,当指示灯都变为绿色表示该部操作顺利完成,黄色表示尚未执行,蓝色表示正在执行,绿色表示执行正常,橘红色表示文件有错误,须返回修改调整。当下载成功后,子板上的绿灯LOADED点亮,即可进行操作验证。 设计课题二:可变频率加减计数器设计及其LCD显示实验目的A. 掌握AltiumDesigner开发环境的使用与开发流程。B. 学习时钟分频器原理与实现方法。C. 掌握8421BCD加减计数器原理与实现。D. 了解仿真文件Testbench的编写与仿真操作。E. 掌握BCD向ASCII译码原理与实现。F. 了解LCD显示器及控制器工作原理。G. 了解本实验所用到的Nano实验
19、板上的硬件资源及相关电路。实验内容及要求设计一个3位宽度的十进制加减计数器(0999),计数跳变的频率和加减模式可实时变化,通过Nano实验板上的LCD显示器显示。计数频率、加减选择和初始化操作通过板上的拨动开关和Reset按钮实现。内容:1. 分析本实验的功能需求,进行整体逻辑结构划分。2. 编写各个模块的逻辑,进行分层仿真。3. 整合各个子模块,完成整个逻辑的综合与下载。4. 验证LCD显示的正确性,分析分频步长与计数跳变频率的关系。5. 完成试验报告。要求:1. 分频步长及加减控制使用开发板上的8位拨动开关作为输入。分频计数器精度为24bit(高7位可控)。系统工作时钟使用20Mhz R
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子设计 指导
