位置:51电子网 » 技术资料 » EDA/PLD

基于MAX+plusⅡ开发平台的EDA设计方法

发布时间:2008/5/28 0:00:00 访问次数:508

  摘 要:max + plus ⅱ是美国altera 公司的一种eda 软件,用于开发cpld 和fpga 进行数字系统的设计。用图形输入方式和文本输入方式设计了一模60 计数器,介绍了数字系统设计的一般方法和过程,揭示了其在数字系统中的重要作用。
  关键词:电子设计自动化技术;数字系统;自顶向下;模块设计方法

  eda ( elect ronic design automation) 即电子设计自动化技术,是指以计算机为基本工作平台,把应用电子技术、计算机技术、智能化技术融合在一个电子cad 通用软件包中,辅助进行三方面的电子设计工作,即集成电路设计、电子电路设计以及pcb设计。总之,eda 技术的基本特征是采用具有系统仿真和综合能力的高级语言描述。它一般采用自顶向下的模块化设计方法。但是由于所设计的数字系统的规模大小不一,且系统内部逻辑关系复杂,如何划分逻辑功能模块便成为设计数字系统的最重要的任务。

max+ plus ⅱ简介

  max + plus ⅱ是一种与结构无关的全集成化设计环境,使设计者能对altera 的各种cpld 系列方便地进行设计输入、快速处理和器件编程。max+ plus ⅱ开发系统具有强大的处理能力和高度的灵活性。其主要优点:与结构无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言( hdl) 等。

设计流程

  数字系统的设计采用自顶向下、由粗到细,逐步分解的设计方法,最顶层电路是指系统的整体要求,最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块,从而进行设计描述,并且应用eda 软件平台自动完成各功能模块的逻辑综合与优化,门级电路的布局,再下载到硬件中实现设计。利用max + plus ii进行电路设计的一般流程如图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 ⅱ的设计描述方式有文本、波形、图形多种方式。 图形输入方式直观易懂。 当系统较大时,由于此方式连线多,使用十分不方便。 采用v hdl硬件描述语言的描述方式与结构无关,设计难度降低,软件修改方便而且大部分受控功能模块已经编译验证,系统设计时只要选择这些模块并按一定的逻辑功能组合即可 。

系统设计

  本设计6 进制计数器采用文本输入方式设计,其代码如下:

l ibrary ieee ;

use ieee. std_logic_1164. all ;

use ieee. std_logic_unsigned. all ;

entity counter6 is %定义模块is

port (load ,en clrn , clk : in std_logic;

 d : in std_logic_vector(2 downto 0) ;

%定义输入端口

 q :ou t std_logic_vector(2 downto 0) ;

%定义输出端口

 co :ou t std_logic)

end counter6 ;

architecture a of counter6 is

begin %定义过程

process(clk)

 variable tmp : std_logic_vector (2 downto 0) ;

%定义一个矢量

begin

 if clrn =’0’then tmp : = "000" ;

  else

 if( clk’event and clk =’1’) then %过程声明

  if load =’0’then tmp : = d ;

  elsif en =’1’then

    if tmp = "101" then tmp : = "000" ;

    else tmp : = tmp + 1 ;

  end if ;

  end if ;

  end if ;

  end if ;

 q < = tmp ; co < = (tmp (0) and tmp (2) and en) ;

 end process ;

end a ;

  保存

  摘 要:max + plus ⅱ是美国altera 公司的一种eda 软件,用于开发cpld 和fpga 进行数字系统的设计。用图形输入方式和文本输入方式设计了一模60 计数器,介绍了数字系统设计的一般方法和过程,揭示了其在数字系统中的重要作用。
  关键词:电子设计自动化技术;数字系统;自顶向下;模块设计方法

  eda ( elect ronic design automation) 即电子设计自动化技术,是指以计算机为基本工作平台,把应用电子技术、计算机技术、智能化技术融合在一个电子cad 通用软件包中,辅助进行三方面的电子设计工作,即集成电路设计、电子电路设计以及pcb设计。总之,eda 技术的基本特征是采用具有系统仿真和综合能力的高级语言描述。它一般采用自顶向下的模块化设计方法。但是由于所设计的数字系统的规模大小不一,且系统内部逻辑关系复杂,如何划分逻辑功能模块便成为设计数字系统的最重要的任务。

max+ plus ⅱ简介

  max + plus ⅱ是一种与结构无关的全集成化设计环境,使设计者能对altera 的各种cpld 系列方便地进行设计输入、快速处理和器件编程。max+ plus ⅱ开发系统具有强大的处理能力和高度的灵活性。其主要优点:与结构无关、多平台、丰富的设计库、开放的界面、全集成化、支持多种硬件描述语言( hdl) 等。

设计流程

  数字系统的设计采用自顶向下、由粗到细,逐步分解的设计方法,最顶层电路是指系统的整体要求,最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块,从而进行设计描述,并且应用eda 软件平台自动完成各功能模块的逻辑综合与优化,门级电路的布局,再下载到硬件中实现设计。利用max + plus ii进行电路设计的一般流程如图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 ⅱ的设计描述方式有文本、波形、图形多种方式。 图形输入方式直观易懂。 当系统较大时,由于此方式连线多,使用十分不方便。 采用v hdl硬件描述语言的描述方式与结构无关,设计难度降低,软件修改方便而且大部分受控功能模块已经编译验证,系统设计时只要选择这些模块并按一定的逻辑功能组合即可 。

系统设计

  本设计6 进制计数器采用文本输入方式设计,其代码如下:

l ibrary ieee ;

use ieee. std_logic_1164. all ;

use ieee. std_logic_unsigned. all ;

entity counter6 is %定义模块is

port (load ,en clrn , clk : in std_logic;

 d : in std_logic_vector(2 downto 0) ;

%定义输入端口

 q :ou t std_logic_vector(2 downto 0) ;

%定义输出端口

 co :ou t std_logic)

end counter6 ;

architecture a of counter6 is

begin %定义过程

process(clk)

 variable tmp : std_logic_vector (2 downto 0) ;

%定义一个矢量

begin

 if clrn =’0’then tmp : = "000" ;

  else

 if( clk’event and clk =’1’) then %过程声明

  if load =’0’then tmp : = d ;

  elsif en =’1’then

    if tmp = "101" then tmp : = "000" ;

    else tmp : = tmp + 1 ;

  end if ;

  end if ;

  end if ;

  end if ;

 q < = tmp ; co < = (tmp (0) and tmp (2) and en) ;

 end process ;

end a ;

  保存

相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!