您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > EDA与电子技术课程设计教案-MAXPLUSII使用指导
EDA与电子技术课程设计教材:EDA与数字系统设计李国丽朱维勇栾铭主编绪论门电路、触发器等称为逻辑器件;由逻辑器件构成,能执行某单一功能的电路,如计数器、译码器、加法器等,称为逻辑功能部件;由逻辑功能部件组成的能实现复杂功能的数字电路称数字系统。图0-1数字系统框图数字系统设计方法简介明确设计要求,确定系统的输入/输出;确定整体设计方案;自顶向下(top-down)的模块化设计方法。数字系统的设计层次选用通用集成电路芯片构成数字系统;应用可编程逻辑器件实现数字系统;设计专用集成电路(单片系统)。应用可编程逻辑器件(ProgrammableLogicDevicePLD)实现数字系统设计,是目前利用EDA(ElectronicDesignAutomation)技术设计数字系统的潮流。这种设计方法以数字系统设计软件为工具,将传统数字系统设计中的搭建调试用软件仿真取代,对计算机上建立的系统模型,用测试码或测试序列测试验证后,将系统实现在PLD芯片或专用集成电路上,这样最大程度地缩短了设计和开发时间,降低了成本,提高了系统的可靠性。PLD简介数字集成电路的发展过程:电子管晶体管小中规模集成电路(SSI,MSI)大规模集成电路(LSI)超大规模集成电路(VLSIC)具有特定功能的专用集成电路(ApplicationSpecificIntegratedCircuitASIC)为使ASIC的设计周期尽可能短,出现了现场可编程逻辑器件(FieldProgrammableLogicDeviceFPLD),其中应用最广泛的当属CPLD和FPGA。CPLD:ComplexProgrammableLogicDeviceFPGA:FieldProgrammableGateArray统称为PLD或CPLD/FPGA。PLD发展过程早期:PROM、EPROM、EEPROM70年代中期:ProgrammableLogicarrayPLA70年代末:美国MMI公司ProgrammablearrayLogicPAL80年代中期:Altera公司GenericArrayLogicGAL共同特点:低密度PLD,结构简单,设计灵活,规模小,难以实现复杂的逻辑功能。PLD发展过程80年代中期:Altera公司ErasableProgrammableLogicDeviceEPLD1985年:Xilinx公司FieldProgrammableGateArrayFPGA80年代末:Lattice公司提出InSystemProgrammableISP)技术,相继出现了一系列具备在系统可编程能力的复杂可编程逻辑器件(ComplexProgrammab1eLogicDeviceCPLD)。共同特点:高密度、高速度、低功耗结构体系更灵活、适用范围更宽,设计风险为零。PLD发展过程90年代以后,高密度PLD在生产工艺、器件的编程和测试技术等方面都有了飞速发展,CPLD的集成度一般可达数千甚至上万门。Altera的EPF10K10每片含62000158000个可使用门,重复擦写次数达10万次以上。PLA、PAL、GAL、EPLD、FPGA、ISP-PLD的基本结构在《数字电子技术基础》的第八章有介绍EDA软件种类及各自特点专门用于开发FPGA和CPLD的EDA工具分为五个模块:1.设计输入编辑器(xilinx的Foundation、Altera的MAX+plus2等);2.仿真器(如Mentor公司的ModelSim,Cadence公司的Verilog-XL,NC-Verilog等);3.HDL综合器(Synopsys公司的FPGACompiler、FPGAExpress等);4.适配器(或部局布线器)(如Lattice公司的ispEXPERT中有自己的适配器);5.下载器(编程器)。MAX+Plus210.0(学生版)支持的器件1、EPF10K10,EPF10K10A等2、MAX7000系列(如MAX7000S中的MAX7128)3、EPM9320等MAX+plus2使用练习图形输入方式(.gdf文件);HDL(HardwareDescriptionLanguage)语言输入方式1)VHDL语言(VeryHighSpeedIntergatedCircuitHardwareDescriptionLanguage)2)VerilogHDL语言设计过程设计输入图形或HDL语言输入编译Compiler项目校验、仿真Simulate编程或下载Program或Configure步骤进入Windows操作系统,打开MAX+Plus2;启动File\Project\Name菜单,输入设计文件的名称(给出文件存储路径);点击Assign\Device菜单,选择器件(EPM7128SLC84-6或EPF10K10LC84-4);启动File\New菜单,选择GraphicEditor,打开原理图编辑器;原理图设计输入过程元器件放置;在元器件之间添加连线;添加输入、输出引脚,并给它们命名;保存原理图。编译启动MaxplusII/Compiler菜单,选择Start,开始编译;若电路有错,编译器停止编译,并显示出错信息;若电路无错,则编译通过,生成.sof、.pof文件,以备硬件下载或编程时用。注意:编译只对顶层文件进行时序模拟仿真编译通过后就可进行时序模拟:1、建立波形输入文件:1)打开菜单File/New,选WaveformEditorFile(.scf),OK;2)在波形编辑器窗口的Name下单击鼠标右键,出现浮动菜单,选EnterNodesfromSNF…出现对话框;3)在Type区选Inputs和Outputs,单击List按钮,可在其右下方看到设计中的输入输出信号,单击=可将这些信号选到SelectedNodes&Groups区,OK;4)在菜单File中选Save。时序模拟仿真2、编辑输入节点波形:1)在菜单Options中选中SnaptoGrid和ShowGrid,并打开GridSize…设置仿真时间;2)使用绘制图形工具条绘制输入节点波形;3)选File中Save存盘。时序模拟仿真3、时序模拟:1)在菜单Maxplus2中选Simulator;2)单击Start,开始模拟;3)模拟完毕,单击OpenScf得模拟结果,可对结果进行检查(注意有动态延时和竞争冒险现象)。管脚分配启动MaxplusII/FloorplanEditor菜单,则显示该设计项目的管脚分配;用户可根据下载板情况,改变管脚分配。注意下载板有两种:1.北京理工达胜科技有限公司生产的下载板,芯片管脚与外围信号没有连接,需在实验中由你连接;2.东南大学东讯通生产的DXT-BIII型EDA实验开发系统,芯片管脚与外围信号已连接好,必须根据下表改变管脚分配.图1-2-15PLD引脚与外部人工连接EPF10K10LC84-4图1-2-16PLD引脚与外部器件连接锁定图1-2-16PLD管脚与外部器件连接锁定器件名称信号名10K10管脚器件名称信号名10K10管脚输出发光管L12R25数据开关K229输出发光管L12G24数据开关K330输出发光管L1123数据开关K435输出发光管L1022数据开关K536输出发光管L921数据开关K637输出发光管L819数据开关K738输出发光管L718数据开关K839输出发光管L665数据开关K947输出发光管L564数据开关K1048输出发光管L462数据开关K1149输出发光管L361数据开关K1250输出发光管L260数据开关K1351输出发光管L1G59数据开关K1452输出发光管L1R58数据开关K1553数据开关K128数据开关K1654器件名称信号名10K10管脚器件名称信号名10K10管脚数码管M4M4A17扬声器SP27M4B16时钟信号CP11M4C11时钟信号CP243M4D10数码管M3M3A9M3B8M3C7M3D6数码管M2M2A5M2B3M2C83M2D81数码管M1M1A80M1B79M1C78M1D73下载将实验板接口线与计算机并口连接,打开试验箱电源;启动MaxliusII/Programmer菜单;如果是第一次使用该软件,启动Options\HardwareSetup菜单,在HardwareType中选择ByteBlaster(MV)。Configure即可完成下载。注意若下载后提示下载不成功信息,按以上各步检查是否设置正确,并检查计算机与实验箱硬件连接,排除故障,再次尝试下载;随时可利用帮助信息(?),解决疑难问题;相同名字的导线,在电气上相连(P26);器件可以旋转;一组输入或一组输出时,可用BUS(组);改变管脚后,应再编译一次,再下载。VerilogHDL语言输入方式进入Windows操作系统,打开MAX+Plus2;启动File\Project\Name菜单,输入设计文件的名称(给出文件存储路径);点击Assign\Device菜单,选择器件(EPM7128SLC84-6或EPF10K10LC84-4);启动File\New菜单,选择TextEditorfile,打开原理图编辑器;键入程序;在File\Saveas保存,生成.v文件;以下步骤同图形输入法。•有关VerilogHDL的详细内容参见第三章(P.98)/**************************************************************///MODULE:adder//FILENAME:add.v//VERSION:v1.0//DATE:May5th,2003//AUTHOR:Peter//CODETYPE:RTL//DESCRIPTION:Anadderwithtwoinputs(1bit),oneoutput(2bits)./****************************************************/moduleadder(in1,in2,sum);inputin1,in2;output[1:0]sum;wirein1,in2;reg[1:0]sum;always@(in1orin2)beginsum=in1+in2;endendmodule模块名(必须和存储时的名称相同)端口列表说明部分模块主体结束行注释部分模块定义行事件控制的Always语句,一直监测输入信号,只要有变化,就执行下面的块语句。Case语句Case(敏感表达式)值1:块语句1;值2:块语句2;……default:块语句n+1;endcasemoduledecoder(out,in);output[7:0]out;input[2:0]in;reg[7:0]out;always@(in)begincase(in)3'd0:out=8'b00000001;3'd1:out=8'b00000010;3'd2:out=8'b00000100;3'd3:out=8'b00001000;3'd4:out=8'b00010000;3'd5:out=8'b00100000;3'd6:out=8'b01000000;3'd7:out=8'b10000000;endcaseendendmodule位宽’基数数值d十进制h十六进制b二进制o八进制modulejsq16(q,clk,reset);output[3:0]q;reg[3:0]q;inputclk,reset;always@(posedgeclkornegedgereset)beginif(!reset)q[3:0]=4'b0000;elseq[3:0]=q[3:0]+4'b0001;endendmoduleif(表达式)块语句1;else块语句2;注意.v文件描述的功
本文标题:EDA与电子技术课程设计教案-MAXPLUSII使用指导
链接地址:https://www.777doc.com/doc-70312 .html