当前位置:首页 » 编程软件 » jed反编译

jed反编译

发布时间: 2022-11-07 15:44:51

① jed文件转换成VHDL

通过MAX+PLUSII编写VHDL程序。
1、new出一个文本编辑框,用来保存代码,2、保存并编译vhdl源代码,注意保存的文件名和源代码中的名称相同,文件后缀名为.vhd。3、new出一个仿真波形图。4.在node中添加源代码中的输入输出变量于波形图中。5、给波形图中的输入变量赋值。6、保存并且simulate就可以看到输出波形。
PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。

② ISE的CPLD怎么用AS下载

目前大多数CPLD只支持JTAG一种加载模式,把jed文件通过JTAG下载进去就ok了,掉电绝对不会丢失。因为CPLD在片内集成了一小块FLASH,专门用来存配置文件,这是FPGA所不具备的。FPGA不论哪种加载方式掉电都是会丢失的,上电要重新加载。JTAG是直接对FPGA的SRAM进行编程,而AS模式是external FLASH的数据在上电时自动被FPGA读入完成加载。

③ PAL16R8 怎么用 GAL16V8 代替

待查,明天告诉你。
资料表明GAL16V8 完全可以代替PAL16R8 。你定义的脚功能不会有问题吧?怎么定义的?使用ABEL编译的吗?

*.jed是编译后的文件,如果原来PAL16R8上能用,那么直接烧入GAL16V8也应没问题。在电路中的11脚状态,应该为低电平!查一下电路。

④ 基于CPLD数据采集控制系统设计

第1章 概 述
21世纪人类将全面进入信息化社会,对微电子信息技术和微电子VLSI基础技术将不断提出更高的发展要求,微电子技术仍将继续是21世纪若干年代中最为重要的和最有活力的高科技领域之一。而集成电路(IC)技术在微电子领域占有重要的地位。伴随着IC技术的发展,电子设计自动化(Electronic Design Automation EDA)己经逐渐成为重要设计手段,其广泛应用于模拟与数字电路系统等许多领域。
VHDL是广泛使用的设计输人硬件语言,可用于数字电路与系统的描述、模拟和自动设计.CPLD/FPGA(复杂可编程逻辑器件/现场可编程门阵列)为数字系统的设计带灵活性,兼有串!并行工作方式和高集成度!高速!高可靠性等明显的特点,CPLD/FPGA的时钟延迟可达纳秒级,结合其并行工作方式,在超高速领域和实时测控方面有非常广泛的应用。
本次设计的目的是使用可编程逻辑器件设计一个专用的A/D转换器的控制器,取代常用的微控制器,用于数据采集。本文讲述对A/D进行数据采样控制。设计要求用一片CPLD/FPGA,模数转换控制器ADC和LED显示器构成一个数据采集系统,用CPLD/FPGA实现数据采集中对A/D 转换,数据运算,及有关数据的显示控制。课题除了学习相应的硬件知识外,还要学习如何使用VHDL语言设计可编程逻辑器件。
未来的EDA技术向广度和深度两个方向发展.
(1)在广度上,EDA技术会日益普及.在过去,由于EDA软件价格昂贵,对硬件环境要求高,其运行环境是工作站和UNIX操作系统.最近几年,EDA软件平台化进展迅速,这些PC平台上的EDA软件具有整套的逻辑设计、仿真和综合工具.随着PC机性能的提高,PC平台上的软件功能将会更加完善.
(2)在深度上,EDA技术发展的下一步是ESDA伍electronic System Design Automation电子系统设计自动化)和CE (Concurrent Engineering并行设计工程).目前的各种EDA工具,如系统仿真,PCB布线、逻辑综合、DSP设计工具是彼此独立的.随着技术的发展,要求所有的系统工具在统一的数据库及管理框架下工作,由此提出了ESDA和CE概念。

第2章 EDA的发展历程及其应用
2.1电子设计自动化(EDA)发展概述
2.1.1什么是电子设计自动化(EDA )
在电子设计技术领域,可编程逻辑器件(如PLD, GAL)的应用,已有了很好的普及。这些器件为数字系统的设计带来极大的灵活性。由于这类器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程、乃至设计观念。
电子设计自动化(EDA)是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也已比较大。而模拟电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。
2.1.2 EDA的发展历史
EDA技术的发展始于70年代,至今经历了三个阶段。电子线路的CAD(计算机辅助设计)是EDA发展的初级阶段,是高级EDA系统的重要组成部分。它利用计算机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图;采用二维图形编辑与分析,主要解决电子线路设计后期的大量重复性工作,可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设计过程。这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。80年代初期,EDA技术开始技术设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障仿真)和自动布局与布线为核心的EDA产品,这一阶段的EDA已把三维图形技术、窗口技术、计算机操作系统、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入电子设计,形成了CAE—计算机辅助工程。也就是所谓的EDA技术中级阶段。其主要特征是具备了自动布局布线和电路的计算机仿真、分析和验证功能。其作用已不仅仅是辅助设计,而且可以代替人进行某种思维。CAE这种以原理图为基础的EDA系统,虽然直观,且易于理解,但对复杂的电子设计很难达到要求,也不宜于设计的优化。
所以,90年代出现了以自动综合器和硬件描述语言为基础,全面支持电子设计自动化的ESDA(电子系统设计自动化),即EDA阶段、也就是目前常说的EDA.过去传统的电子系统电子产品的设计方法是采用自底而上(Bottom_ Up)的程式,设计者先对系统结构分块,直接进行电路级的设计。这种设计方式使设计者不能预测下一阶段的问题,而且每一阶段是否存在问题,往往在系统整机调试时才确定,也很难通过局部电路的调整使整个系统达到既定的功能和指标,不能保证设计一举成功。EDA技术高级阶段采用一种新的设计概念:自顶而下(Top_ Down)的设计程式和并行工程(Concurrent engineering)的设计方法,设计者的精力主要集中在所要电子产品的准确定义上,EDA系统去完成电子产品的系统级至物理级的设计。此阶段EDA技术的主要特征是支持高级语言对系统进行描述,高层次综合(High Level Synthesis)理论得到了巨大的发展,可进行系统级的仿真和综合。图2-1给出了上述三个阶段的示意图。

图2-1 EDA发展阶段示意图

2.1.3 EDA的应用
随着大规模集成电路技术和计算机技术的不断发展,在涉及通信、国防、航天、医学、工业自动化、计算机应用、仪器仪表等领域的电子系统设计工作中,EDA技术的含量正以惊人的速度上升;电子类的高新技术项目的开发也依赖于EDA技术的应用。即使是普通的电子产品的开发,EDA技术常常使一些原来的技术瓶颈得以轻松突破,从而使产品的开发周期大为缩短、性能价格比大幅提高。不言而喻,EDA技术将迅速成为电子设计领域中的极其重要的组成部分。
电子设计专家认为,单片机时代已经结束,未来将是EDA的时代,这是极具深刻洞察力之言。随着微电子技术的飞速进步,电子学进入了一个崭新的时代。其特征是电子技术的应用以空前规模和速度渗透到各行各业。各行业对自己专用集成电路(ASIC)的设计要求日趋迫切,现场可编程器件的广泛应用,为各行业的电子系统设计工程师自行开发本行业专用的ASIC提供了技术和物质条件。与单片机系统开发相比,利用EDA技术对FPGA/CPLD的开发,通常是一种借助于软件方式的纯硬件开发,可以通过这种途径进行专用ASIC开发,而最终的ASIC芯片,可以是FPGA/CPLD,也可以是专制的门阵列掩模芯片,FPGA/ CPLD起到了硬件仿真ASIC芯片的作用。
2.2基于EDA的FPGA/ CPLD开发
我国的电子设计技术发展到今天,将面临一次更大意义的突破,即FPGA/CPLD (Field Programmable Gate Array,现场可编程门阵列/Complex Programmable Logic Device,复杂可编程逻辑器件)在EDA基础上的广泛应用。从某种意义上说,新的电子系统运转的物理机制又将回到原来的纯数字电路结构,但却是一种更高层次的循环,它在更高层次上容纳了过去数字技术的优秀部分,对(Micro Chip Unit) MCU系统是一种扬弃,在电子设计的技术操作和系统构成的整体上发生了质的飞跃。如果说MCU在逻辑的实现上是无限的话,那么FPGA/CPLD不但包括了MCU这一特点,而且可以触及硅片电路的物理极限,并兼有串、并行工作方式,高速、高可靠性以及宽口径适用性等诸多方面的特点。不但如此,随着EDA技术的发展和FPGA/CPLD在深亚微米领域的进军,它们与MCU, MPU, DSP, A/D, D/A, RAM和ROM等独立器件间的物理与功能界限已日趋模糊。特别是软/硬IP芯片(知识产权芯片;intelligence Property Core,一种已注册产权的电路设计)产业的迅猛发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。
2.2.1 FPGA/CPLD简介
FPGA和CPLD都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于一个单片集成电路中,其集成度已发展到现在的几百万门。复杂可编程逻辑器件CPLD是由PAL (Programmable Array Logic,可编程阵列逻辑)或GAL (Generic Array Logic,通用阵列逻辑)发展而来的。它采用全局金属互连导线,因而具有较大的延时可预测性,易于控制时序逻辑;但功耗比较大。现场可编程门阵列(FPGA)是由可编程门阵列(MPGA)和可编程逻辑器件二者演变而来的,并将它们的特性结合在一起,因此FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。FPGA通常由布线资源分隔的可编程逻辑单元(或宏单元)构成阵列,又由可编程Ir0单元围绕阵列构成整个芯片。其内部资源是分段互联的,因而延时不可预测,只有编程完毕后才能实际测量。
CPLD和FPGA建立内部可编程逻辑连接关系的编程技术有三种:基于反熔丝技术的器件只允许对器件编程一次,编程后不能修改。其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射干扰较强的恶劣环境。基于EEPROM存储器技术的可编程逻辑芯片能够重复编程100次以上,系统掉电后编程信息也不会丢失。编程方法分为在编程器上编程和用下载电缆编程。用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过PC, SUN工作站、ATE(自动测试仪)或嵌入式微处理器系统,就能产生编程所用的标准5V, 3.3V或2.5V逻辑电平信号,也称为ISP (In System Programmable)方式编程,其调试和维修也很方便。基于SRAM技术的器件编程数据存储于器件的RAM区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在EPROM、硬盘、或软盘中。系统加电时将这些编程数据即时写入可编程器件,从而实现板级或系统级的动态配置。
2.2.2基于EDA工具的FPGA/CPLD开发流程
FPGA/CPLD的开发流程:设计开始首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本方式(如VHDL, Verilog-HDL程序)或图形方式(原理图、状态图等)表达出来。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合准备。在此,对于多数EDA软件来说,最初的设计究竟采用哪一种输入形式是可选的,也可混合使用。一般原理图输入方式比较容易掌握,直观方便,所画的电路原理图(请注意,这种原理图与利用PROTEL画的原理图有本质的区别)与传统的器件连接方式完全一样,很容易为人接受,而且编辑器中有许多现成的单元器件可资利用,自己也可以根据需要设计元件(元件的功能可用HDL表达,也可仍用原理图表达)。当然最一般化、最普适性的输入方法是HDL程序的文本方式。这种方式最为通用。如果编译后形成的文件是标准VHDL文件,在综合前即可以对所描述的内容进行仿真,称为行为仿真。即将设计源程序直接送到VHDL仿真器中仿真。因为此时的仿真只是根据VHDL的语义进行的,与具体电路没有关系。在仿真中,可以充分发挥VHDL中的适用于仿真控制的语句,对于大型电路系统的设计,这一仿真过程是十分必要的,但一般情况下,可以略去这一步骤.

图2-2 FPGA / CPLD开发流程
设计的第三步是综合,将软件设计与硬件的可实现性挂钩,这是将软件转化为硬件电路的关键步骤。综合器对源文件的综合是针对某一FPGA/CPLD供应商的产品系列的,因此,综合后的结果具有硬件可实现性。在综合后,HDL综合器一般可生成EDIF, XNF或VHDL等格式的网表文件,从门级来描述了最基本的门电路结构。有的EDA软件,具有为设计者将网表文件画成不同层次的电路图的功能。综合后,可利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。功能仿真仅对设计描述的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求,仿真过程不涉及具体器件的硬件特性,如延迟特性。一般的设计,这一层次的仿真也可略去。综合通过后必须利用FPGA/CPLD布局/布线适配器将综合后的网表式文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配完成后,EDA软件将产生针对此项设计的多项结果:1适配报告:内容包括芯片内资源分配与利用、引脚锁定、设计的布尔方程描述情况等;2时序仿真用网表文件;3下载文件,如JED或POF文件;4适配错误报告等。时序仿真是接近真实器件运行的仿真,仿真过程中己将器件硬件特性考虑进去了,因此仿真精度要高得多。时序仿真的网表式文件中包含了较为精确的延迟信息。如果以上的所有过程,包括编译、综合、布线/适配和行为仿真、功能仿真、时序仿真都没有发现问题,即满足原设计的要求,就可以将适配器产生的配置/下载文件通过FPGA/CPLD编程器或下载电缆载入目标芯片FPGA或CPLD中,然后进入如图1-2所示的最后一个步骤:硬件仿真或测试,以便在更真实的环境中检验设计的运行情况。这里所谓的硬件仿真,是针对ASIC设计而言的。在ASIC设计中,比较常用的方法是利用FPGA对系统的设计进行功能检测,通过后再将其VHDL设计以ASIC形式实现;而硬件测试则是针对FPGA或CPLD直接用于电路系统的检测而言的。
2.2.3用FPGA/CPLD进行开发的优缺点
我们认为,基于EDA技术的FPGA/CPLD器件的开发应用可以从根本上解决MCU所遇到的问题。与MCU相比,FPGA/CPLD的优势是多方面的和根本性的:
1.编程方式简便、先进。FPGA/CPLD产品越来越多地采用了先进的IEEE 1149.1边界扫描测试(BST)技术(由联合测试行动小组,JTAG开发)和ISP(在系统配置编程方式)。在+5V工作电平下可随时对正在工作的系统上的FPGA/CPLD进行全部或部分地在系统编程,并可进行所谓菊花链式多芯片串行编程,对于SRAM结构的FPGA,其下载编程次数几乎没有限制(如Altera公司的FLEXI 10K系列)。这种编程方式可轻易地实现红外编程、超声编程或无线编程,或通过电话线远程在线编程。这些功能在工控、智能仪器仪表、通讯和军事上有特殊用途。
2.高速。FPGA/CPLD的时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。
3.高可靠性。在高可靠应用领域,MCU的缺憾为FPGA/CPLD的应用留下了很大的用武之地。除了不存在MCU所特有的复位不可靠与PC可能跑飞等固有缺陷外,FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,从而大大缩小了体积,易于管理和屏蔽。
4.开发工具和设计语言标准化,开发周期短。由于FPGA/CPLD的集成规模非常大,集成度可达数百万门。因此,FPGA/ CPLD的设计开发必须利用功能强大的EDA工具,通过符合国际标准的硬件描述语言(如VHDL或Verilog-HDL)来进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用的FPGA/ CPLD器件的硬件结构没有关系.
所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号的FPGA/ CPLD中,由此还可以知识产权的方式得到确认,并被注册成为所谓的IP芯片,从而使得片上系统的产品设计效率大幅度提高。由于相应的EDA软件功能完善而强大,仿真方式便捷而实时,开发过程形象而直观,兼之硬件因素涉及甚少,因此可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场的最宝贵的特征。美国TI公司认为,一个ASIC 80%的功能可用IP芯片等现成逻辑合成。EDA专家预言,未来的大系统的FPGA/CPLD设计仅仅是各类再应用逻辑与IP芯片的拼装,其设计周期最少仅数分钟。
5.功能强大,应用广阔。目前,FPGA/ CPLD可供选择范围很大,可根据不同的应用选用不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。随着这类器件的广泛应用和成本的大幅度下降,FPGA/CPLD在系统中的直接应用率正直逼ASIC的开发。同时,FPGA/CPLD设计方法也有其局限性。这主要体现在以下几点:
(1).FPGA/CPLD设计软件一般需要对电路进行逻辑综合优化((Logic段Synthesis & Optimization),以得到易于实现的结果,因此,最终设计和原始设计之间在逻辑实现和时延方面具有一定的差异。从而使传统设计方法中经常采用的一些电路形式(特别是一些异步时序电路)在FPGA/CPLD设计方法中并不适用。这就要求设计人员更加了解FPGA/CPLD设计软件的特点,才能得到优化的设计;
(2).FPGA一般采用查找表(LUT)结构(Xilinx), AND-OR结构(Altera)或多路选择器结构(Actel),这些结构的优点是可编程性,缺点是时延过大,造成原始设计中同步信号之间发生时序偏移。同时,如果电路较大,需要经过划分才能实现,由于引出端的延迟时间,更加大了延迟时间和时序偏移。时延问题是ASIC设计当中常见的问题。要精确地控制电路的时延是非常困难的,特别是在像FPGA/CPLD这样的可编程逻辑当中。
(3). FPGA/CPLD的容量和I/O数目都是有限的,因此,一个较大的电路,需经逻辑划分((Logic Partition)才能用多个FPGA/CPLD芯片实现,划分算法的优劣直接影响设计的性能;
(4).由于目标系统的PCB板的修改代价很高,用户一般希望能够在固定的引 分配的前提下对电路进行修改。但在芯片利用率提高,或者芯片I/O引出端很多的情况下,微小的修改往往会降低芯片的流通率;
(5).早期的FPGA芯片不能实现存储器、模拟电路等一些特殊形式的电路。最新的一些FPGA产品集成了通用的RAM结构。但这种结构要么利用率不高,要么不完全符合设计者的需要。这种矛盾来自于FPGA本身的结构局限性,短期内很难得到很好的解决。
6.尽管FPGA实现了ASIC设计的硬件仿真,但是由于FPGA和门阵列、标准单元等传统ASIC形式的延时特性不尽相同,在将FPGA设计转向其他ASIC设计时,仍然存在由于延时不匹配造成设计失败的可能性。针对这个问题,国际上出现了用FPGA阵列对ASIC进行硬件仿真的系统(如Quicktum公司的硬件仿真系统)。这种专用的硬件仿真系统利用软硬件结合的方法,用FPGA阵列实现了ASIC快速原型,接入系统进行测试。该系统可以接受指定的测试点,在FPGA阵列中可以直接观测(就像软件模拟中一样),所以大大提高了仿真的准确性和效率。
2.3硬件描述语言(HDL)
硬件描述语言(HDL)是相对于一般的计算机软件语言如C, Pascal而言的。HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。设计者可以利用HDL程序来描述所希望的电路系统,规定其结构特征和电路的行为方式;然后利用综合器和适配器将此程序变成能控制FPGA和CPLD内部结构、并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。硬件描述语言具有以下几个优点:a.设计技术齐全,方法灵活,支持广泛。b.加快了硬件电路的设计周期,降低了硬件电路的设计难度。c.采用系统早期仿真,在系统设计早期就可发现并排除存在的问题。d.语言设计可与工艺技术无关。e.语言标准,规范,易与共享和复用。就FPGA/CPLD开发来说,VHDL语言是最常用和流行的硬件描述语言之一。本次设计选用的就是VHDL语言,下面将主要对VHDL语言进行介绍。
2.3.1 VHDL语言简介
VHDL是超高速集成电路硬件描述语言的英文字头缩写简称,其英文全名 是Very-High -Speed Integrated Circuit Hardware Description Language。它是在70- 80年代中由美国国防部资助的VHSIC(超高速集成电路)项目开发的产品,诞生于1982年。1987年底,VHDL被IEEE(The Institute of Electrical and产Electronics Engineers)确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本((IEEE std 1076-1987标准)之后,各EDA公司相继推出了自己的VHDL设计环境。此后,VHDL在电子设计领域受到了广泛的接受,并逐步取代了原有的非标准HDL。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即ANSI/IEEE std1076,1993版本。1996年IEEE 1076.3成为VHDL综合标准。
VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件己不成问题。
VHDL语言在硬件设计领域的作用将与C和C++在软件设计领域的作用一样,在大规模数字系统的设计中,它将逐步取代如逻辑状态表和逻辑电路图等级别较低的繁琐的硬件描述方法,而成为主要的硬件描述工具,它将成为数字系统设计领域中所有技术人员必须掌握的一种语言。VHDL和可编程逻辑器件的结合作为一种强有力的设计方式,将为设计者的产品上市带来创纪录的速度
2.3.2 VHDL语言设计步骤
利用VHDL语言进行设计可分为以下几个步骤:
1.设计要求的定义。在从事设计进行编写VHDL代码之前,必须先对你的设计目的和要求有一个明确的认识。例如,你要设计的功能是什么?对所需的信号建立时间、时钟/输出时间、最大系统工作频率、关键的路径等这些要求,要有一个明确的定义,这将有助于你的设计,然后再选择适当的设计方式和相应的器件结构,进行设计的综合。
2.用VHDL语言进行设计描述。
(1)应决定设计方式,设计方式一般说来有三种:自顶向下设计,自底向上设计,平坦式设计。
前两种方式包括设计阶层的生成,而后一种方式将描述的电路当作单模块电路来进行的。自顶向下的处理方式要求将你的设计划分成不同的功能元件,每个元件具有专门定义的输入和输出,并执行专门的逻辑功能。首先生成一个由各功能元件相互连接形成的顶层模块来做成一个网表,然后再设计其中的各个元件。而自底向上的处理方法正好相反。平坦式设计则是指所有功能元件均在同一层和同一图中详细进行的。
(2)编写设计代码。编写VHDL语言的代码与编写其它计算机程序语言的代码有很大的不同,你必须清醒地认识到你正在设计硬件,编写的VHDL代码必须能够综合到采用可编程逻辑器件来实现的数字逻辑之中。懂得EDA工具中仿真软件和综合软件的大致工作过程,将有助于编写出优秀的代码。
3.用VHDL仿真器对VHDL原代码进行功能仿真。对于大型设计,采用VHDL仿真软件对其进行仿真可以节省时间,可以在设计的早期阶段检测到设计中的错误,从而进行修正,以便尽可能地减少对设计日程计划的影响。因为对于大型设计,其综合优化、配置往往要花费好几个小时,在综合之前对原代码仿真,就可以大大减少设计重复和修正错误的次数和时间。但对于小型设计,则往往不需要先对VHDL原代码进行仿真,即使做了,意义也不大。因为对于小型设计,其综合优化、配置花费的时间不多,而且在综合优化之后,你往往会发现为了实现性能目标,将需要修改你的设计。在这种情况下,用户事先在原代码仿真时所花费的时间是毫无意义的,因为一旦改变设计,还必须重新再做仿真。
4.利用VHDL综合优化软件对VHDL原代码进行综合优化处理。选择目标器件、输入约束条件后,VHDL综合优化软件工具将对VHDL原代码进行处理,产生一个优化了的网络表,并可以进行粗略的时序仿真。综合优化软件工具大致的处理过程如下:首先检测语法和语意错误;然后进行综合处理,对CPLD器件而言,将得到一组工艺专用逻辑方程,对FPGA器件而言,将得到一个工艺专用网表;最后进行优化处理,对CPLD的优化通常包括将逻辑化简为乘积项的最小和式,降低任何给定的表达式所需的逻辑块输入数,这些方程进一步通过器件专用优化来实现资源配置。对FPGA的优化通常也需要用乘积项的和式来表达逻辑,方程系统可基于器件专用资源和驱动优化目标指引来实现因式分解,分解的因子可用来对实现的有效性进行评估,其准则可用来决定是对方程序系统进行不同的因式分解还是保持现有的因子。准则通常是指分享共同因子的能力,即可以被暂存,以便于和任何新生成的因子相比较。
5.配置。将综合优化处理后得到的优化了的网络表,安放到前面选定的CPLD或FPGA目标器件之中,这一过程称为配置。在优化

⑤ 批处理中sed如何使用

他是 Gentoo Technologies, Inc. 的总裁兼 CEO,Gentoo Linux(用于 PC 的高级 Linux)和 Portage 系统(Linux 的下一代端口系统)的创始人。他还是 Macmillan 书籍Caldera OpenLinux Unleashed、SuSE Linux Unleashed 和Samba Unleashed 的作者。Daniel 自小学二年级起就与计算机结下不解之缘,那时他首先接触的是 Logo 程序语言,并沉溺于 Pac-Man 游戏中。这也许就是他至今仍担任 SONY Electronic Publishing/Psygnosis 的首席图形设计师的原因所在。Daniel 喜欢与妻子 Mary 和新出生的女儿 Hadassah 一起共度时光。可通过[email protected] 与 Daniel 联系。
挑选编辑器在UNIX 世界中有很多文本编辑器可供我们选择。思考一下 -- vi、emacs 和 jed 以及很多其它工具都会浮现在脑海中。我们都有自己已逐渐了解并且喜爱的编辑器(以及我们喜爱的组合键)。有了可信赖的编辑器,我们可以轻松处理任何数量与 UNIX 有关的管理或编程任务。
虽然交互式编辑器很棒,但却有其限制。尽管其交互式特性可以成为强项,但也有其不足之处。考虑一下需要对一组文件执行类似更改的情形。您可能会本能地运行自己所喜爱的编辑器,然后手工执行一组烦琐、重复和耗时的编辑任务。然而,有一种更好的方法。
进入sed如果可以使编辑文件的过程自动化,以便用“批处理”方式编辑文件,甚至编写可以对现有文件进行复杂更改的脚本,那将太好了。幸运的是,对于这种情况,有一种更好的方法 -- 这种更好的方法称为 "sed"。
sed 是一种几乎包括在所有 UNIX 平台(包括 Linux)的轻量级流编辑器。sed 有许多很好的特性。首先,它相当小巧,通常要比您所喜爱的脚本语言小很多倍。其次,因为 sed 是一种流编辑器,所以,它可以对从如管道这样的标准输入接收的数据进行编辑。因此,无需将要编辑的数据存储在磁盘上的文件中。因为可以轻易将数据管道输出到 sed,所以,将 sed 用作强大的 shell 脚本中长而复杂的管道很容易。试一下用您所喜爱的编辑器去那样做。
GNU sed对Linux 用户来说幸运的是,最好的 sed 版本之一恰好是 GNU sed,其当前版本是 3.02。每一个 Linux 发行版都有(或至少应该有)GNU sed。GNU sed 之所以流行不仅因为可以自由分发其源代码,还因为它恰巧有许多对 POSIX sed 标准便利、省时的扩展。另外,GNU 没有 sed 早期专门版本的很多限制,如行长度限制 -- GNU 可以轻松处理任意长度的行。
最新的 GNU sed
在研究这篇文章之时我注意到:几个在线 sed 爱好者提到 GNU sed 3.02a。奇怪的是,在ftp.gnu.org(有关这些链接,请参阅参考资料)上找不到 sed 3.02a,所以,我只得在别处寻找。我在alpha.gnu.org 的 /pub/sed 中找到了它。于是我高兴地将其下载、编译然后安装,而几分钟后我发现最新的 sed 版本却是 3.02.80 -- 可在alpha.gnu.org 上 3.02a 源代码旁边找到其源代码。安装完 GNU sed 3.02.80 之后,我就完全准备好了。
正确的 sed在本系列中,将使用 GNU sed 3.02.80。在即将出现的本系列后续文章中,某些(但非常少)最高级的示例将不能在 GNU sed 3.02 或 3.02a 中使用。如果您使用的不是 GNU sed,那么结果可能会不同。现在为什么不花些时间安装 GNU sed 3.02.80 呢?那样,不仅可以为本系列的余下部分作好准备,而且还可以使用可能是目前最好的 sed。
sed 示例sed 通过对输入数据执行任意数量用户指定的编辑操作(“命令”)来工作。sed 是基于行的,因此按顺序对每一行执行命令。然后,sed 将其结果写入标准输出 (stdout),它不修改任何输入文件。
$ sed -e 'd' /etc/services
如果输入该命令,将得不到任何输出。那么,发生了什么?在该例中,用一个编辑命令 'd' 调用 sed。sed 打开 /etc/services 文件,将一行读入其模式缓冲区,执行编辑命令(“删除行”),然后打印模式缓冲区(缓冲区已为空)。然后,它对后面的每一行重复这些步骤。这不会产生输出,因为 "d" 命令除去了模式缓冲区中的每一行!
在该例中,还有几件事要注意。首先,根本没有修改 /etc/services。这还是因为 sed 只读取在命令行指定的文件,将其用作输入 -- 它不试图修改该文件。第二件要注意的事是 sed 是面向行的。'd' 命令不是简单地告诉 sed 一下子删除所有输入数据。相反,sed 逐行将 /etc/services 的每一行读入其称为模式缓冲区的内部缓冲区。一旦将一行读入模式缓冲区,它就执行 'd' 命令,然后打印模式缓冲区的内容(在本例中没有内容)。我将在后面为您演示如何使用地址范围来控制将命令应用到哪些行 -- 但是,如果不使用地址,命令将应用到所有行。
第三件要注意的事是括起 'd' 命令的单引号的用法。养成使用单引号来括起 sed 命令的习惯是个好注意,这样可以禁用 shell 扩展。
另一个 sed 示例
下面是使用 sed 从输出流除去 /etc/services 文件第一行的示例:
$ sed -e '1d' /etc/services | more
如您所见,除了前面有 '1' 之外,该命令与第一个 'd' 命令十分类似。如果您猜到 '1' 指的是第一行,那您就猜对了。与第一个示例中只使用 'd' 不同的是,这一次使用的 'd' 前面有一个可选的数字地址。通过使用地址,可以告诉 sed 只对某一或某些特定行进行编辑。
$ sed -e '1,10d' /etc/services | more
当用逗号将两个地址分开时,sed 将把后面的命令应用到从第一个地址开始、到第二个地址结束的范围。在本例中,将 'd' 命令应用到第 1 到 10 行(包括这两行)。所有其它行都被忽略。
带规则表达式的地址
现在演示一个更有用的示例。假设要查看 /etc/services 文件的内容,但是对查看其中包括的注释部分不感兴趣。为了

⑥ protel99的PLD怎么用如对GAL16v8的编译 和下载等具体操作,谢谢各位高人

Protel99是不能编程PLD的。需要用PLD厂家提供的软件编译成JED文件。GAL16V8我以前用炜煌的编程器烧写的。现在的CPLD一般用厂家的软件加编程器在线编程的。

⑦ 请问用什么通用编程器能读出cpld的pof文件我急用啊,请指教了,谢谢

用jed4w可反编译pof文件为ABEL语言,其它的如verilog目前还不能反编译

⑧ EDA的定义

EDA的定义

EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的`方式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。

适配器的功能是将由综合器产生的王表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于在综合器中已指定的目标器件系列。

硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的 HDL主要有ABEL-HDL、AHDL和VHDL。 ;

⑨ 请问那个cpld芯片的资源最少,我想用一个很小的谢谢!!!

很好

热点内容
优酷怎么给视频加密 发布:2025-05-14 19:31:34 浏览:633
梦三国2副本脚本 发布:2025-05-14 19:29:58 浏览:859
phpxmlhttp 发布:2025-05-14 19:29:58 浏览:432
Pua脚本 发布:2025-05-14 19:24:56 浏览:448
苹果像素低为什么比安卓好 发布:2025-05-14 19:13:23 浏览:459
安卓机微信怎么设置红包提醒 发布:2025-05-14 19:00:15 浏览:271
androidsystem权限设置 发布:2025-05-14 18:56:02 浏览:970
mq脚本 发布:2025-05-14 18:45:37 浏览:25
仙境传说ro解压失败 发布:2025-05-14 18:45:01 浏览:868
betweenand的用法sql 发布:2025-05-14 18:39:25 浏览:250