pld设计方法

合集下载

可编程逻辑器件(PLD)

可编程逻辑器件(PLD)
详细描述
PLD开发工具提供了完整的解决方案,包括设计输入、综合、布局布线、仿真和调试等功能。这些工 具支持多种PLD器件和编程语言,使得设计师能够高效地实现数字电路设计和PLD编程。
05
PLD的未来发展与挑战
PLD的未来发展趋势
更高的集成度
随着半导体工艺的进步,PLD将实现更高的集成度,具备更强大 的计算和数据处理能力。
现代阶段
随着技术不断发展,PLD 的集成度更高,功能更强 大,应用领域更广泛。
PLD的应用领域
通信领域
用于实现通信协议的转换、信号处理和调制 解调等功能。
工业控制
用于实现自动化控制、电机驱动和传感器数 据处理等功能。
数字信号处理(DSP)
用于实现图像处理、语音识别和数字信号处 理算法。
计算机硬件设计
安全与可靠性问题
随着PLD在关键领域的应用增加, 安全和可靠性问题成为关注的焦 点,需要加强安全机制和可靠性 设计。
知识产权保护
随着PLD技术的不断进步和应用 领域的拓展,知识产权保护成为 重要问题,需要加强知识产权保 护措施。
PLD的发展前景与展望
拓展应用领域
随着PLD技术的不断成 熟,其应用领域将进一 步拓展,尤其是在人工 智能、物联网、5G等领 域。
布线策略
选择合适的布线策略,确 保信号传输的可靠性和效 率。
物理验证
检查布局和布线后的设计 是否满足时序和功耗要求。
配置与下载
生成配置文件
根据设计结果,生成用于配置PLD的二进制 文件。
下载与配置
将配置文件下载到PLD中,完成硬件电路的 配置。
测试与验证
在实际硬件环境中测试设计的正确性和性能。
04
复杂可编程逻辑器件(CPLD)

可编程逻辑器件中的设计流程

可编程逻辑器件中的设计流程

可编程逻辑器件中的设计流程可编程逻辑器件(Programmable Logic Device,PLD)是一种集成电路器件,可以按照用户需求进行编程,实现特定的逻辑功能。

在现代电子技术领域中,PLD的应用越来越广泛。

本文将介绍可编程逻辑器件中的设计流程,并分为几个步骤进行详细阐述。

第一步:需求分析在进行PLD设计之前,首先需要明确设计的目标和需求。

根据具体的应用场景和功能要求,确定需要实现的逻辑功能和性能参数。

例如,如果设计一个控制系统,需要明确所需控制的信号类型、输入输出接口及相关约束等。

需求分析在PLD设计中起着至关重要的作用,也是后续设计的基础。

第二步:逻辑设计逻辑设计是PLD设计的核心步骤之一。

在逻辑设计中,需要使用硬件描述语言(Hardware Description Language,HDL)对电路进行建模和描述。

常用的HDL语言包括VHDL和Verilog。

通过使用HDL语言,可以将电路中的逻辑功能用代码的形式实现,对电路中的逻辑门、触发器等基本元件进行逻辑连接,形成电路结构。

逻辑设计的结果是一个逻辑电路图,该电路图描述了各个逻辑元件之间的连接关系。

第三步:仿真验证在进行PLD设计之前,通常需要进行仿真验证。

通过仿真可以对逻辑设计进行功能验证和时序验证,确保设计的正确性。

仿真可以使用专门的仿真软件,例如ModelSim等。

在仿真中,要对输入信号进行赋值,通过观察输出信号的波形来验证设计的正确性。

如果设计存在问题,可以进行调试和修改。

第四步:综合与布局布线综合是将逻辑设计转换为物理器件的过程。

在综合过程中,需要将逻辑电路图转换为与目标器件相兼容的网表描述。

综合工具会根据约束条件和目标器件的特性,对逻辑电路图进行优化,以达到提高性能、降低功耗等目标。

综合完成后,将得到一个包含逻辑门和触发器等元件的网表描述。

布局布线是将综合生成的网表映射到目标器件上的过程。

布局是指将逻辑元件放置在芯片上的具体位置,布线是指根据元件之间的连接关系,将导线进行布线,最终形成物理布图。

第8章 PLD设计

第8章  PLD设计

程,FPGA主要通过改变内部连线的布线来编程。
第8章 PLD设计
《 电 子 线 路 辅 助 设 计 Protel 99 》 SE
二、PLD 99的特点
PLD 99包含三个专为PLD设计工作定制
的EDA/Client服务器: 文本专家——具有语法意识的文本编辑 器。 PLD——用来编译和仿真设计结果。
8.1.1 PLD器件概述 数字集成电路从逻辑功能上可分为通用型和专用 型两类,我们所熟悉的TTL系列、CMOS系列都属于 通用型数字集成电路,通用型数字集成电路逻辑功能 简单,输入输出逻辑关系固定不变,从理论上讲通用 型数字集成电路也可以组成任意复杂的数字电路系统。 但是将所设计的数字电路系统做成大规模集成电路, 则可进一步缩小电路的体积、重量和功耗,而且会使 可靠性大为提高,这种为专门用途而设计的集成电路 称为专用集成电路,即所谓ASIC(Application Specific Integrated Circuit)。
《 电 子 线 路 辅 助 设 计 Protel 99 》 SE
一、CUPL语言概述
1. 变量
变量是由一串阿拉伯字符组成的。它被用来标示逻辑器件的 管脚,定义内部节点、常量、输入输出信号名和一些临时的信号名 等等。 定义一变量时,需依照如下的一些规则: 1)变量名中可以有数字、字符和下划线等,但至少有一个字符。 2)变量名区分大小写。
Wave——用来观察仿真波形。
第8章 PLD设计
三、PLD的一般设计过程
1)明确设计目的 了解所需要进行的设计,牢记
《 电 子 线 路 辅 助 设 计 Protel 99 》 SE
这次设计可用的布尔表达式、状态机和真值表。明确 哪种类型最适合这次设计。 2)创建源文件 一是使用PLD库元件来绘制PLD

可编程逻辑器件设计技巧系列一

可编程逻辑器件设计技巧系列一

可编程逻辑器件设计技巧系列一可编程逻辑器件设计技巧系列一可编程逻辑器件(Programmable Logic Device,简称PLD)是一种具有可编程功能的集成电路,它可以根据用户的需求重新配置内部的逻辑电路,从而实现各种不同的功能。

PLD设计技巧是PLD应用的关键,下面将为大家介绍几个PLD设计技巧。

第一,正确的工作模式选择。

PLD通常有多种工作模式,如编程模式、擦除模式和读取模式等。

在设计过程中,要根据具体的需求选择正确的工作模式,以保证PLD的正常工作。

第二,适当的时序设置。

PLD的时序设置对其工作性能有很大影响,因此在设计过程中要合理设置时序,以避免时序冲突或时序不足的情况发生。

同时,还要注意时序分析和优化,以提高PLD的工作效率。

第三,良好的电源和地线设计。

电源和地线是PLD工作的基础,因此要进行合理的电源和地线设计,确保电源和地线的稳定性和可靠性。

同时,还要注意减小电源和地线的耦合和干扰,以提高PLD的抗干扰能力。

第四,合理的管脚分配。

PLD的管脚分配决定了其与外部设备的连接方式,因此要进行合理的管脚分配,以满足设计要求并减少布线长度。

同时,还要注意管脚的保护和防护,以提高PLD的可靠性和稳定性。

第五,恰当的逻辑设计。

逻辑设计是PLD设计的核心,要根据具体的功能要求进行逻辑设计,以实现所需的功能。

同时,还要注意逻辑的简化和优化,以提高PLD的运算速度和效率。

第六,合理的测试和验证。

在PLD设计完成后,要进行合理的测试和验证,以确保设计的正确性和可靠性。

在测试和验证过程中,可以使用仿真工具、测试工具和实验验证等方法,以验证PLD的功能和性能。

综上所述,PLD设计技巧对PLD的应用起着至关重要的作用。

只有掌握了正确的设计技巧,才能设计出能够满足需求的PLD电路,并提高PLD 的工作效率和性能。

希望以上介绍的PLD设计技巧对大家有所帮助。

4可编程逻辑器件的设计流程

4可编程逻辑器件的设计流程

4可编程逻辑器件的设计流程设计可编程逻辑器件(PLD)是一项复杂而重要的任务,它涉及从需求分析到验证测试及产品发布的多个阶段。

在本文中,我将详细介绍PLD 设计的典型流程。

1.需求分析阶段:在这个阶段,首先需要与客户或项目组合作确定具体的需求和目标。

重要的是要准确理解PLD应该在系统中实现的功能以及PLD的性能要求。

这可能包括每个输入和输出的信号类型、布线资源限制、时序要求等。

2.架构设计阶段:在这个阶段,设计团队将制定一个高级架构,以满足需求分析中确定的功能和性能要求。

这可能包括确定逻辑块的数量和类型,输入和输出的数量和类型,以及信号处理算法等。

3.逻辑设计阶段:在逻辑设计阶段,设计团队将使用硬件描述语言(如VHDL或Verilog)来编写PLD的逻辑功能。

根据架构设计,逻辑设计可能涉及确定逻辑块之间的互连关系、创建异步和同步逻辑等。

此阶段还包括对设计的功能进行模拟和验证。

4.物理设计阶段:物理设计阶段主要涉及将逻辑设计转换为物理PLD实现的过程。

这包括确定逻辑块和IO块的位置,进行布线以及解决时序和布线资源限制等问题。

物理设计通常使用特定的软件工具,如综合工具、布局工具和时序分析工具。

5.集成和验证阶段:在集成和验证阶段,设计团队将对物理设计进行检查并验证功能正确性。

这可以通过硬件仿真和验证工具完成。

为确保PLD与系统的其余部分正常工作,可能需要进行系统级仿真和测试。

6.制造和测试阶段:经过验证的PLD设计将被发送到制造环节。

制造PLD可能涉及对原型进行批量生产、芯片打印和封装等。

然后,制造好的PLD芯片会通过测试来确保其正常工作。

7.产品发布阶段:在这个阶段,PLD将被发布到市场上供客户购买和使用。

这可能包括准备用户文档和培训材料,与销售团队进行合作以及提供售后支持等。

总结:PLD设计流程是一个复杂而多学科的过程,涉及需求分析、架构设计、逻辑设计、物理设计、集成验证、制造测试和产品发布等阶段。

PLD的设计过程和方法浅析

PLD的设计过程和方法浅析
!"#$%&’()*+,-./% &012 345 6 !"#$
� � � � � � B ^ B H
%"&’(%&+72849%&0:; 2345%&+<=>?@ � � !"$ bcdefg RC ABC0,D<#E%&BFG C+H IJFGKL !"#$%"&’ %&+; MNOPQE%&RS,T3UVWXYZ[\]^_
8 bcdefg 8>
z
2849B%&;
! %& R
� � � � � � � � � � � %& %&BQ$ SV TcG B )
%&^ 8
� � � � � � � � � � � � � � � ,k R& B %& R; %& RC
c mn
� � � � � � � � � +’ ), -JI R7 R B%& 8� d � ]� � � � � � � ;bcdefg< ?@AB RC+,- ) 8 ij i � � � � 6 +,-*$)%* AB )%* :bcd efgXY%&
-./ 0123 0 4526723 ,3859:;<:87; =>;;131 ;.1272 4526723 (#(""" >
!"
9 0) :% &2,; %&’ f?%&’ f?%@, f= %&’f )>AB’>C2 fD 5<BE <817F @12187<5>2

简述PLD设计步骤

简述PLD设计步骤1.电路逻辑功能描述PLD器件的逻辑功能描述一般分为原理图描述和硬件描述语言描述,原理图描述是一种直观简便的方法,它可以将现有的小规模实现的功能直接用PLD器件来实现,而不必去将现有的电路用语言来描述,但电路图描述方法无法做到简练;硬件描述语言描述是可编程器件设计的另一种描述方法,语言描述可能精确和简练地表示电路的逻辑功能,现在在PLD的设计过程中广泛使用,并且有更加浒的趋势,常用的硬件描述语言有ABEL,VHDL语言等,其中ABEL是一种简单的硬件描述语言,其支持布尔方程、真值表、状态机等逻辑描述,适用于计数器、译码器、运算电路、比较器等逻辑功能的描述;VHDL语言是一种行为描述语言,其编程结构类似于计算机中的C语言,在描述复杂逻辑设计时,非常简洁,具有很强的逻辑描述和仿真能力,是未来硬件设计语言的主流。

2.计算机软件的编程及模拟不管是用硬件描述语言描述的逻辑还是用原理图描述的逻辑,必须通过计算机软件对其进行编译,将其描述转换为经过化简的布尔代数表达式(即通常的最简与或表达式),编译软件再根据器件的特点将表达式适配进具体的器件,最终形成PLD器件的熔断丝文件(通常叫做JEDEC文件,简称为JED文件)。

通常在将用户设计的逻辑下载到具体器件中前,为了检查设计的结果是否正确,通常可以通过计算机软件进行模拟,检查其设计结果是不否与设计要求相符。

3.通过编程器将JED文件下载到PLD器件中在上步中形成的熔断丝文件必须下载到PLD器件中去才能实现设计的要求,熔断丝文件的下载一般须通过编程器进行下载。

编程器是一种专门用于对可编程器(如EPROM,EEPROM,GAL,CPLD,PAL等)进行编程的专业设备,常见的编程器有台湾河洛公司的ALL系列、南京西尔特公司的Super系列等。

编程器通常通过计算机的并行打印器将JED文件下载到编程器中,编程器再将JED文件根据器件的特点将其写入器件内部,从而达到下载的目的。

pld数字系统课程设计

pld数字系统课程设计一、课程目标知识目标:1. 理解PLD数字系统的基本概念,掌握其组成原理和应用领域。

2. 学会使用硬件描述语言(如VHDL/Verilog)进行数字电路设计和描述。

3. 掌握数字系统的测试和验证方法,能够对设计进行功能仿真和时序分析。

技能目标:1. 培养学生运用所学知识,独立完成简单的PLD数字系统设计能力。

2. 培养学生运用硬件描述语言进行数字电路编程的能力。

3. 培养学生运用相关软件工具(如ModelSim、Quartus等)进行数字系统仿真、综合和布局布线的能力。

情感态度价值观目标:1. 激发学生对数字系统设计和PLD技术的兴趣,培养其主动学习和探索的精神。

2. 培养学生的团队合作意识,使其在项目实践中学会相互协作、共同解决问题。

3. 培养学生严谨、细致、负责的学习态度,注重实际操作和工程实践能力的培养。

本课程针对高年级学生,课程性质为专业核心课程。

结合学生已具备的电子技术和计算机基础,明确课程目标,将目标分解为具体的学习成果。

在教学过程中,注重理论与实践相结合,以项目为导向,强化学生的实际操作能力和创新能力。

通过本课程的学习,使学生能够掌握PLD数字系统设计的基本方法和技能,为后续专业课程学习和未来职业发展奠定基础。

二、教学内容1. PLD数字系统基本概念:介绍可编程逻辑器件(PLD)的原理、分类及其在数字系统中的应用。

- 教材章节:第1章 数字系统概述2. 硬件描述语言:学习VHDL/Verilog硬件描述语言的基本语法、结构及编程规范。

- 教材章节:第2章 硬件描述语言基础3. 数字电路设计:运用硬件描述语言进行组合逻辑电路和时序逻辑电路设计。

- 教材章节:第3章 组合逻辑电路设计、第4章 时序逻辑电路设计4. 数字系统仿真与验证:介绍ModelSim、Quartus等软件工具的使用,进行功能仿真及时序分析。

- 教材章节:第5章 数字系统仿真与验证5. PLD数字系统设计实例:分析典型PLD数字系统设计案例,如计数器、状态机、数字信号处理器等。

PLD设计方法及步骤

PLD设计方法及步骤1、PLD 器件的设计步骤1.电路逻辑功能描述PLD 器件的逻辑功能描述一般分为原理2.计算机软件的编程及模拟不管是用硬件描述语言描述的逻辑还是用原理3.通过编程器将JED 文件下载到PLD 器件中在上步中形成的熔断丝文件必须下载到PLD 器件中去才能实现设计的要求,熔断丝文件的下载一般须通过编程器进行下载。

编程器是一种专门用于对可编程器(如EPROM,EEPROM,GAL,CPLD,PAL 等)进行编程的专业设备,常见的编程器有台湾河洛公司的ALL 系列、南京西尔特公司的Super 系列等。

编程器通常通过计算机的并行打印器将JED 文件下载到编程器中,编程器再将JED 文件根据器件的特点将其写入器件内部,从而达到下载的目的。

下可编程器件的设计软件种类很多,各大器件厂家及一些软件公司都开发了一系列的设计软件,正是由于这些软件才推动了可编程器件的快速发展。

通常根据逻辑功能的描述方法分为:语言描述和原理1.ABEL-HDL 语言ABEL-HDL 语言是一种用语言来描述器件逻辑功能的设计语言,它与其它计算机语言一样有一些关键字及一些规定。

(1)逻辑符号:它可以是标准符号库的符号,也可以是代表其它电路功能的符号,如1.用ABEL 语言设计(1) 启动Synario 软件并创建一个新的设计项目在Windows 95 的程序组上执行Synario,屏幕中的出现Synario 软件的开始界面。

在File 菜单中选择New Profect 项,键入新的项目名如SUM。

如下图所示。

在实际使用时应注意该项目所处的目录位置,否则当退出当前操作后就找不到前的设计,当前的目录位置可由上图的右框中可以看出;另外还须注意的是,。

PLD的一般编程方法


返回
学习要 点
本 节 学 习 要 点 和 要 求
P LD 的 硬 接 线 和 编 程 接 线 表 示 法
P
L
D



返回
结 束
PLD 的一般编程原理
一、PLD门电路的接线表示 门电路的接线表示
A B C D P 实际电路 A B C Dቤተ መጻሕፍቲ ባይዱ× × × × P 编程接通 实际电路
P=ABCD
P PLD表示 PLD表示 A B C D P 实际电路 P PLD表示 PLD表示
Y
Z
本页完 继续
PLD 的一般编程原理
二 、 PLD的基本结构图及逻 的基本结构图及逻 辑表示 未编程前的PLD的输出 未编程前的PLD的输出 L1=A A B B = 0 L2=A A B B = 0 L3=A A B B = 0 L4=A A B B = 0 Y=L1+L2 = A A B B+ A A B B = 0 Z=L3+L4 编程前的输出 = A A B B+ A A B B = 0
B A
× ×× × × ×× × × ×× ×
L1 0 L2 1 L3 L4
AB AB
编程就是根据用户 需要把相应的二极管 的熔丝烧断 , 使相应 的与门的输入端为1 的与门的输入端为1。
× ×× × PLD编程后的读法
Y
Z
本页完 继续
PLD 的一般编程原理
二 、 PLD的基本结构图及逻 的基本结构图及逻 辑表示
B A
× ×× × × ×× × × ×× × × ×× ×
L1 L2 L3 L4
Y
Z
本页完 继续
PLD 的一般编程原理
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10分钟学会PLD设计睿浩电子今天我们将带领大家完成你的第一个PLD设计,即使你从没有接触过PLD,也可以让你可以在十分种之内初步学会PLD设计!不信?呵呵我们慢慢往下看。

实验目的我们分别采用VHDL、Verilog-HDL和原理图输入方式设计一个简单的三人表决器,,并下载到PLD实验板进行实际运行。

三人表决器的功能描述:三个人分别用手指拨动开关SW1、SW2、SW3来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平(上方),不同意就把自己的指拨开关拨到低电平(下方)。

表决结果用LED(高电平亮)显示,如果决议通过那么实验板上L2(黄灯)亮;如果不通过那么实验板上L1(红灯)亮;如果对某个决议有任意二到三人同意,那么此决议通过,L2亮;如果对某个决议只有一个人或没人同意,那么此决议不通过,L1亮功能虽然简单,但是大家可以从这个实验中学习到PLD的设计输入,仿真,下载等一个完整过程。

软件准备本次实验采用Max+plusII 10.2 软件,首先我们需要下载免费软件并安装license。

对于WindowsNT/2000/XP,还需要安装下载电缆的驱动程序。

>> 软件安装和license的获取请点击此处>> 安装下载电缆的驱动程序请点击此处硬件准备PC机一台,JX002B型实验板,电源,下载电缆软硬件均准备好以后,就可以开始我们的设计了。

在三种输入方式中,你也可以先只看一种,比如原理图方式或者VHDL方式,然后可以直接看2-4章的内容10分钟学会PLD设计1 设计输入1.1 采用原理图设计三人表决器我们根据三人表决器的直值表,可以通过卡诺图化简可以得到:L2=SW1SW2+SW1SW3+SW2SW3L1=_L2那么我们可以在MAX+plusII中用原理图实现上面的三人表决器下面仅把和VHDL不同的详细写下,相同或基本相同的就一带而过:(1)打开MAX+plusII(2)新建一个图形文件:File菜单>new新建文件时选择Graphic Editor file点OK(3)输入设计文件我们现在在图形文件中输入电路,我们这个电路需要AND2、OR3、NOT三个逻辑门电路和输入输出端,你可以Symbol ->Enter Symbol(或者双击空白处)弹出窗口:在Symbol Name中输入and2,点OK同样可以加入or3、input、output、not对input、output,鼠标左键双击PIN_NAME,那么PIN_NAME被选中,并且变黑,然后输入你要改的名字,如SW1把元件拖动到合适位置,将光标放到元件的引线出,可以发现光标变为十字星,此时摁住左键就可以进行连线。

最后的电路图如下图(4)保存文件:保存为majority_voter.gdf,Automatic Extension选.gdf把文件设为当前工程:FILE->PROJECT->SET PROJECT TO CURRENT FILEMAX+PLUS II的标题条将显示新的项目名字至此,程序输入就已经完成了(5)检查编译指定下载的芯片型号指定芯片的管脚(参见10分钟学会PLD设计2 -设计的编译)此时的图形为:下图为SW1放大的图,其中majority_voter@41中前部分为设计的文件名,后面41为EPM7128SLC84-15的41脚,也就是说电路图中SW1被指定到EPM7128SLC84-15的41脚(而实验板上41脚被连接到指拨开关SW1上了,这样电路图上SW1就和实验板上的硬件SW1实现了连接)。

1.2 采用VHDL设计三人表决器打开MAX+plusII,在开始菜单内选择MAX+PLUS II 项,开始运行MAX+PLUS II(如下图)你最好把图标放到桌面上,以后直接双击MAX+PLUS II图标就可以运行软件了在MAX+PLUSII上点右键,选择发送到->桌面快捷方式(如下图),那么你桌面上就看到MAX+PLUS II了。

3.2 新建VHDL文档(图形和verilog-HDL设计的过程见后面的部分)FILE->NEW或者点下图的新建图标:连后选择Text Editor File文件,点OK如下图3.3输入设计文件在文本窗口中输入以下VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;--********************************************* ENTITY majority_voter ISPORT(SW : IN std_logic_vector(3 DOWNTO 1);L : OUT std_logic_vector(2 DOWNTO 1));--L2 is a yellow LED AND L1 is a RED LED END majority_voter;--********************************************* ARCHITECTURE concurrent OF majority_voter ISBEGINWITH SW SELECTL <= "10" WHEN "011","10" WHEN "101","10" WHEN "110","10" WHEN "111","01" WHEN OTHERS;END concurrent;--*********************************************如下图3.4保存文件FILE->SAVE,或点工具栏上的存盘符号存盘符号把文件保存为majority_voter.vhd(路径中不要有中文字符,Automatic Extension选.vhd)把文件设为当前工程:FILE->PROJECT->SET PROJECT TO CURRENT FILEMAX+PLUS II的标题条将显示新的项目名字至此,程序输入就已经完成了1.3 采用VerilogHDL设计三人表决器下面仅把和VHDL不同的详细写下,相同或基本相同的就一带而过:(1)打开MAX+plusII(2)新建新建一个verilog-HDL文件(Text Editor File类型)(3)输入设计文件其中SW12,SW13,SW23为中间变量module majority_voter(SW1,SW2,SW3,L1,L2);output L1,L2;input SW1,SW2,SW3;and(SW12,SW1,SW2);and(SW13,SW1,SW3);and(SW23,SW2,SW3);or(L2,SW12,SW13,SW23);//SW12、SW23、SW13是中间变量not(L1,L2);endmodule(4)保存文件保存为majority_voter.v,注意Automatic Extension选.v并把文件设为当前工程(同前)2 编译和布线我们先要指定所用芯片的型号,菜单:Assign->Device如下图将弹出一窗口(注意把show only fastest speed grades前的钩去掉,否则看不到EPM7128SLC84-15)在Debice Family 中选择MAX7000SDEVICE选择EPM7128SLC84-15再指定芯片的管脚(也就是把你设计的IO口如L1,L2指定到芯片对应的管脚上如10,9)Assign->Pin/Location/Chip(也可以在空白处点右键,选Assign->Pin/Location/Chip)将弹出下图窗口:在Node Name 中添入SW3Chip Resource 下的Pin中输入管脚41在Pin type中输入input点ADD连后同样指定以下管脚:在加完L2后点OK(编译后可以看到IO在芯片上的分布:MAX+plusII-> Froorplan Editor,具体见在编译后面的讲解)编译文件File->Project->save&Compile此时可能弹出下图WARNING窗口,提示“project has user pin or logic cell assignments, but never been compiled before. For best fitting results, let the compiler choose the first set of assignments instead”,这是因为在管脚指定之前没有compile,你只要再点save & compile就可以了MAX+PLUS II 编译器将检查项目是否有错,并对项目进行逻辑综合,然后对设计进行布局布线,放到一个Altera 器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件逻辑综合:就是把HDL语言或原理图翻译成最基本的与或非门的连接关系布局布线:把这种与或非门的连接关系用芯片的内部的可编程结构和连线来实现如果设计正确,将下图所示,点确认编译后可以看到IO在芯片上的分布:MAX+plusII-> Froorplan Editor将弹出一窗口如下图双击空白处,可以看到下图所示IO在芯片EPM7128SLC84上的布局创建一个设计的符号(此和本设计无关,仅供其他设计在高层调用)在 File菜单中选择 Create Default Symbol 项,即可创建一个设计的符号。

该符号可被高层设计调用。

此时会产生一个COMPILE窗口,直接点Start,完成后点确认3 波形仿真此过程主要是用软件来仿真你的设计,看看结果是否符合你的设计要求编译好以后,打开波形编辑器,MAX+PLUSII->Waveform Editor载入端口,Node->Enter Nodes from SNF将弹出下面窗口,你按下面步骤操作:点List,将出现端口列表,你默认是选择全部,你也可以通过左键和Ctrl组合来选择你想要的信号。

点=>将你的信号加入SNF文件中点OK为了方便观察,我们把信号展开如果需要再次合并可以按住SHIFT键,用鼠标左键选上要合并的信号,再点右键->Enter Group下面我们将对信号进行赋值,首先选中一个要赋值的信号区间,如SW3的10us到20us范围,按住鼠标左键,在SW3的10us到20us的范围只能够那拉出一个黑色区域,松开鼠标左键,再点左边工具栏上的“1”,使这个时间段,SW3就被赋值为高电平,如下图:(注意时间不要选择太小,比如就选10ns,这样结果可能不对,因为电路的延迟可能就达到10ns)你将其他信号按你希望的加上激励在上面过程中,你可能要遇到下面设置:Snap to Grid:鼠标按网格选取,用鼠标左键可以决定是否选取Show Grid:显示网格Gride Size:设置网格大小(这个非常有用,在你一些设计中经常要改变网格大小,便于你选择)End Time:设置仿真结束时间(这个在设计中也经常用到,否则默认的仿真时间只有1us)下面是加激励后的波形(end time =200us,gride size=10us)点FILE->PROJECT->save&simulate这时会弹出保存窗口,我们保存为majority_voter.scf点OK,将会防真,如果正确会弹出窗口(图)点确认,再点open SCF,将出现防真后的波形波形图显示的逻辑功能和设计目的完全一样,下面我们将把程序在线下载到芯片EPM7128SLC84-15中。

相关文档
最新文档