刘 芳 张永志
【摘要】本文主要介绍MAX+PlusⅡ软件的设计流程并将其应用到数字电路教学中,进行了理论教学与仿真验证相结合的探索,为数字电路的逻辑验证和实验教学提供了一种新的方法。
【关键词】MAX+PlusⅡ软件;数字电路设计;实例应用
在当代社会,电子产品更新换代的速度越来越快,以往的电路设计方法已经适应不了这种挑战,随着可编程逻辑器件集成规模的不断扩大,EDA(Electronic Design Automation)技术在现代电子系统设计领域的优势已有所突显。
EDA技术是指以计算机为工作平台,融合了电子技术、计算机技术、智能化技术最新成果的现代电子设计技术。美国Altera公司推出的MAX+PlusⅡ软件被公认为是最易使用、人机界面最友善的PLD开发软件,现已成为电子系统设计、电子产品开发领域中一种全新的手段和便捷的方法。
一、MAX+PlusⅡ简介
MAX+PlusⅡ可编程逻辑开发软件结合了框图界面和交互仿真能力的系统级设计和仿真工具,不用搭建硬件电路,即可对自己的设计进行调试、验证,借助模拟示波器等虚拟设备直观显示仿真动态结果。而且设计者可以在友好的界面下很简便、高效地设计出各种复杂的专用IC。因此,MAX+PlusII对改善硬件系统设计环境,培养学生应用系统级设计的能力,培养具有创新精神的应用型、复合型专门人才有很大的推动作用。MAX+PlusⅡ软件的主要功能和特点有:
(1)设计输入、编译、校验、仿真、器件编程与配置全部集成在统一的开发环境中,可以加快动态调试,缩短开发周期。
(2)设计环境与芯片结构无关,它支持EPF10K等可编程逻辑器件系列,编译程序还提供强大的逻辑综合与优化功能。
(3)有丰富的模块化设计工具和器件库。
(4)支持VHDL, Verilog HDL和AHDL等硬件描述语言。
(5)提供Megacore系统级功能。
(6)具有开放性的特点,他允许设计人员添加自己的宏函数。
二、MAX+PlusⅡ设计流程
MAX+PlusⅡ软件提供了一种与结构无关的设计环境,其全面的逻辑设计能力,使设计者只需运用自己熟悉的输入工具(原理图、硬件描述语言)进行设计,就可以将文本、图形、波形等设计方法任意组合,建立起有层次的数字系统,MAX+PlusⅡ把这些设计转换成最终结构所需要的格式。而MAX+PlusⅡ的编译器则可完成资源利用的最小化和逻辑综合,把设计装配成1个或多个器件并产生编程数据。此外,还可进行功能仿真、定时仿真、延时预测等设计校验。使用MAX+PlusⅡ设计数字系统的步骤如下:
(1)设计输入 用户可使用MAX+plusII 10.0Baseline提供的图形编辑器和文本编辑器实现图形、AHDL、VHDL或Verilog HDL的输入,也可输入网表文件。
(2)编译 为完成对设计的处理, MAX+plusII10.0 Baseline提供了一个完全集成的编译器,可直接完成从网表提取到最后编程文件的生成。在编译过程中生成一系列标准文件可进行时序模拟、适配等。
(3)项目校验 项目校验过程包括功能和时序仿真,其作用是测试逻辑操作和设计的内部定时,若有错误则进行修改并重新编译。
(4)项目编程 将设计的项目编程/配置到所选择的器件中。
三、数字电路设计举例
本例用VHDL语言来实现8选1多路选择器,编写程序如下:
library ieee;
use ieee.std_logic_1164 .all;
entity mux is
port(D0,D1,D2,D3,D4,D5,D6,D7: in std_logic;
A0,A1,A2: in std_logic;
Q: out std_logic);
end mux;
architecture rtl of mux is
signal sel: std_logic_vector(2 downto 0);
begin
sel<=A2&A1;&A0;
B:process(D0,D1,D2,D3,D4,D5,D6,D7,sel)
begin
if(sel="000")then
Q<=D0;
elseif(sel="001")then
Q<=D1;
elseif(sel="010")then
Q<=D2;
elseif(sel="011")then
Q<=D3;
elseif(sel="100")then
Q<=D4;
elseif(sel="101")then
Q<=D5;
elseif(sel="110")then
Q<=D6;
else
Q<=D7;
end if;
end process;
end rtl;
上述8选1多路选择器经过时序仿真、功能仿真,仿真结果如图1所示,结果完全达到了设计目的,仿真通过后就可将设计结果编程/下载到目标器件中去。
四、结束语
EDA技术是电子设计的发展趋势,利用EDA工具MAX+PlusⅡ可以代替设计者完成电子系统设计中的大部分工作,能够方便灵活地设计出体积小而系统性高的数字电子系统,彻底地改变传统数字系统的设计方法、设计过程乃至设计观念,拓宽了电子设计和产品开发的思路,是电子技术设计领域的一场革命。
【参考文献】
[1]李国丽,朱维勇,栾铭.EDA与数字系统设计.
[2]冯 涛.可编程逻辑器件开发技术MAX+PlusⅡ入门与提高.