硬件描述语言与EDA技术实验指导书(15年)

上传人:沈*** 文档编号:145736928 上传时间:2022-08-30 格式:DOC 页数:48 大小:7.75MB
返回 下载 相关 举报
硬件描述语言与EDA技术实验指导书(15年)_第1页
第1页 / 共48页
硬件描述语言与EDA技术实验指导书(15年)_第2页
第2页 / 共48页
硬件描述语言与EDA技术实验指导书(15年)_第3页
第3页 / 共48页
点击查看更多>>
资源描述
微电子学课程设计指导书硬件描述语言与EDA技术实践(编写人 陈先朝)第一部分:组合逻辑电路设计、仿真和下载验证实践项目性质:综合训练所涉及课程:电路分析、数字电子技术基础、硬件描述语言与EDA技术一、 实践目的:1. 学习和初步掌握QuartusII软件的基本操作;2. 通过38译码器的设计,掌握组合逻辑电路的设计方法,掌握其静态测试的方法;3. 初步了解可编程器件设计的全过程,掌握原理图的设计方法。二、 实践步骤:说明:本实践步骤较概要地介绍altera公司QuartusII9.1版本软件的基本操作步骤,由于版本的不同,所介绍的界面可能会与其他版本的界面有所不同,请注意甄别。下载所选的芯片是附录的EL-EDA_VI型实验箱芯片,不同的实验箱,芯片是不一样的,当然分配管脚的信息也不一样,设计时要先确认用哪一种实验箱,本实践室共有4种实验箱(详见附录)。读者在通过本实践后,将对QuartusII软件及CPLD/FPGA的设计与应用有一个比较完整的概念和思路。但因篇幅有限,仅仅介绍了QuartusII软件的最基本、最常用的一些基本功能,更详细的使用,请参阅该软件的专门书籍。相信读者在熟练使用本软件以后,你定会发现该软件还有好多非常方便、快捷、灵活的设计技巧与开发功能。1、打开QuartusII软件。2、选择路径。选择File/New Project Wizard,指定工作目录,指定工程和顶层设计实体名称。每设计一个项目,都应指定一个相应的目录,便于管理,因为在后面的编译、仿真与验证过程中,会产生许多相关文件。单击“Next”。注意:工作目录名、工程名、文件名不能有中文,也不能与库中已有的基本器件名相同,否则编译会出错。3、添加设计文件。如果有已经建立好的Verilog或者原理图等文件可以在File name中选择路径然后添加,或者选择Add All添加所有可以添加的设计文件(.VHDL,.Verilog,原理图等)。如果没有直接点击“Next”,等建立好工程后再添加也可。这里我们暂不添加。4、选择FPGA器件。在Family中选择Cyclone,Available device选择EP1C12Q240(EL-EDA_VI型教学实践系统所用的芯片)。点击“Next”。5、选择外部综合器、仿真器和时序分析器。Quartus II支持外部工具,可通过选中来指定工具的路径。这里我们不做选择,默认使用Quartus II自带的工具。6、结束设置。单击“Next”,弹出 “工程设置统计”窗口,上面列出了工程的相关设置情况。最后单击“Finish”,结束工程设置。7、建立原理图文件。如果在建立工程时没有添加设计文件,这时可以新建文件再添加。也可通过选择ProjectAddRemove Files In Project来添加外部文件。此处,选择FileNewDesign FilesBlock DiagramSchmatic File,即是用原理图方式进行设计。8、添加文件到工程中。点击“OK”并选择FileSave As,选择和工程相同的文件名。点击“保存”,文件就被添加进当前的工程当中。原理图的文件名后缀件“.bdf”。9、原理图建立完毕。这时,可以开始在原理图上进行设计了。提示:用户可以在打开Quartus II后直接建立原理图或者Verilog文件,选择Save As,系统会提示是否要保存为工程文件,选择建立工程文件,也可进入工程文件建立流程。10、添加器件。双击画图区、或点击画图工具中的“Symbol Tool”、或选择菜单中的“Edit/Insert Symbol”后会出现添加器件符号图“Symbol”的对话框,从Quartus安装目录下的“Libraries/Primitives”库中选取所要添加的器件、输入端口、输出端口、电源、接地等等,输入端口和输出端口修改成相应的名称。然后连线成如下图所示的3-8译码器电路图。11、编译。选择ProcessingStart Compilation,进行编译。成功编译后出现如下对话框;如不成功,按信息提示进行修改,直至成功编译。12、功能仿真验证通过编译后,可以利用Quartus II的强大功能,对所设计的工程进行功能仿真验证或时序仿真验证,以软件验证设计的正确性。选择FileNewVerification/Debugging FilesVector Waveform FileOK(如下图所示),创建波形文件。选择FileSave As,另存为.vwf后缀的波形文件。在新的波形文件中选入需要验证的引脚,通过在左边窗栏里点击鼠标右键,选InsertInsert Node or Bus,在打开的对话框中点击Node Finder,出现另外一个对话框,再点击List,选择所要观察的信号引脚(选中引脚名,再点“”键),如下图所示。点击OK后,显示了如下图所示的所要观察的信号引脚的波形文件。选择Assignments SettingsSimulator Settings,如下图所示。在Simulation modek设置Function类型仿真,再点击OK。仿真步长和周期在菜单中的Edit/Grid Size 和End Time 中设置。为了观察输出信号值的正确与否,必须设置引脚的输入信号值。例如:设置输入A端口的信号值时,先选中A端口,再点击左工具栏中带有“C”的按钮,出现如下图所示“Count Value”对话框进行设置。对于本例,所有输入端口设置好的信号值如下图所示。设置完毕之后,点击ProcessingGenerate Functional Simulator NetList,生产网表文件之后,点击ProcessingStart Simulator,进行功能仿真,然后验证逻辑功能是否正确。如果与所设计的功能不一致,修改设计,再仿真(注意:每次修改都要重新编译),直至符合设计要求。下图是本例的最终仿真结果。13、添加管脚信息在此设计中,只有6个输入端和8个输出端。对EL-EDA_VI型实验箱,要求将未分配的管脚置为三态输入,否则可能导致主芯片或外围芯片损坏。具体设置是:AssignmentsDeviceDeviceDevice & Pin OptionsUnused PinsReserve all unused pins:AS input tri-stated,如下图所示。选择Assignments/Assignment Editor,在Edit中,选择Node Finder,弹出“Node Finder”对话框。在Node Fider中,选择List显示所有节点信息,然后全部选中。14、为每个节点分配引脚。在Category中,选中Pin;在Edit下面的“To”和“Location”中,分别为输入和输出端口指定芯片的引脚,如下图所示。然后再进行编译,即运行“Start Compilation”。15、下载 下载这一步骤要在PC机与实验箱通信线连上、实验箱的连接线也按要求接上以后,才有意义,这一部分工作须在实践室中进行。下载之前,须对PC机的硬件进行设置(参见其他相关资料)。下载可以选择JTAG方式和AS方式(JTAG下载方式把文件直接下载到FPGA里面,AS下载方式把文件下载到配置芯片里面,因此可以掉电存储)。选择ToolProgrammer,选择JTAG下载方式,选择Add File,添加.sof文件(AS下载选择.pof文件)并选中Program/Configure,点击“Start”后开始下载。第一次使用下载时,首先点击“Hardware Setup.”,打开Hardware Setup对话框,然后点击Add Hardware,选择ByteBlasterII后单击“Select Hardware”,选择下载形式为ByteBlasterII。三、实践接线及说明功能选择位VGA3.0状态为0001,即16位拨码SW16SW1被选中输出到总线BUS_D15.0。所以,A、B、C、G1、G2AN、G2BN分别对应EDA-VI实验箱底板SW1SW6。Y0NY7N分别对应EDA-VI实验箱底板IO9IO16。用导线将IO9IO16与8位LED L1L8相连,LED为低电平点亮。控制拨码开关SW1SW6,使G1为高电平,G2AN和G2BN为低电平,分别改变A、B和C,观察L1L8显示状态是否与预期输出结果一致。四、实践记录控制端口输入数据输出数据G1G2ANG2BNABCY0NY1NY2NY3NY4NY5NY6NY7N五、实践报告1. 叙述完成实践中的内容;2. 总结基于Quartus系统用图形法进行逻辑电路进行设计、仿真的主要操作步骤;3. 讨论自己在设计过程中遇到的问题,解决过程以及收获、体会。第二部分:时序逻辑电路设计、仿真和下载验证实践项目性质:综合训练所涉及课程:电路分析、数字电子技术基础、硬件描述语言与EDA技术一、 实践目的:1. 学习和掌握QuartusII软件的操作;2. 通过设计24进制的计数器,掌握时序逻辑电路的设计方法;3. 掌握基于可编程器件的Verilog硬件描述语言的设计方法。二、 实践步骤:1. 源程序输入所有的实践步骤均类同于第一部分。不同之处:第一部分是原理图的设计文件格式.bdf;这一部分是Verilog文本的设计文件格式.v。建立方法:选择File/New/ Design Files/Verilog HDL File,出现如下图所示界面,点击OK同,即可进行Verilog HDL源程序的设计输入。本实验以设计一个24进制计数器为例,其Verilog HDL参考源程序如下:module counter24(seg_led,sel,vga,clk,clk100);output 7:0 seg_led,sel;output 3:0 vga;input clk,clk100;reg scan;reg 7:0 seg_led,sel;reg 3:0 CntH,CntL,number;wire 3:0vga;assign vga=4b0010; / EL-EDA_VI型实验箱功能选择,使用右端8个数码管always(posedge clk )beginif(CntH=2)&(CntL=3) /当计数为23时,下一个脉冲置零CntH,CntL=8h00;else if(CntL=9) /当个位为9时,下一个脉冲个位置零,十位加1beginCntH=CntH+1b1;CntL=4b0000;endelse /下一个脉冲个位加1begin CntH=CntH; CntL=CntL+1b1;endendalways (posedge clk100) /设置数码管动态扫描信号scanbeginif (clk100=1)scan= scan;endalways (scan) /进行数码管位选,低电平有效begincase (scan)1b0: begin number=CntL;sel=8b11111110; end /选择个位数码管1b1: begin number=CntH;sel=8b11111101; end /选择十位数码管default:sel=8b11111111; /其它数码管无效endcasealways (number)/BCD码译成七段数管码(其阴极)显示,最低位为a,最高位为小数点begincase (number ) 4b0000: seg_led = 8b00111111; /数管码显示04b0001: seg_led = 8b00000110; /数管码显示14b0010: seg_led = 8b01011011; /数管码显示24b0011: seg_led = 8b01001111; /数管码显示34b0100: seg_led = 8b01100110; /数管码显示44b0101: seg_led = 8b01101101; /数管码显示54b0110: seg_led = 8b01111101; /数管码显示64b0111: seg_led = 8b00000111; /数管码显示74b1000: seg_led = 8b01111111; /数管码显示84b1001: seg_led = 8b01101111; /数管码显示9default: seg_led = 8b00000000; /其他情况数管码不显示endcase endendmodule2. 仿真结果除了验证输入和输出引脚信号外,要验证中间信号或变量的情况时,打开波形文件EditInsertInsert Node or BusNode FinderFilter中选择“Design Entry(All names)”,再点击“List”,选择所要观察的信号。本例的仿真结果如下图所示:从上图可以看出,随着计数时钟“clk1”的变化,个位CntL从09变化,十位CntH从02变化,但当十位CntH为2时,个位CntL变到3时,个位和十位一起回到0,从而实现24进制计数器的功能。随着扫描时钟“clk100”的变化,扫描信号“scan”01变化。当“scan”为“0”时,输出“11111110”(低电平有效)使个位数码管亮,显示“CntL”数字;当“scan”为“1”时,输出“11111101”使十位数码管亮,显示“CntH”数字,从而实现数码管的动态扫描。3. 分配引脚记住,对于EL-EDA_VI型实验箱,要求将未分配的管脚置为三态输入:AssignmentsDeviceDeviceDevice & Pin OptionsUnused PinsReserve all unused pins:AS input tri-stated。分配管脚的结果如下图所示。4. 下载按管脚分配在EDA-VI实验箱上接好线,按本指导书的第一部分中二(15)中“下载”说明进行下载。三、实践接线及说明使用EL-EDA_VI型实验箱,所以,功能选择位VGA3.0状态为0010,即对应实验箱的右上角的8个数码管,数字总线的低8位BUS_D7.0与数码管的7段总和小数点相连,数字总线的高8位BUS_D15.8与8个数码管相连。用导线将IO_CLK与IO3相连,P8与IO9相连,观察两个数码管显示是否与预期一致。四、实践报告1. 叙述完成实践中的内容;2. 总结基本Quartus系统用Verilog硬件描述语言进行时序逻辑电路进行设计、仿真的主要操作步骤;3. 讨论自己在设计过程中遇到的问题,解决的过程以及收获、体会。第三部分:Verilog综合性设计、仿真和下载验证实践项目性质:综合训练所涉及课程:电路分析、数字电子技术基础、硬件描述语言与EDA技术一、目的与任务1.1 熟练掌握EDA工具软件Quartus的使用;1.2 熟悉用Verilog硬件描述语言描述数字电路;1.3学会使用Verilog进行大规模集成电路设计;1.4学习用CPLD/FPGA实践系统硬件验证电路设计的正确性;1.5初步掌握EDA技术并具备一定的可编程逻辑芯片的开发能力。二、教学内容基本要求2.1设计题目(1) 指定题目:学号尾号 题目名称1 数字秒表2 简易数字钟3 简易频率计4 彩灯控制器5 交通灯控制器6 四路智力竞赛抢答器7 简易微波炉控制器8 表决器9 数字密码锁0 多功能计数器每个题目的内容要求详见附录。(2) 自选题目:每个学生可自选上述题目之外的其他题目,但难度不能低原来的题目且需经指导教师同意。2.2设计内容(1) 系统功能分析;(2) 实现系统功能的方案设计;(3) 编写各功能模块Verilog语言程序;(4) 对各功能模块进行编译、综合、仿真和验证;(5) 总系统(顶层文件)设计;(6) 对整个系统进行编译、综合、仿真和验证;(7) 在CPLD/FPGA实践开发系统试验箱上进行硬件验证;(8) 撰写报告。2.3设计要求(1) 按所布置的题目要求,每一位学生独立完成全过程;(2) 分模块层次化设计;(3) 各功能模块的底层文件必须用Verilog语言设计,顶层文件可用Verilog语言设计,也可以用原理图设计。三、主要教学环节3.1设计时间安排第一天:布置设计题目和设计要求;收集相关资料。第二天:设计方案分析与确定;编写Verilog源程序。第三天:编写Verilog源程序;编译、综合、仿真、定时分析、适配。第四天:下载和硬件验证;验收。第五天:下载和硬件验证;验收;撰写报告。注:各人可根据自己的时间安排,灵活掌握,并尽可能提前完成。鼓励提前在实践设计周之前课外时间先做。3.2指导与答疑现场有教师答疑,学生有疑难问题可找教师答疑。教师一般只提供指导性意见,学生应充分发挥主观能动性,提高分析问题和解决问题的能力。3.3成绩考评教师根据学生设计和下载全过程的完成情况、答辩成绩和课程设计报告书综合评出该课程设计成绩。四、设计报告的内容和要求(1) 设计报告的内容必须包括上述设计内容的每一项;(2) 所设计系统的功能要求与分析;(3) 设计思路分析,设计方案合理性分析与选择;(4) Verilog源程序;(5) 在Quartus软件平台上进行Verilog编辑、编译、综合、仿真、定时分析、适配和配置的情况;(6) 在CPLD/FPGA实践系统上下载,进行硬件验证情况;(7) 设计与下载过程中所遇到的问题和解决方法;(8) 总结设计收获与体会。五、设计所用仪器设备和材料清单PC机,Quartus软件,KHF3型CPLD/FPGA实践开发系统,或TDEDA实践开发系统,或EL-EDA_VI型教学实践系统,打印机,墨盒,打印纸。注:实践室共有上述三种硬件下载系统,即:KHF3型CPLD/FPGA实践开发系统,TDEDA实践开发系统,EL-EDA_VI实践系统,EL-EMCU-I实验系统,可根据自己的设计内容、资源要求及喜好,选择其中的一种作为自己的实践开发系统。六、预习与参考(1) 自编指导书;(2) Verilog与EDA相关教程:a) 潘松等编著,EDA技术与Verilog HDL ,电子工业出版社,2013年;b) 现代数字电子技术及Verilog设计,清华大学出版社,2014年; c) 王金明等编著,EDA技术与Verilog HDL设计,电子工业出版社,2013年;d) 刘靳等编著,Verilog程序设计与EDA ,西安电子科技大学出版社,2012年;e) 刘福奇主编,Verilog HDL 应用程序设计实例精讲,电子工业出版社,2012年;f) 周润景等主编,基于Quartus 的数字系统Verilog HDL设计实例详解,电子工业出版社,2010年。(3) 相关的电子技术基础。附录:题目及内容要求1. 数字秒表设计一块数字秒表,能够精确反映计时时间,并完成复位、计时功能。秒表计时的最大范围为1小时,精度为0.01秒,并可显示计时时间的分、秒、0.01秒等度量。用六位数码管显示时间。2. 简易数字钟设计一个以“秒”为基准信号的简易数字钟,显示时、分、秒,同时可实现整点报时和清零。3. 简易频率计设计一个简易的6位十进制频率计,可测量的信号频率范围从1Hz到999999Hz,并显示被测频率值。4. 彩灯控制器设计一个多路彩灯控制器,能够在4种不同的彩灯花样之间进行循环变化,并可设置花型变化的节奏,且可进行复位。5. 交通灯控制器设计一个十字路口的交通灯控制器,能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。要求两条交叉道路上的车辆交替运行,东西方向通行时间为30秒,南北方向通行时间为20秒。东西方向通行30秒时,该方向绿灯亮25秒后黄灯亮5秒,南北方向红灯亮30秒;南北方向通行20秒时,该方向绿灯亮15秒后黄灯亮5秒,东西方向红灯亮20秒。控制器有复位功能,显示时间功能。6. 四路智力竞赛抢答器设计一个可容纳四组参赛者同时抢答的数字抢答器。主持人可控制系统的清零和抢答的开始,控制电路可实现最快抢答选手按键抢答的判别和锁定功能,并禁止后续其他选手抢答。抢答选手确定后给出选手编号的显示,抢答选手的编号显示保持到系统被清零为止,若提前抢答则对相应的抢答组发出警报。7. 简易微波炉控制器设计一个简易微波炉控制器,要求能控制烹调的开关,并显示烹调状态进行和结束。同时,设置固定烹调时间,并显示烹调所剩时间(假设系统最长的烹调时间为9秒)。8. 表决器设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成的人数和反对的人数在数码管上显示出来。9. 数字密码锁设计一个数字密码锁,用户可输入4位的二进制数,连续输入3次不正确则报警。开锁密码可手动预置,并可进行修改密码,取消报警。10. 多功能计数器设计一个20进制多功能计数器,实现从019连续变化和038偶数变化的递增与递减四种功能,两位数码管显示计数值。注:上述题目设计内容是最基本的要求,各人可根据自己的学习情况和时间安排,进一步扩展设计内容。附录:KHF3型CPLD/FPGA实践开发系统资料注:该系统的芯片引脚已与外部资源固定连接好,下载时不必自己接线。用第三方软件CPLDDN2005下载。实验箱数量3台。1. 所用芯片:ACEX1K系列的EP1K30QC208-3,引脚为208个,5980逻辑单元。2. 方波时钟源:22.1184M,10M,4M分别对应管脚:P80(表示第80个芯片管脚),P183,P184。一次只能用一个时钟源。 该系统还提供约1Hz1MHz连续可调的时钟信号,对应管脚P78,通过调节短路夹J1(粗调)和J2(细调)来改变其输出频率值(逆时针旋转可变电阻增加频率值)。该时钟信号只允许用作被测信号输入。3. 输入开关:有个数据开关(SW1SW16),4个脉冲开关(KP1KP4)。在通常状态下数据开关和脉冲开关为低电平。数据开关和脉冲开关可配合使用,也可单独使用。若二者配合使用,在数据开关为低电平时,按下脉冲开关则产生一个高脉冲;在数据开关为高电平时,按下脉冲开关则产生一个低脉冲。其中个数据开关与芯片管脚的连接情况依次为:SW1-P28,SW2-P29,SW3-P30,SW4-P31,SW5-P38,SW6-P39,SW7-P40,SW8-P41,SW9-P44,SW10-P45,SW11-P46,SW12-P47,SW13-P53,SW14-P54,SW15-P55,SW16-P56。同时与数据开关和CPLD相应引脚相连的还有16个LED显示管,可以作为输出使用。在作为输出时,不论数据开关和脉冲开关为高电平还是低电平,均不影响其状态。脉冲开关(KP1KP4)与芯片管脚的连接情况依次为P28,P29,P30,P31。脉冲开关在没有按下时为低电平,按下时则转为高电平,经RS触发器去抖动之后,便可实现在数据开关为高电平时产生一个负脉冲,在数据开关为低电平时产生一个正脉冲。此电路适合作计数器、暂存器的脉冲输入、分析测试观察用。4. 数码管:本实践系统有0个数码管(SEG1SEG10),采用共阴极段LED显示。其中SEG1SEG6采用静态显示方式,SEG7SEG10采用动态扫描显示方式。SEG1排在最右边,SEG10排在最左边。数码管SEG1SEG10与CPLD的对应管脚接法为:SEG1(a,b,c,d,e,f,g,p) P141,P142,P143,P144,P147,P148,P149,P150;SEG2(a,b,c,d,e,f,g,p) P157,P158,P159,P160,P161,P162,P163,P164;SEG3(a,b,c,d,e,f,g,p) P166,P167,P168,P169,P170,P172,P173,P174;SEG4(a,b,c,d,e,f,g,p) P175,P176,P177,P179,P180,P186,P187,P189;SEG5(a,b,c,d,e,f,g,p) P190,P191,P192,P193,P195,P196,P197,P198;SEG6(a,b,c,d,e,f,g,p) P199,P200,P202,P203,P204,P205,P206,P207;其中SEG1SEG6的段LED显示输入端分别与个LED管相连且同时显示。SEG7SEG10的共阴公共端G经反向器分别与芯片的对应管脚P24,P25,P26,P27相连,由其控制实现各位分时选通,动态扫描。SEG7SEG10(a,b,c,d,e,f,g,p)的各段与芯片引脚的对应关系为:P10、P11、P12、P13、P16、P17、P18、P19。5. LED灯:有两排LED灯,上排为7个红色LED灯,对应数码管SEG5,从左到右对应的芯片管脚为P190,P191,P192,P193,P195,P196,P197,P198;下排为7个绿色LED灯,对应数码管SEG6,从左到右对应的芯片管脚为P199,P200,P202,P203,P204,P205,P206,P207。6. 小键盘主板上有一组矩阵式44键盘(如下图所示),行线(从上至下)连接CPLD芯片的管脚P119、P120、P121、P122,列线(从左到右)连接CPLD芯片的管脚P111、P112、P115、P116。图-1 键盘与CPLD芯片的接口示意图附录:TDEDA实践系统资料注:该系统的芯片引脚只与开发板上的连接座接好,没有与外部资源连接,下载时必须自己进行芯片引脚连接座与外部资源连接座之间的连线。用Quartus II/Tools/Programmer下载。实验箱数量10台。1. 所用芯片:Cyclone系列的EP1C6Q240C8,引脚为240个,集成度为3万门。2. 芯片引脚与开发板上的连接座的对应关系:表-1 芯片引脚与开发板上的连接座的对应关系FPGA引脚连接座FPGA引脚连接座FPGA引脚连接座2IO144IO23166IO443IO245IO24167IO454IO346IO25168IO465IO447IO26169IO476IO548IO27170IO487IO649IO28173IO498IO750IO29174IO5011IO853IO30175IO5112IO954IO31176IO5213IO1055IO32177IO5314IO1156IO33178IO5415IO1257IO34179IO5516IO13131RST180IO5617IO14152CLK3181IO5718IO15153CLK(50M)182IO5819IO16156IO35183IO5920IO17158IO36184IO6021IO18159IO37185IO6123IO19160IO38186IO6228CLK0161IO39187IO6329CLK1162IO40188IO6441IO20163IO41193IO6542IO21164IO42194IO6643IO22165IO433. 方波信号源提供20M、10M、1M、100K、10K、1K、100Hz、10Hz、1Hz等9种频率脉冲,用于数字系统设计中提供时钟信号。4. 七段数码管显示单元七段数码管显示单元使用了八个共阴极七段数码管,作为输出显示,其原理如图-1所示。图-1 七段数码管显示单元原理图5. 交通灯单元交通灯单元模拟了一个十字路口的交通灯。采用正逻辑,其原理与LED显示单元相同。东西南北四个方向各有一组绿、黄、红三个LED灯。6. 点阵单元点阵单元由四个88点阵器件构成一个1616的点阵。其中R1R16为行控信号线,L1L16为列控制信号。给某行低电平、某列高电平,则对应的LED点亮,如使R1为0,L1为1,则左上角的LED点亮。其原理如图-2所示。图-2 点阵单元原理图7. LED显示单元LED显示单元提供了16个显示灯,采用正逻辑指示逻辑电平。其原理如图-3所示。从左到右4个红色、4个绿色、4个红色、4个绿色顺序排列。图-3 LED显示单元原理图8. 开头单元开头单元提供了16组拨动及显示灯,开头拨上为“1”,显示灯亮。开头拨下为“0”,显示灯灭。其原理如图-4所示。图-4 开头单元原理图9. 键盘单元键盘单元由16个按键构成一个44键盘扫描阵列。其原理如图-5所示。图-5 键盘单元原理图10. 单脉冲单元单脉冲单元提拱两个单脉冲触发器,由与非门和微动开头等构成两路R-S触发器。输出分为上升沿和下降沿,分别以“+”和“-”表示。其原理如图-6所示。图-6 单脉冲单元原理图11. 液晶显示单元液晶显示单元使用的是162字符型液晶显示器,控制器为HD44780。其原理如图-7所示。如果要使用液晶显示单元需要将JP5短路块到VCC处给液晶显示单元供电。12. VGA单元VGA单元提供EDA实践系统与VGA显示器之间通信控制功能。VGA彩色显示器使用640480的分辩率,60Hz刷新率。其原理如图-8所示。图-7 液晶显示单元原理图 图-8 VGA单元原理图附录:EL-EDA_VI型教学实践系统资料注:该系统的芯片引脚只与开发板上的连接座接好,没有与外部资源连接,下载时必须自己进行芯片引脚连接座与外部资源连接座之间的连线。用Quartus II/Tools/Programmer下载。未分配的管脚置为必须三态输入:AssignmentsDeviceDeviceDevice & Pin OptionsUnused PinsReserve all unused pins:AS input tri-stated。如未将未分配管脚置为三态输入,将可能导致主芯片或外围芯片损坏。如果用到EDA-VI底板的资源时,一定要设置VGA3.0的4位功能位,并且设置值一定要与所要求的功能相对应,否则可能对硬件造成损伤。一、 所用芯片:Cyclone系列的EP1C12Q240C8,引脚为240个,集成度65万门。二、 芯片引脚与开发板(CPU板)上器件的对应关系:1. 芯片引脚与开发板上的连接座的对应关系表-1 PORT_A信号分配PORT AFPGA信号PORT AFPGA信号PIN_1+5VPIN_2+5VPIN_3GNDPIN_4GNDPIN_5PIN_105ED0PIN_6PIN_104ED1PIN_7PIN_101ED2PIN_8PIN_100ED3PIN_9PIN_85ED4PIN_10PIN_84ED5PIN_11PIN_83ED6PIN_12PIN_82ED7PIN_13PIN_86ED8PIN_14PIN_87ED9PIN_15PIN_88ED10PIN_16PIN_93ED11PIN_17PIN_94ED12PIN_18PIN_95ED13PIN_19PIN_98ED14PIN_20PIN_99ED15PIN_21PIN_128EA0PIN_22PIN_115EA1PIN_23PIN_114EA2PIN_24PIN_113EA3PIN_25PIN_108EA4PIN_26PIN_107EA5PIN_27PIN_78EA6PIN_28PIN_77EA7PIN_29PIN_76EA8PIN_30PIN_75EA9PIN_31PIN_74EA10PIN_32PIN_65EA11PIN_33PIN_66EA12PIN_34PIN_67EA13PIN_35PIN_68EA14PIN_36PIN_73EA15PIN_37PIN_18CS0PIN_38PIN_17CS1PIN_39PIN_16CS2PIN_40PIN_15CS3PIN_41PIN_11CS4PIN_42PIN_12CS5PIN_43PIN_13CS6PIN_44PIN_14CS7PIN_45PIN_49/WRPIN_46PIN_53/RDPIN_47PIN_54/WAITPIN_48PIN_55RESETPIN_49PIN_56/RESETPIN_50PIN_159/INT0PIN_51PIN_159/INT0PIN_52PIN_159/INT0PIN_53PIN_159/INT0PIN_54PIN_159/INT0PIN_55PIN_8T/C_OUTPIN_56PIN_8T/C_OUTPIN_57PIN_4SPI_NSS0PIN_58PIN_5SPI_CLK0PIN_59PIN_6SPI_MISO0PIN_60PIN_7SPI_MOSI0表-2 PORT_B信号分配PORT AFPGA信号PORT AFPGA信号PIN_1NCPIN_2NCPIN_3NCPIN_4NCPIN_5PIN_124SPI_NSS1PIN_6PIN_125SPI_CLK1PIN_7PIN_126SPI_MISO1PIN_8PIN_127SPI_MOSI1PIN_9*PIN_156NCPIN_10*PIN_158NCPIN_11(PIN_59)UART_RX_EXTPIN_12(PIN_60)UART_TX_EXTPIN_13NCPIN_14NCPIN_15PIN_159ALEPIN_16*PIN_39PIN_17*PIN_28PIN_18*PIN_38PIN_19PIN_29PIN_20NCPIN_21NCPIN_22NCPIN_23NCPIN_24NCPIN_25*PIN_132AGIO0PIN_26*PIN_133AGIO1PIN_27*PIN_134AGIO2PIN_28*PIN_135AGIO3PIN_29*PIN_136AGIO4PIN_30*PIN_137AGIO5PIN_31*PIN_138AGIO6PIN_32*PIN_139AGIO7PIN_33PIN_140BGIO0PIN_34PIN_160BGIO1PIN_35*PIN_156BGIO2PIN_36*PIN_158BGIO3PIN_37PIN_165BGIO4PIN_38PIN_166BGIO5PIN_39PIN_167BGIO6PIN_40PIN_168BGIO7PIN_41PIN_162PWMA0PIN_42PIN_161PWMA1PIN_43PIN_164PWMA2PIN_44PIN_163PWMA3PIN_45NCPIN_46NCPIN_47NCPIN_48NCPIN_69NCPIN_70NC注: FPGA管脚前加“*”号标志的管脚为单独从FPGA引脚引出,未与适配器上其它芯片复用;没有标“*”号的管脚均有其它芯片复用。标有“NC”的引脚,表示无信号线从适配器引出。2. 开发上的4位按键:PB0 PIN127,PB1 PIN126,PB2 PIN125,PB3 PIN124。3. 开发板上的复位按键:RESETPIN131。4. 开发板上的4位LED:LED0 PIN165,LED1 PIN165,LED2 PIN165,LED3PIN165。5. 开发板上的4位拨码:SW0 PIN4,SW1PIN5,SW2 PIN6,SW3 PIN7。6. 开发板上的50MHz晶振输入OSC(oscillator,晶振)PIN153。三、 实验箱底板资源说明1. TFT_LCD的数据线D0-D15对应PORT A的PIN_5PIN_20;地址线A1对应PORT A的PIN_22;读写控制线分别对应PORT A的PIN_45、PIN_46,CS6对应PORT A的PIN_43。2. 12832 LCD的数据线L_DB07对应PORT A的PIN_25PIN_32,L_DB07与IO9IO16复用,通过K7(8个并排开关)来选择;LCD的其他引脚均在LCD面板上。3. UART线(底板上的UART没有电平转换芯片)EP1C12芯片 功能线PIN_59 RX_EXT、R2IN(RXD1)PIN_60 TX_EXT、T2OUT(TXD1)RS-232标准规定逻辑1的电平为-15-3V,逻辑0的电平为+3+15V。4. 右端数码管、16个环形LED、44键盘、16位拨码开关有IO方式和总线两种控制方式。IO方式可通过4为功能位来实现功能切换,4位功能管脚如下:PORT B 芯片管脚 left right 对应标识411627749VGA0421617850VGA1431647951VGA2441638052VGA31) VGA3.0=0001选用16位拨码开关SW16SW1接到16位数据总线BUS_D15.0上。2) VGA3.0=0010选用右端8个数码管,低8位数据总线BUS_D7.0为7段数码管加小数点(其阴极,高电平点低);高8位数据总线BUS_D15.8为8个数码管位(低电平有效)。例如:如果要选取数码管0,则发送总线值为:1111 1110 1111 1111;如要选取数码管1,则发送总线值为:1111 1101 1111 1111。此时所选数码管7段和DP位将全部亮。3) VGA3.0=010144键盘功能选取,此时16位数据总线只有低的8位有效。该8位的高4位为键盘的4位行扫描输出,低4位为键盘的4位列查询输入。4) VGA3.0=01101616 LED点阵显示功能选取,16位数据总线作为点阵的行值,4位地址对应列值编码(底板上已经过译码)。4位地址分别对应E-Play-SOPC主适配器上外扩总线地址的ADDRESS4.1。除以上4种状态外的其它状态,均为总线方式操作。在做基本实践时,如果用到EDA_VI底板的资源时,一定要设置VGA3.04位功能位,并且设置值一定要与上述功能对应,如不对应有可能对硬件造成损伤。当实践用到的拨码、按键、LED小于5位时,可以使用E-Play-SOPC适配器上的资源,当实践中的资料仅使用到E-Play-SOPC适配器就可以完成时,可以不设置VGA3.0。5. 底板的资源是通过两片CPLD进行整合的,两片CPLD共用同一条片选信号线CS7,读/写信号线各一条,16位数据线用于数据读写,4位地址线EA1EA4 (BUS_A1 4可访问16个寄存器。1) 对16个LED操作即为对寄存8(二进制地址为1000)写操作。如执行NIOS II指令:write_bus16(cs7+8),0x0001);则为向以cs7为基地址,以8为偏移地址的寄存器写0x0001,这条指令的功能是使LED1点亮,除LED1以外的其它LED均为不点亮状态。2) 对数码管操作时,对应的寄存器为寄存器9(二进制地址为1001)。16个8段数码管,16位数据,低8位为8段数码管的段选(a、b、c、d、e、f、g、dp),高8位的低4位为16个数码管选择,最高的4位数据D15D12未定义,可以不作理会。如执行NIOS II指令:write_bus16(cs7+9),0x017f);则为向以cs7为基地址,以9为偏移地址的寄存器写0x007f,使用数码管0显示“8”。3) 键盘对应的键值寄存器为寄存器4(二进制地址为0100)。4) 16个按键,对应的寄存器为寄存器12(二进制地址为1100)。读按键值操作指令为:read_bus16(cs7+12);5) 16个拨码开关,对应的寄存器为寄存器13(二进制地址为1110)。读拨码开关值操作指令为:read_bus16(cs7+13);6) 1616 LED点阵对应的寄存器为寄存器0、1(二进制地址为0000、0001)。寄存器0对应4位行选,低4位有效,写4位二进制值来决定对哪一行操作,底板CPLD对4位值进行译码,驱动行选信号输出。寄存器1对应16位行值数据。要写某一行值时,先写寄存器0行选,再写寄存器1行值数据。在EDA-VI底板的CPLD中,分别把16行的行值数据保存到16个输出寄存器中,当编程对某行数据显示时,只是更新对应行的输出寄存器值。扫描时钟由外部时钟分频得到。底板CPLD程序自动完成1616 LED点阵的扫描输出显示。6. EDA-VI底板上IO_CLK为4位拨码开关SW20SW17来控制输出40M分频后的可调时钟。表-3 可调时钟SW20 SW19SW18SW17IO_CLK11111Hz01115Hz101110Hz001125Hz110150Hz0101500Hz10011KHz00012.5KHz111010KHz011020KHz101050KHz0010200KHz1100500KHz01002MHz10005MHz000020MHzP1P3未定义;P4:10MHz固定时钟(40MHz分频产生);P5:1MHz;P6:100KHz;P7:5KHz;P8:100Hz。7. 底板上IO9到IO16用于8位LED显示(LED低电平点亮),将L1L8分别连接到IO9IO16。信号 芯片管脚 IO口data0 P
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!