EDA是电子设计自动化(Electronics Design Automation)的缩写,EDA技术是以计算机为工具,设计者在EDA软件平台上,融合应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。EDA技术的出现,极大地提高了电路设计的效率和可 *** 作性。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
扩展资料:
EDA的应用
1、在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计。
2、在产品设计与制造方面,包括计算机仿真,产品开发中的EDA工具应用、系统级模拟及测试环境的仿真,生产流水线的EDA技术应用、产品测试等各个环节。如PCB的制作、电子设备的研制与生产、电路板的焊接、ASIC的制作过程等。
3、从应用领域来看,EDA技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。
参考资料来源:百度百科-EDA
是电子设计自动化。
电子设计自动化(英语:Electronicdesignautomation,缩写:EDA)是指利用计算机辅助设计(CAD)软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
在电子产业中,由于半导体产业的规模日益扩大,EDA扮演越来越重要的角色。使用这项技术的厂商多是从事半导体器件制造的代工制造商,以及使用EDA模拟软件以评估生产情况的设计服务公司。EDA工具也应用在现场可编程逻辑门阵列的程序设计上。
扩展资料
eda的历史发展
在电子设计自动化出现之前,设计人员必须手工完成集成电路的设计、布线等工作,这是因为当时所谓集成电路的复杂程度远不及现在。工业界开始使用几何学方法来制造用于电路光绘(photoplotter)的胶带。
到了1970年代中期,开发人应尝试将整个设计过程自动化,而不仅仅满足于自动完成掩膜草图。第一个电路布局、布线工具研发成功。设计自动化研讨会(DesignAutomationConference)在这一时期被创立,旨在促进电子设计自动化的发展。
电子设计自动化发展的下一个重要阶段以卡弗尔·米德(CarverMead)和琳·康维于1980年发表的论文《超大规模集成电路系统导论》(IntroductiontoVLSISystems)为标志。这一篇具有重大意义的论文提出了通过编程语言来进行芯片设计的新思想。
如果这一想法得到实现,芯片设计的复杂程度可以得到显著提升。这主要得益于用来进行集成电路逻辑仿真、功能验证的工具的性能得到相当的改善。随着计算机仿真技术的发展,设计项目可以在构建实际硬件电路之前进行仿真,芯片布局、布线对人工设计的要求降低。
而且软件错误率不断降低。直至今日,尽管所用的语言和工具仍然不断在发展,但是通过编程语言来设计、验证电路预期行为,利用工具软件综合得到低抽象级(或称“后端”)物理设计的这种途径,仍然是数字集成电路设计的基础。
参考资料来源 百度百科-eda
module HDL_000(cp,a,b,y)//定义模块input cp,a,b //定义输入端口
output y //定义输出端口
parameter yuan=0,q1=1,q2=2,q3=3,q4=4,q5=5
//yuan q1 q2 q3 q4 q5 六个模块用数字代表定义
reg[2:0] c_s,n_s //定义寄存器变量 这两个是状态机的中间变量
always@(posedge cp or posedge b) //always语句 当cp上升沿或b上升沿有效时启动
begin
if(b) c_s<=yuan //当b有效时 把yuan即0赋给c_s变量
elsec_s<=n_s //否则将n_s的值赋给c_s变量
end
always@( a,c_s)//always语句当a或c_s有效时启动
begin
case(c_s)//case语句 利用c_s的值来判断跳转到对应处
yuan:if(a==1'b1)n_s<=q1//当c_s为yuan的值时 当a为1 跳转到q1处
else n_s<=yuan //否则 n_s跳转到yuan处
q1:if(a==1'b1) n_s<=q2 //当c_s为q1的值时 当a为1 跳转到q2处
else n_s<=yuan //否则 n_s跳转到yuan处
q2:if(a==1'b0) n_s<=q3//当c_s为q2的值时 当a为0 跳转到q3处
else n_s<=yuan //否则 n_s跳转到yuan处
q3:if(a==1'b0) n_s<=q4//当c_s为q3的值时 当a为0 跳转到q4处
else n_s<=yuan //否则 n_s跳转到yuan处
q4:if(a==1'b1) n_s<=q5//当c_s为q4的值时 当a为1 跳转到q5处
else n_s<=yuan //否则 n_s跳转到yuan处
default:n_s<=yuan//当c_s为default时 即非以上情况时 跳转到yuan处
endcase
end
assign y=(c_s==q5)? 1:0 //assign语句 输出y端口的判断输出 c-s是否为q5 是输出1否0
endmodule
状态机一定要根据case语句画出状态图 这样看懂这一道 那你别的也能看懂 也会根据状态图写出程序 否则 学不会
其实状态机懂了之后蛮简单的 就是一个套路 仔细点就好~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)