EDA期末总结7

合集下载

eda心得体会

eda心得体会

eda心得体会《eda 心得体会》在当今科技飞速发展的时代,电子设计自动化(EDA)已经成为电子工程领域中不可或缺的一部分。

作为一名电子工程专业的学生或者从业者,深入学习和掌握 EDA 技术给我带来了许多宝贵的经验和深刻的体会。

EDA 技术的出现,极大地改变了电子设计的方式和效率。

过去,电子设计师们需要依靠手工绘制电路图、进行复杂的计算和反复的试验来完成设计,这不仅耗费大量的时间和精力,而且容易出现错误。

而EDA 工具的出现,使得设计过程变得更加智能化、自动化和高效化。

通过使用 EDA 软件,我们可以轻松地绘制电路图、进行仿真分析、优化设计参数,甚至可以自动生成 PCB 布线,大大缩短了产品的研发周期,提高了设计的质量和可靠性。

在学习 EDA 的过程中,我深刻地体会到了理论知识与实践操作相结合的重要性。

EDA 不仅仅是一款软件的使用,更需要我们具备扎实的电子电路、数字逻辑、模拟电子技术等方面的理论基础。

只有在理论的指导下,我们才能更好地理解和运用 EDA 工具,进行有效的设计和分析。

例如,在进行电路仿真时,如果不了解电路的基本原理和器件的特性,就很难准确地设置仿真参数,从而得到可靠的仿真结果。

同时,EDA 技术的不断更新和发展也给我们带来了新的挑战和机遇。

随着芯片制造工艺的不断进步,电子系统的复杂度越来越高,对 EDA工具的功能和性能也提出了更高的要求。

这就需要我们不断地学习和掌握新的 EDA 技术和工具,跟上时代的步伐。

例如,近年来兴起的人工智能与 EDA 技术的结合,为电子设计带来了新的思路和方法。

通过利用机器学习算法,EDA 工具可以更加智能地优化设计,提高设计的效率和性能。

在实际的项目设计中,EDA 技术发挥了巨大的作用。

记得有一次,我参与了一个小型智能控制系统的设计项目。

在这个项目中,我们需要设计一个复杂的电路来实现对多个传感器数据的采集、处理和控制输出。

通过使用 EDA 工具,我们首先绘制了电路原理图,然后进行了电路仿真,对各个模块的性能进行了分析和优化。

EDA学习总结

EDA学习总结

EDA学习总结我参加的《EDA与数字电路设计》培训就要接近尾声了,通过这20天的学习,我受益匪浅。

虽然我没能在家里过一个舒适的暑假,但是我和同学们一起在实验室过了一个有意义的暑假,我觉得最重要的是通过这样一个培训不仅增强了我对EDA以及数字电路设计的兴趣,而且还和同学们建立了深厚的友谊,懂得了互相帮助,团结就是力量的道理。

在这20天的学习中,我掌握了基本的数字电路设计的方法、流程等等,以及仿真工具的使用,这为以后的学习奠定了基础。

在这之前我没有接触过Xilinx公司的开发软件,也没有接触过Spartan 3E开发板,刚开始的时候学习起来有点吃力,第一周我主要是在学习Xilinx公司的软件ISE的使用,在师兄张怀德边讲解边操作下,我很快就熟悉了整个ISE的使用过程。

ISE的使用流程大致是这样的:首先双击桌面上的ISE图标打开ISE软件,在File菜单中选择New Project,新建一个工程,然后在新建好的工程中,添加VHDL源文件,保存源文件,开始对源文件综合(Synthesize-XST),看看是否有语法错误,综合成功之后,可以看到设计的源文件的RTL图以及工艺结构图等等;完成综合之后可以在Design Utilities中创建原理图等等;在用户约束(User Constraints)中可以创建时序约束(Create Timing Constraints)、分配引脚(Assign Package Pins)、创建面积约束(Create Area Constraints)以及编辑约束(.text);完成之后进行实现(Implement Design),其中包括转换(Translate)、映射(Map)以及布局布线(Place & Route);完成这些步骤之后,最后一步就是生成程序代码下载到板子上了,包括程序文件生成报告、生成PROM,ACE,Or JTAG File以及配置器件(Configure Device),完成这些之后就可以下载到板子上观察自己所做实验的实验现象了。

EDA期末复习总结.docx

EDA期末复习总结.docx

第一章EDA技术概述图1-5应用于FPGA/CPLD的EDA开发流程2、综合分类:•从自然语言转换到VHDL语言算法表述,即自然语言综合;•从算法表述转换到寄存器传输级(RTL)表述,即从行为域到结构域的综合,即行为综合;•从RTL级表述转换到逻辑门(包括触发器)的表述,即逻辑综合;•从逻辑门表述转换到版图级表述(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。

3、PLD分类:•已集成度分,一般可分为两大器件:A、低集成度芯片:早期出现的PROM、PAL、可重复编程的GDL都属于这类。

一般而言,可重构使用的逻辑门数大约在500门以下,简称为PLD;B、高集成度芯片:如现在大量使用的CPLD、FPGA器件,称为复杂PLD•从结构上可分为两大类器件:A、乘积项结构器件:其基本结构为“与一或阵列”的器件,大部分简单PLD 和CPLD都属于这个范围B、查找表结构器件:由简单的查找表组可编程门,再构成阵列形式,大多数FPGA是属于此类器件•第三种分类方法是从编程工艺上划分:熔丝型;反熔丝性;EPROM型;EEPROM型;SRAM型;RAM型;Flash型;4、MAX7000结构中包含有5个主要部分,即:逻辑阵列块、逻辑宏单元、扩展乘积项(共享和并联)、可编程连线阵列和I/O控制块。

• 逻辑宏单元:MAX7000的LAB由16个宏单元的阵列纟H.成。

MAX7000结构由多个LAB 组成的阵列及他们Z间的连线构成。

LAB通过可编程连线阵列(PIA)和全局总线连接在一起,全局总线从所有的专用输入、I/O引脚和宏单元馈入信号。

输入信号:(1)来自作为通用逻辑输入的PIA的36个信号;(2)来白全局控制信号,用于寄存器辅助功能;1、FPGA/CPLD 器件和电路系统原理图/HDL文本编辑<FPGA/CPLD _适配——器1JTAG方式下载2.针对SRAM结构的配置3.配器件编程FPGA/CPLD编程下载(3)从I/O引脚到寄存器的直接输入通道。

2024年eda实训心得体会

2024年eda实训心得体会

2024年eda实训心得体会作为2024年的实训生,我有幸参加了EDA(Electronic Design Automation)实训课程,这次实训对我来说是一个宝贵的机会来锻炼自己的技能和知识。

在这____字的心得体会中,我将会分享我在实训中的收获、成长和体会。

首先,我要感谢实训团队为我们提供了一个全面的学习环境和设施,让我们能够充分地利用实践机会进行自我提升。

实训期间,我们使用了最新的EDA工具和技术,对EDA的基本原理和应用有了深入的理解。

在实训中,我们完成了一系列的项目任务,从简单到复杂,从理论到实践,每个项目都带给我新的挑战。

在这个过程中,我主要参与了数字电路设计和验证的项目。

首先,我们学习了数字电路的基本原理和设计方法,了解了几种常用的数字逻辑门和触发器,并学会了使用EDA工具进行电路设计和验证。

我们通过实践,掌握了设计和验证数字电路的整个流程,从问题的定义、电路的设计、到验证和仿真,再到布局布线和物理验证。

在设计数字电路的过程中,我遇到了很多技术难题和挑战,但通过与同学们的合作和老师的指导,我解决了许多问题。

我学会了如何分析和解决设计中的错误和故障,以及如何优化和改进设计。

这个过程不仅锻炼了我的技术能力,还提高了我的团队合作能力和解决问题的能力。

除了技术方面的学习,实训中还加强了我的团队合作和沟通能力。

在团队项目中,我们需要与其他成员密切合作,共同解决问题并完成任务。

我们学会了如何有效地进行团队合作和分工,如何利用各自的优势来实现项目目标。

在项目过程中,我们还需要与指导老师和工作人员进行良好的沟通和协调,以确保项目的顺利进行。

在实训期间,我还参加了各种专题讲座和技术交流活动,与其他实训生和行业专家进行了广泛的交流和学习。

通过这些活动,我拓宽了自己的知识视野,了解了最新的技术发展和行业动态。

我还结识了许多志同道合的同学和行业专家,与他们进行了深入的交流和合作,在交流中不断提高自己的技术和思维能力。

eda技术课程总结与心得

eda技术课程总结与心得

【第一章】1、FPGA芯片的发展主要体现在哪几个方面未来的发展趋势是什么ANS:2、EDA技术的优势是什么ANS: EDA依赖功能强大的计算机在EDA工具软件平台上自动的完成逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真等功能,直至实现既定性能的电子线路系统功能。

EDA使得设计者的工作几乎仅限于利用软件的方式,即利用硬件描述语言HDL和EDA工具软件来完成对系统硬件功能的实现 + P 103、EDA的设计流程包括哪几个环节ANS: ①设计输入(原理图/HDL文本编辑)②综合③ FPGA/CPLD 适配④时序仿真与功能门级仿真⑤FPGA/CPLD编程下载⑥FPGA/CPLD器件电路硬件检测。

4、硬件描述语言的种类有哪些ANS: VHDL 、Verilog HDL、SystemVerilog、System C 等5、自顶向下设计方法的优点是什么ANS: 过程大部分由计算机完成,可植性强,便于系统的优化和升级,以及对模型进行及时的修改,以改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。

在EDA技术应用中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程。

6、ip核可分为哪几类ANS: ①软IP 、②固IP、③硬IP7、ip在EDA技术的应用和发展中的意义是什么ANS: IP就是将某些功能固化,而当EDA设计也需要这些功能的时候,就可以直接将植入了此功能的IP拿过来直接用,而不用再重新设计。

这样既可以提高效率又可以减少设计风险。

IP核具有规范的接口协议,良好的可移植与可测试性,为系统开发提供了可靠的保证。

【第二章】1、可编程逻辑器件经历哪些发展过程ANS:2、Altera公司的PLD芯片主要有哪些系列ANS: 按照推出的先后顺序:Classic 、MAX、FLEX、APEX、ACEX、APEX 2、Cyclone/2/3/4、MAX2、Stratix-1/2/3/4/6. 【第三章】1、一个完整的VHDL程序包括哪几个部分其作用是什么ANS: ①实体描述部分②结构体描述部分作用略2、VHDL中标示符的命名规则是什么ANS: 标识符是设计者在VHDL程序中自己定义的,用于标识不同名称的词语。

eda实验心得体会

eda实验心得体会

eda实验心得体会EDA(Exploratory Data Analysis)实验是一种数据分析的方法,旨在探索数据集中的信息,揭示其内在的关联和趋势。

通过对数据进行统计分析、可视化和模型建立等工作,EDA可帮助我们更好地理解和解释数据,并做出有针对性的分析和决策。

在进行EDA实验时,我从以下几个方面有所收获和体会:1. 数据清洗的重要性:在进行数据分析之前,需要对原始数据进行清洗,包括处理缺失值、异常值和重复值等。

数据的质量和完整性直接影响分析结果的可靠性和准确性。

因此,数据清洗是EDA实验的第一步,也是最基础的工作。

2. 数据可视化的威力:通过数据可视化,可以将抽象的数据以图表的形式展现出来,更直观地展示数据之间的关系和趋势。

在实验中,我使用了各种图表工具,如条形图、折线图、散点图和热力图等,帮助我更好地理解数据的内在规律和特性。

数据可视化不仅提高了分析的效率,也使得结果更易于理解和传达。

3. 探索性数据分析的流程:在进行EDA实验时,需要按照一定的流程和步骤进行。

首先,了解数据的基本信息,包括数据类型、维度和特征的含义等。

然后,进行统计分析,计算关键指标、描述性统计和相关系数等,揭示数据集的概况和特征。

接下来,进行数据可视化,通过图表和图形展示数据的分布、变化和趋势等。

最后,根据分析结果,提出问题、发现规律和做出结论。

4. 模型建立与预测:在EDA实验中,除了对数据进行探索性分析外,还可以通过模型建立来预测和推断。

通过选择合适的模型,并根据数据集进行训练和测试,可以得到针对问题的预测结果和决策依据。

模型建立是EDA实验的高级部分,需要对数据进行进一步的处理和分析。

通过参与EDA实验,我不仅加深了对数据分析的理解和应用,也培养了自己的分析思维和解决问题的能力。

在实验中,我也遇到了一些困难和挑战,例如数据集复杂多样、处理数据缺失和异常等问题。

但是,通过不断的尝试和学习,我逐渐克服了这些困难,并取得了一些成果。

eda期末知识点总结.docx

eda期末知识点总结.docx

1,用数据流描述方式应注意的问题是什么?1,X状态的传递问题2,限制问题数据流描述是建立在用并行信号赋值语句描述的基础上,当语句中一输入信号的只发生变化时,复制语句就被激活2,写B VHDL中描述始终上升沿,下降沿语句(一共8句) 下降沿:1,CLK='O' AND CLK'LAST_VALUE=”1”2,FALLING_EDGE(CLK)3,CLK,EVENT AND CLK=,O'4,CLK'EVENT AND(CLK='O')AND (CLK,LAST_VALUE=T)上升沿:1,CLK=,r AND CLK,LAST_VALUE=”O”2,RISING_EDGE(CLK)3,CLKEVENT AND CLK=,V4,CLK'EVENT AND(CLK=' 1')AND (CLK,LAST_VALUE=,O5)【选择】3,用原理图编辑层次化设计方法中将已设计好的功能模块包装成原件的命令式什么?FAIL—-CREAT/UPDATE—-CREAT SYMBOL FILE FOR CURRENT.FILE【选择】4结构体描述的是内部功能【选择】5不完整的IF语句实现什么样的逻辑电路?(时序电路)时序电路=组合电路+有储能元件组合电路=逻辑上输出总是当前输入状态的函数不完整的IF语句,默认将不完整的只锁存,股实现的是时'序电路【选择】6,信号的更新时什么时候完整的,跟进程用什么关系?信号的复制要有一个延时,只有在延时以后,才能更新,在进程中,所有信号复制操作几乎是在同事完成的,且是在执行到END PROCESS是才会发生当在进程中存在同一信号有多个复制源实际复制时是最接近END PROCESS的语句的信号【选择】7,对于数据类型中,看了一直接引用而不必声明的是哪一个?VHDI标准中规定标准库STD和工作库WORK是默认打开的BIT数据类型在STD中不必声明【选择】8波形文件的后缀名为.vmf; VHDL的文件名后缀是.vhd 【选择】9进行编译的要求哪三个名字是相同的?工程名,文件名,实体名【选择?】10, FPGA的结构和工作原理是什么?FPGA即现场可编程门阵列,是大规模可编程逻辑器件,结构为查找表逻辑结构,即可编程的查找表结构,大部分FPGA采用基子SRAM的查找表逻辑形成结构,就是用SRAM来构成逻辑函数发生器,一个N输入LUT可以实现N个输入变量的任何逻辑功能11, EDA的设计流程是什么?当中的综合是什么样的过程?当中的关系是否唯一?自顶而下:设计输入(原理图/HDL文本编辑)—- 综合—-FPGA/CPLD适配--时序与功能门级仿真—-FPGA/CPLU 编程下载--硬件测试(综合就是把抽象设计层次中的一种表示转化成另一种表示的过程)综合是将电路的高级语言转换成低级的,可与FPGA/CPLU的基本结构相映射的网表文件互程序,这种过程不是唯一的,综合的优化也不是单方向的【选择】12, EDA的设计当中,CPLU的设计流程是什么?原理图/HDL文本编辑输入--功能仿真--综合优化一一一一综合后仿真一一一一实现一一一一时序仿真及验证一一调试与加载配置【选择】13, CPLU通过什么样的逻辑实现它的逻辑功能?CPLU是基于乘积项的可编程结构实现基逻辑功能,FPGA 可编程的查找表结构【选择】14, IP核设计当中,软IP核是用VHDL 等硬件描述语言的功能块,并不涉及用什么具体电路元件实现这些功能固IP核是完成了综合的功能块,硬IP核提供设计的最终阶段产品【选择】15,信号可不可以带进程?为什么?信号可以带进程,在整个结构体内的任何地方都能适用,变量VARIABLE只能在定义的进程中使用【选择】16, WORK工作库,IEEE,常用资源库,STD, VHDL标准库【选择】17在状态机编码中,以为热吗编码方式就是用几个触发器来实现具体几个状态的状态机,所用触发器最多【名词解释】18, LPM参数可设置模块库;RTL: 寄存器传输级IEEE:常用资源库的设计库名;LAB:逻辑阵列块ASIC:主要指用于某一专门用途的集成电路器件19,7段共阴极,LED段译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY VECLTS ISPORT LA:IN STD_L0GIC_VECT0R(5DOWNTO 0);LEDTS:OUT STD_L0GIC_VECT0R(6 DOWNTO 0);END;ARCHITECTURE ONE OF VELTS ISBEGINPROCESS(A)BEGINCASE A ISWHEN”0000”=>LEDTS<=”0111111”;WHEN”0001”=>LEDTS<=”0000110”;WHEN”0010”=>LEDTS<="1011011”;WHEN”0011 ”=>LEDTS<=" 1001111”;WHEN”0100”=>LEDTS<="1100110”;WHEN”0101”=>LEDTS<="1101101”;WHEN”0110”=>LEDTS<=" 1111101”;WHEN”0111 ”=>LEDTS<=”0000111 ” ;WHEN” 1000”=>LEDTS<=” 1111111”;WHEN” 1001 ”=>LEDTS<=" 1101111 ” ;WHEN''1010''=>LEDTS<=''1110111";WHEN''1011''=>LEDTS<="1111100";WHEN''1100''=>LEDTS<="0111001";WHEN”1101”=>LEDTS<="1011110”;WHEN” 1110”=>LEDTS<=" 1111001 ” ;WHEN"1111"=>LEDTS<="1110001";WHEN OTHERS=>NULL;END CASE;END PROCESS;ENDL;FPGA的配置文件又分为bit文件和mcs文件,bit是通过JTAG接口进行配置的,mcs文件是通过SPI或BPI 接口进行配置的。

EDA心得体会

EDA心得体会

EDA心得体会
在进行数据分析的过程中,探索性数据分析(EDA)是一个非常
重要的步骤。

通过EDA,我们可以更好地了解数据的特征、分布和
相关性,为后续的建模和分析工作奠定基础。

在进行EDA的过程中,我深刻体会到了以下几点:
首先,EDA需要耐心和细心。

在分析数据的过程中,我们需要
仔细观察每一个变量的分布情况,寻找异常值和缺失值,并尝试不
同的可视化手法来呈现数据的特征。

这需要耗费大量的时间和精力,但却是非常必要的。

其次,EDA需要灵活的思维。

在进行数据分析的过程中,我们
经常会遇到各种各样的问题和挑战,需要不断调整分析思路和方法。

有时候,我们需要尝试不同的统计方法和可视化工具,以找到最合
适的方式来呈现数据的特征。

最后,EDA需要团队合作。

在实际工作中,进行数据分析往往
需要多个人协作。

不同的人员可能有不同的分析思路和方法,通过
团队合作,我们可以充分利用每个人的优势,共同完成数据分析的
任务。

总的来说,EDA是数据分析的重要一环,需要我们具备耐心、灵活的思维和团队合作精神。

通过不断的实践和学习,我们可以更好地掌握EDA的方法和技巧,为数据分析工作打下坚实的基础。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

comb_outputs state_inputsresetclk FSM:s_machine COM next_state current_state PROCESS REGPROCESS 1章 1、常用的硬件描述语言有VHDL 、V erilog 、ABEL2、VHDL 自顶向下的设计流程:1.设计说明书2.建立VHDL 行为模型3.VHDL 行为仿真4.VHDL-RTL级建模5.前端功能仿真6.逻辑综合7.测试向量生成8.功能仿真9.结构综合10.门级时序仿真11.硬件测试12.设计完成 2章 1.一般ASIC 设计的流程:系统规格说明:系统划分:逻辑设计与综合:综合后仿真:版图设计:版图验证:参数提取与后仿真:制版、流片:芯片测试2、常用EDA 工具:设计输入编辑器:HDL 综合器:仿真器:适配器(或布局布线器):下载器 3、IP 核:软IP 硬IP 固IP 3章 1、CPLD 和FPGA 的主要区别:结构上的不同:集成度的不同:CPLD :500~50000门;FPGA :1K ~10M 门:应用范围不同:CPLD 逻辑能力强而寄存器少(1K 左右),适用于控制密集型系统;FPGA 逻辑能力较弱但寄存器多(100多K ),适用于数据密集型系统。

使用方法不同 2、FPGA 和CPLD 的选用 (1)CPLD 的选用: 逻辑密集型:中小规模(1000~50000):免费软件支持;编程数据不丢失,电路简单;ISP 特性,编程加密;布线延迟固定,时序特性稳定;(2)FPGA 选用:数据密集型;大规模设计(5000~数百万门);SOC 设计:ASIC 的设计仿真:布线灵活,但时序特性不稳定;需用专用的ROM 进行数据配置 4章 1、EDA 综合工具提供的数据类型为布尔型(Boolean )、位型(Bit )、位矢量型(Bit-V ector )和整数型(Interger )。

2、VHDL 语言描述结构体功能有3种方法:行为描述法:数据流描述法; 结构描述法3、VHDL 的库:STD 库和WORK 库:IEEE 库4、clock ’EVENT and clock=‘1检测上升沿;clock ’EVENT and clock=‘0’检测下降沿。

5、简述实体、端口概念,端口种类及INPUT 与BUFFER 的异同。

以关键词ENTITY 引导,END ENTITY ....结束的语句部分成为实体。

端口种类4种:IN 、OUT 、INOUT 、BUFFER 。

INOUT 定义的通道确定为输入输出双向端口;、BUFFER 在需要输入数据是时,只允许内不回读输出的信号。

6、结构体 以关键词ARCHITECTURE 引导,END 结束的语句部分成为结构体。

7、端口: INOUT 定义的通道为输入输出双向端口,可以由外向内或由内向外传输数据,而BUFFER 定义的通道虽然也是输入输出端口,但它回读的信号不能从外部输入,而是由内部产生,向外输出的信号。

IN 定义的通道为单向只读模式,规定数据只能通过此端口被读入实体中 OUT 定义的通道为单向输出模式,规定数据只能通过此端口从实体向外流出,或者说可以将实体中的数据向此端口赋值。

INOUT 定义的通道确定为输入输出双向端口,可以由外向内或由内向外传输数据。

6章 1、说明用原理图输入方法设计电路的详细流程 1.为一项工程设计建立文件夹 2.输入设计项目和存盘 3.将设计项目设置成工程文件 4.选择目标器件并编译 5时序仿真和包装入库 6.设计顶层文件 7章 1、为什么要使用状态机 有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。

状态机的结构模式相对简单。

状态机容易构成性能良好的同步时序逻辑模块。

状态机的VHDL 表述丰富多样。

在高速运算和控制方面,状态机更有其巨大的优势。

就可靠性而言,状态机的优势也是十分明显的。

2、时序进程将次态信号送到现态信号 3、Moore 型输出仅与当前状态有关,Mealy 型输出是当前状态与所有输入信号LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine ISPORT ( clk,reset : IN STD_LOGIC;state_inputs : IN STD_LOGIC_VECTOR (0 TO 1);comb_outputs : OUT INTEGER RANGE 0 TO 15 );END s_machine;ARCHITECTURE behv OF s_machine ISTYPE FSM_ST IS (s0, s1, s2, s3);SIGNAL current_state, next_state: FSM_ST;BEGINREG: PROCESS (reset,clk)BEGINIF reset = '1' THEN current_state <= s0;ELSIF clk='1' AND clk'EVENT THENcurrent_state <= next_state;END IF;END PROCESS;COM:PROCESS(current_state, state_Inputs)BEGINCASE current_state ISWHEN s0 => comb_outputs<= 5;IF state_inputs = "00" THEN next_state<=s0; ELSE next_state<=s1;END IF;WHEN s1 => comb_outputs<= 8;IF state_inputs = "00" THEN next_state<=s1;ELSE next_state<=s2;END IF;WHEN s2 => comb_outputs<= 12;IF state_inputs = "11" THEN next_state <= s0;ELSE next_state <= s3;END IF;WHEN s3 => comb_outputs <= 14;IF state_inputs = "11" THEN next_state <= s3;ELSE next_state <= s0;END IF;END case;END PROCESS;END behv;三进程有限状态机LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD574 ISPORT (D:INSTD_LOGIC_VECTOR(11DOWNTO 0); CLK ,STA TUS : IN STD_LOGIC; LOCK0 : OUT STD_LOGIC; CS,A0,RC,K12X8 : OUT STD_LOGIC; Q:OUTSTD_LOGIC_VECTOR(11DOWNTO 0)); END AD574; ARCHITECTURE behav OF AD574 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNALcurrent_state,next_state:states :=st0 ; SIGNAL REGL:STD_LOGIC_VECTOR(11DOWNTO 0); SIGNAL LOCK : STD_LOGIC; BEGIN K12X8 <= '1'; LOCK0 <= LOCK ; COM1: PROCESS(current_state,STA TUS) BEGIN CASE current_state IS WHEN st0 => next_state <= st1; WHEN st1 => next_state <= st2; WHEN st2 =>IF(STA TUS='1')THENnext state <= st2; ELSE next_state <= st3; END IF ; WHEN st3 => next_state <= st4; WHEN st4 => next_state <= st0; WHEN OTHERS => next_state <= st0; END CASE ; END PROCESS COM1 ; COM2: PROCESS(current_state) BEGIN CASE current_state IS WHEN st0=>CS<='1';A0<='1';RC<='1';LOCK<='0'; WHEN st1=>CS<='0';A0<='0';RC<='0';LOCK<='0'; WHEN st2=>CS<='0';A0<='0';RC<='0';LOCK<='0'; WHEN st3=>CS<='0';A0<='0';RC<='1';LOCK<='0'; WHEN st4=>CS<='0';A0<='0';RC<='1';LOCK<='1';WHEN OTHERS=>CS<='1';A0<='1';RC<='1'; LOCK<='0'; END CASE ; END PROCESS COM2 ; REG: PROCESS (CLK) BEGIN IF(CLK'EVENT AND CLK='1')THEN current_state <= next_state; END IF; END PROCESS REG; LA TCH1 : PROCESS (LOCK) BEGIN IF LOCK='1' AND LOCK'EVENT THEN REGL <= D ; END IF; END PROCESS ;Q <= REGL; END behav; 单进程Moore 型有限状态机 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MOORE1 IS PORT(DA TAIN:INSTD_LOGIC_VECTOR(1 DOWNTO 0); CLK,RST : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END MOORE1;ARCHITECTURE behav OF MOORE1 IS TYPE ST_TYPE IS (ST0, ST1, ST2, ST3,ST4); SIGNAL C_ST : ST_TYPE ; BEGIN PROCESS(CLK,RST) BEGIN IF RST ='1' THEN C_ST <= ST0 ; Q<= "0000" ; ELSIF CLK'EVENT AND CLK='1' THEN CASE C_ST ISWHEN ST0 => IF DA TAIN ="10" THEN C_ST <= ST1 ; ELSE C_ST <= ST0 ; END IF; Q <= "1001" ; WHEN ST1 => IF DA TAIN ="11" THEN C_ST <= ST2 ; ELSE C_ST <= ST1 ;END IF; Q <= "0101" ; WHEN ST2 => IF DA TAIN ="01" THEN C_ST <= ST3 ; ELSE C_ST <= ST0 ;END IF; Q <= "1100" ; WHEN ST3 => IF DA TAIN ="00" THEN C_ST <= ST4 ; ELSE C_ST <= ST2 ;END IF; Q <= "0010" ; WHEN ST4 => IF DA TAIN ="11" THEN C_ST <= ST0 ; ELSE C_ST <= ST3 ;END IF; Q <= "1001" ; WHEN OTHERS => C_ST <= ST0; END CASE; END IF; END PROCESS; END behav; 2进程Mealy 型有限状态机的设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY MEALY1 IS PORT(CLK,DA TAIN,RESET:IN STD_LOGIC; Q:OUTSTD_LOGIC_VECTOR(4DOWNTO 0)); END MEALY1; ARCHITECTURE behav OF MEALY1 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; BEGIN COMREG : PROCESS(CLK,RESET) BEGIN IF RESET ='1' THEN STX <= ST0; ELSIF CLK'EVENT AND CLK = '1' THEN CASE STX IS WHEN st0 => IF DA TAIN = '1' THEN STX <= st1; END IF; WHEN st1 => IF DA TAIN = '0' THEN STX <= st2; END IF; WHEN st2 => IF DA TAIN = '1' THEN STX <= st3; END IF; WHEN st3 => IF DA TAIN = '0' THEN STX <= st4; END IF; WHEN st4 => IF DA TAIN = '1' THEN STX <= st0; END IF; WHEN OTHERS => STX <= st0; END CASE ; END IF; END PROCESS COMREG ; COM1: PROCESS(STX,DA TAIN) BEGIN CASE STX ISWHEN st0 => IF DA TAIN = '1' THEN Q <= "10000" ; ELSE Q<="01010" ;END IF ; WHEN st1 => IF DA TAIN = '0' THEN Q <= "10111" ; ELSE Q<="10100" ;END IF ; WHEN st2 => IF DA TAIN = '1' THEN Q <= "10101" ; ELSE Q<="10011" ;END IF ; WHEN st3 => IF DA TAIN = '0' THEN Q <= "11011" ; ELSE Q<="01001" ;END IF ; WHEN st4 => IF DA TAIN = '1' THEN Q <= "11101" ; ELSE Q<="01101" ;END IF ; WHEN OTHERS => Q<="00000" ; END CASE ; END PROCESS COM1 ; END behav; 状态编码 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY AD574A IS PORT ( D : IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK ,STA TUS : IN STD_LOGIC; OUT4 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0) ); END AD574A; ARCHITECTURE behav OF AD574A IS SIGNAL current_state, next_state: STD_LOGIC_VECTOR(4 DOWNTO 0 );CONSTANT st0 : STD_LOGIC_VECTOR(4 DOWNTO 0) := "11100" ;CONSTANT st1 : STD_LOGIC_VECTOR(4 DOWNTO 0) := "00001" ; CONSTANT st2 : STD_LOGIC_VECTOR(4 DOWNTO 0) := "00000" ;CONSTANT st3 : STD_LOGIC_VECTOR(4 DOWNTO 0) := "00100" ;CONSTANT st4 : STD_LOGIC_VECTOR(4 DOWNTO 0) := "00110" ; SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL LK : STD_LOGIC; BEGIN COM1: PROCESS(current_state,STA TUS)BEGINCASE current_state IS WHEN st0 => next_state <= st1;WHEN st1 => next_state <= st2;WHEN st2 => IF (STA TUS='1') THEN next_state <= st2; ELSE next_state <= st3; END IF ; WHEN st3=> next_state <= st4; WHEN st4=> next_state <= st0;WHEN OTHERS => next_state <= st0; END CASE ; OUT4 <= current_state(4 DOWNTO 1); END PROCESS COM1 ;REG: PROCESS (CLK) BEGIN IF ( CLK'EVENT AND CLK='1') THEN current_state <= next_state; END IF;END PROCESS REG;LK <= current_state(1) ; LA TCH1 : PROCESS ( LK )BEGIN IF LK='1' AND LK'EVENT THENREGL <= D ; END IF; END PROCESS ; Q <= REGL;END behav;9章 1、VHDL 有那几种基本的顺序语句? 赋值语句;流程控制语句;等待语句;子程序调用语句;返回语句;空操作语句。

相关文档
最新文档