基于max+plusⅱ开发平台的eda设计方法.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:3 大小:55KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于max+plusⅱ开发平台的eda设计方法.doc

基于max+plusⅱ开发平台的eda设计方法.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

深圳金百泽电子科技股份有限公司(HYPERLINK"http://www.kbsems.com"www.kbsems.com)成立于1997年,是HYPERLINK"http://www.kbsems.com"线路板行业十强企业,总部设在深圳,研发和生产分布在深圳、惠州和西安等地,为客户提供产品研发的HYPERLINK"http://www.kbsems.com"PCB设计、HYPERLINK"http://www.kbsems.com"PCB快速制造、HYPERLINK"http://www.kbsems.com"SMT加工、组装与测试及硬件集成等垂直整合解决方案,是国内最具特色的电子制造服务提供商。电话:0755-26546699-223基于MAX+plusⅡ开发平台的EDA设计方法MAX+plusⅡ是美国Altera公司的一种EDA软件,用于开发CPLD和FPGA进行数字系统的设计。用图形输入方式和文本输入方式设计了一模60计数器,介绍了数字系统设计的一般方法和过程,揭示了其在数字系统中的重要作用。EDA(ElectronicDesignAutomation)即电子设计自动化技术,是指以计算机为基本工作平台,把应用电子技术、计算机技术、智能化技术融合在一个电子CAD通用软件包中,辅助进行三方面的电子设计工作,即集成电路设计、电子电路设计以及HYPERLINK"http://www.kbsems.com"PCB设计。总之,EDA技术的基本特征是采用具有系统仿真和综合能力的高级语言描述。它一般采用自顶向下的模块化设计方法。但是由于所设计的数字系统的规模大小不一,且系统内部逻辑关系复杂,如何划分逻辑功能模块便成为设计数字系统的最重要的任务。MAX+plusⅡ简介MAX+plusⅡ是一种与结构无关的全集成化设计环境,使设计者能对Altera的各种CPLD系列方便地进行设计输入、快速处理和器件编程。MAX+plusⅡ开发系统具有强大的处理能力和高度的灵活性。其主要优点:与结构无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言(HDL)等。设计流程数字系统的设计采用自顶向下、由粗到细,逐步分解的设计方法,最顶层电路是指系统的整体要求,最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块,从而进行设计描述,并且应用EDA软件平台自动完成各功能模块的逻辑综合与优化,门级电路的布局,再下载到硬件中实现设计。利用MAX+plusII进行电路设计的一般流程如图1所示。具体设计过程如下∶1)设计输入。MAX+plusⅡ支持多种设计输入方式,如原理图输入、波形输入、文本输入和它们的混合输入。2)设计处理。设计输入完后,用MAX+plusⅡ的编译器编译、查错、修改直到设计输入正确,同时将对输入文件进行逻辑简化、优化,最后生成一个编程文件。这是设计的核心环节。3)设计检查。MAX+plusⅡ为设计者提供完善的检查方法设计仿真和定时分析。其目的是检验电路的逻辑功能是否正确,同时测试目标器件在最差情况下的时延。这一查错过程对于检验组合逻辑电路的竞争冒险和时序逻辑电路的时序、时延等至关重要。4)器件编程。当电路设计、校验之后,MAX+plusⅡ的Programmer将编译器所生成的编译文件下载到具体的CPLD器件中,即实现目标器件的物理编程。文本输入方式和图形输入方式设计一个模60计数器系统分析模60计数器是可由一个10进制计数器和一个异步清零6进制计数器组成的。本设计采用10进制计数器74160组件和6进制计数器组成。数字系统分块后,需要选择正确描述系统逻辑功能的方式。对于所选用的CPLD,需要用相应的设计开发软件。如MAX+plusⅡ的设计描述方式有文本、波形、图形多种方式。图形输入方式直观易懂。当系统较大时,由于此方式连线多,使用十分不方便。采用VHDL硬件描述语言的描述方式与结构无关,设计难度降低,软件修改方便而且大部分受控功能模块已经编译验证,系统设计时只要选择这些模块并按一定的逻辑功能组合即可。系统设计本设计6进制计数器采用文本输入方式设计,其代码如下:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITYcounter6IS%定义模块ISPORT(Load,EnClrn,Clk:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(2downto0);%定义输入端口Q:OUTSTD_LOGIC_VECTOR(2downto0);%定义输出端口Co:OUTSTD_LOGIC)ENDcoun