第一篇:EDA技术Verilog密码锁
电 子 科 技 大 学
实
验
报
告
学生姓名:吴成峰
学 号:2014070906016
指导教师:黄志奇
一、实验室名称: 主楼C2-514
二、实验项目名称:
密码锁
三、实验原理:
利用FPGA开发班上的3个按钮开关btn[2:0]来输入4位数字的密码。例如,输入“2-0-1-2”打开门锁。将用拨位开关sw[7:0]来设置密码,通过按钮开关btn[2:0]来输入密码。其中,btn[0]、btn[1]和btn[2]分别对应的有效输入为“00”(十进制0)、“01”(十进制1)和“10”(十进制2),sw[7:6]、sw[5:4]、sw[3:2]和sw[1:0] 分别对应密码的1、2、3、4位。
用sw[7:0]设置密码的同时,通过7段数码管复用电路,将其显示到7段数码管上。注意:需将8位输入扩展成16位,即,x[15:0]={2’b00,sw[7:6], 2’b00,sw[5:4], 2’b00,sw[3:2], 2’b00,sw[1:0]} 输入4位数字后,才能知道所输入的密码是否正确。如果密码是正确的,led[1]亮起;如果密码错误,led[0]将亮起。图1给出了设计的顶层模块。当按下btn[0]、btn[1]、btn[2]中任何一个按钮时,将会产生一个时钟脉冲。当分别按下按钮btn[0]、btn[1]、btn[2]时,锁模块对应的2位输入bn[1:0]为“00”、“01”和“10”。输入的密码与拨位开关上设置的密码相比较,产生图2所示的状态转移图。注意:即使密码输入错误,也必须完成完整的4位密码输入,才能进入“fail”状态E4。
图1.门锁电路的顶层模块
图2.门锁电路的状态转移图
四、实验目的:
熟悉利用HDL代码输入方式进行组合逻辑电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个密码锁的设计把握利用EDA软件(Xilinx ISE 10.1)进行HDL代码输入方式的电子线路设计与仿真的详细流程,熟悉摩尔状态机。
五、实验内容:
1)利用HDL代码输入方式在Xilinx ISE 10.1平台上实现一个密码锁设计,可以设定密码并显示,输入密码以解锁; 2)设计密码锁的顶层模块,使用模块实例语句连接前面所设计的密码锁模块;
3)生成比特流文件下载到开发板上进行验证。
六、实验器材(设备、元器件): 1)计算机(安装Xilinx ISE 10.1软件平台);
2)BASYS2 FPGA开发板一套(带USB-MIniUSB下载线)。
七、实验步骤:
1、在Xilinx ISE 10.1平台中,新建一个工程lock。我们选用的BASYS2 FPGA开发板采用的是Spartan3E XA3S100E芯片和CPG132封装,设置好器件属性,如图3所示。
图3.设置器件属性
2、在工程管理区任意位置单击鼠标右键,在弹出的快捷菜单中选择“New Source”命令,弹出新建源代码对话框,这里我们选择“Verilog Module”类型,输入Verilog文件名“lock”。
ISE会自动创建一个Verilog的模板,并在源代码编辑区打开,接下来的工作就是将代码编写完整。完整代码如下: module lock(input clk,input clr,input [7:0] sw,input [1:0] bn,output reg pass,output reg fail);
reg [3:0] pre_s,nex_s;
parameter S0=4'b0000,S1=4'b0001,S2=4'b0010,S3=4'b0011,S4=4'b0100,E1=4'b0101,E2=4'b0110,E3=4'b0111,E4=4'b1000;
//state registers
always@(posedge clk or posedge clr)
begin
if(clr==1)
pre_s<=S0;
else
pre_s<=nex_s;
end
//C1
always@(*)
begin
case(pre_s)
S0:if(bn==sw[7:6])
nex_s<=S1;
else
nex_s<=E1;
S1:if(bn==sw[5:4])
nex_s<=S2;
else
nex_s<=E2;
S2:if(bn==sw[3:2])
nex_s<=S3;
else
nex_s<=E3;
S3:if(bn==sw[1:0])
nex_s<=S4;
else
nex_s<=E4;
S4:if(bn==sw[7:6])
nex_s<=S1;
else
nex_s<=E1;
E1:nex_s<=E2;
E2:nex_s<=E3;
E3:nex_s<=E4;
E4:if(bn==sw[7:6])
nex_s<=S1;
else
nex_s<=E1;
default:nex_s<=S0;
endcase
end
//C2
always@(*)
begin
if(pre_s==S4)
pass=1;
else
pass=0;
if(pre_s==E4)
fail=1;
else
fail=0;
end
endmodule
3、建立分频模块“clkdiv”,过程如上,代码如下:
module clkdiv(input mclk, input clr, output clk190);
reg [24:0] q;
always@(posedge mclk or posedge clr)
begin
if(clr==1)
q<=0;
else
q<=q+1;
end
assign clk190=q[17];//190Hz endmodule
4、建立时钟脉冲模块“clock_pulse”,代码如下:
module clock_pulse(input inp,input cclk,input clr,output outp);
reg delay1;
reg delay2;
reg delay3;
always@(posedge clr or posedge cclk)
begin
if(clr==1)
begin
delay1<=0;
delay2<=0;
delay3<=0;
end
else
begin
delay1<=inp;
delay2<=delay1;
delay3<=delay2;
end
end
assign outp=delay1&delay2&~delay3;endmodule
5、建立七段数码管复用模块“hex7seg”,代码如下:
module hex7seg(input [15:0] x, input clk, input clr, output reg [6:0] a_to_g, output reg [3:0] an, output dp);wire [1:0] s;reg [3:0] digit;wire [3:0] aen;reg [19:0] clkdiv;
assign dp=1;assign s=clkdiv[19:18];
assign aen[3]=1;assign aen[2]=1;assign aen[1]=1;assign aen[0]=1;
//四位四选一 always@(*)case(s)0:digit=x[3:0];1:digit=x[7:4];2:digit=x[11:8];3:digit=x[15:12];default:digit=x[3:0];endcase
//数码管显示 always@(*)case(digit)0:a_to_g=7'b0000001;1:a_to_g=7'b1001111;2:a_to_g=7'b0010010;3:a_to_g=7'b0000110;4:a_to_g=7'b1001100;5:a_to_g=7'b0100100;6:a_to_g=7'b0100000;7:a_to_g=7'b0001111;8:a_to_g=7'b0000000;9:a_to_g=7'b0000100;'hA:a_to_g=7'b0001000;'hB:a_to_g=7'b1100000;'hC:a_to_g=7'b0110001;'hD:a_to_g=7'b1000010;'hE:a_to_g=7'b0110000;'hF:a_to_g=7'b0111000;default:a_to_g=7'b0000001;endcase
//digit select always@(*)begin
an=4'b1111;if(aen[s]==1)
an[s]=0;end
//时钟分频器
always@(posedge clk or posedge clr)begin
if(clr==1)
clkdiv<=0;
else
clkdiv<=clkdiv+1;end endmodule
6、顶层模块lock_top设计。代码如下:
module lock_top(input mclk,input [7:0] sw,input [3:0] btn,output [1:0] led,output [6:0] seg,output [3:0] an,output dp);wire clr,clk190,clkp,btn012;wire [1:0] bn;wire [15:0] x;
assign x={2'b00,sw[7:6],2'b00,sw[5:4],2'b00,sw[3:2],2'b00,sw[1:0]};assign clr=btn[3];assign btn012=btn[0]|btn[1]|btn[2];assign bn[1]=btn[2];assign bn[0]=btn[1];
clkdiv U1(.mclk(mclk),.clr(clr),.clk190(clk190));
clock_pulse U2(.inp(btn012),.cclk(clk190),.clr(clr),.outp(clkp));
lock U3(.clk(clkp),.clr(clr),.sw(sw),.bn(bn),.pass(led[1]),.fail(led[0]));
hex7seg U4(.x(x),.clk(mclk),.clr(btn[3]),.a_to_g(seg),.an(an),.dp(dp));Endmodule
7、将工程编译、综合与实现。在工程管理区的“Source for”中选取“Implementation”选项,然后在进程管理区双击“Synthesize-XST”进行综合,如图4所示。
图4.综合进程与源程序结构
综合完成以后是实现,实现主要分为三个步骤:翻译逻辑网表、映射到器件单元和布局布线,如图4所示。注意的是,在实现前还必须为模块中的输入/输出信号添加引脚约束,即添加UCF文件。开发板BASYS2的UCF文件可以在其网站上www.xiexiebang.com上下载,当然也可以自己编辑UCF文件。实验所用的UCF文件如图5所示。
图5.BASYS2开发板所需的UCF文件
6、器件配置。首先生成可以下载到硬件中的二进制比特文件。双击图10中的“Generate Programming File”的选线,ISE就会为设计生成相应的二进制比特文件。
BASYS2开发板提供了非常方便的JTAG配置方案,使用USB-miniUSB线缆结合Digilent Adept软件实现FPGA的配置,配置界面如图6所示。这里我们对FPGA进行配置,配置成功状态栏会显示“Programming Successful”信息,如图6所示。然后可在器件上验证设计。
图6.Digilent Adept 界面与配置
八、实验数据及结果分析:
图7.设定密码为2012
图8.输入密码0000,led[0]亮,输入错误
图8.输入密码2012,led[1]亮,输入正确
九、实验结论: 由上面实验结果可得,实验仿真结果证明了设计的正确性,该设计是合理的,能够满足实验所需的,完成了题设要求。
十、总结及心得体会: 此次实验结合了前几次的学习的成果,将七段数码管复用的部分结合进来,并通过分频电路和时钟脉冲电路来实现通过按键对时序系统的输入,而密码锁本身即是时序电路摩尔机的利用。至此,我们完整的梳理了一遍这个学期的所学,组合电路设计,时序电路设计合为一体,更能深刻的理解Verilog语言和EDA,收获良多。
报告评分:
指导教师签字:
第二篇:集成电路EDA技术
题
目
可编程逻辑器件与集成电路设计
姓
名
**
所在学院
理学院
专业班级
思源0901
学
号
09274027
指导教师
**
日
期
20**
年
**
月
日
可编程逻辑器件与集成电路设计
摘要:本文简述了集成电路的传统设计方法和现代设计方法,并对两者的区别进行了比较,以实例为基础介绍了集成电路的设计过程。对可编程逻辑器件的定义、分类、功能等进行详尽的阐述,介绍了可编程逻辑器件的设计过程,以可编程逻辑器件软件设计平台QuartusII为例,介绍了可编程逻辑器件软件设计平台的功能及使用方法,并对其他种类软件平台作出比较。对国内外集成电路设计公司作简要介绍,分析了PLD和FPGA芯片上的文字信息。
关键字:集成电路设计;可编程逻辑器件;软件设计平台;QuartusII;PLD;FPGA
1.集成电路的设计方法
1.1手工传统设计方法
传统的集成电路设计方法是指20世纪50-60年代的手工设计时代。
传统的集成电路设计方法的基本步骤是1.根据设计要求划分功能模块;2.确定输入和输出的关系,画出真值表,写出逻辑表达式;4.利用公式或卡诺图进行人工化简;5.根据化简后的逻辑表达式画出电路原理图;6.在面包板上进行实验,验证电路的正确性;7.若无错误,再在透明薄膜上用贴图符号贴PCB图;8.检查后送制板厂制板;9.对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。
传统集成电路设计方法的特点是采用自下而上(Bottom
Up)的设计方法,采用通用型逻辑器件搭积木式的方式,在系统硬件设计的后期进行仿真和调试,主要设计文件是电路原理图。
图1
1.2
EDA技术与现代设计方法
计算机出现后,人们可以借助计算机进行集成电路的辅助设计,这样就进入了20世纪70-80年代的CAD(计算机辅助)时代,利用计算机及其图形设备帮助集成电路设计人员进行设计工作,大大减少了手工设计时代的工作量,提高了集成电路的设计效率。到了80年代后期,CAD技术日渐成熟,集成电路的设计真正跨越到了EDA(电子设计自动化)的现代设计方法时代。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
EDA技术为电子系统设计带来了很大的变化:设计效率提高,设计周期缩短;设计质量提高;设计成本降低;能更充分地发挥设计人员的创造性;设计成果的重用性大大提高,省去了不必要的重复劳动。
现代的数字系统设计采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。普遍使用自顶向下(Top—Down)的设计方法,这里的“顶”就是指系统的功能;“向下”就是指将系统由大到小、由粗到精进行分解,直至可用基本模块实现。自顶向下设计方法的一般过程大致上可以分为四步,如下图所示。
Top-Down设计图
明确系统功能
确定总体方案
子系统具体实现
系统仿真实现
图2
明确系统功能:对要设计的系统的任务、要求、原理以及使用环境等进行充分调研,进而明确设计目标、确定系统功能,是一件至关重要的事。因为只有把它做好了,后面的设计工作才有意义,才有效率。
确定总体方案:明确了设计目标、确定系统功能之后,接下来要做的工作就是根据系统功能确定出系统设计的总体方案。
系统具体实现:系统方案确定以后.再从结构上对系统进行逻辑划分,导出系统的结构框图。一般把系统从逻辑上划分为数据子系统和控制子系统两部分。然后,再将各自划分为多个子系统模块,各模块的输入、输出信号要明确,有利于团队工作。这些子系统就可以依据基础的数字设计确定具体电路实现。系统如果有控制算法也包括选择控制算法及实现。
系统仿真实现:系统设计完成之后,最好先采用EDA软什对所设计的系统进行仿真后再用具体器件搭电路.以保证系统设计的正确性和可靠性。电路实现时,一般按自底向上的顺序进行。这样做不仅行利于单个电路的调试,而且也利于整个系统的联调。
因此,严格地讲,现代数字系统的完整设计过程应该是“自顶向下设计。自底向上集成”。
1.3从传统到现代设计方法的区别
从传统设计方法到现代设计方法,集成电路设计技术有了长足的进步。传统的集成电路设计方法,从根据设计目标得到真值表,到最后完成系统后的测试与调试,所有的工作均需人工完成。可以想象,随着数字集成电路的发展,从小规模集成电路(SSI)的小于10个逻辑门,到中规模集成电路(MSI)的几百个逻辑门,再到大规模集成电路的(LSI)几万门,最后甚至到超大规模集成电路(VLSI),甚大规模集成电路(ULSI)的几十万、几百万门电路,集成电路迅速的大规模化,使得传统设计方法根本无法完成得到真值表画出卡诺图等工作。它表现出了效率低下,一切手工完成,设计周期很长;容易出错;芯片种类多,数量大,受市场的限制;设计灵活性差;产品体积大等缺点。同时后续的电路调试和设计也需要很高的电路布局和布线的技巧,总而言之,这样的设计对于复杂数字系统来讲效率太低了。
现代的设计方法,自顶向下,可以实现具体任务的分工完成,并且用软件的方式设计硬件,从软件设计的硬件系统到硬件系统的转换是由EDA软件自动完成的,设计过程中可用软件进行各种仿真,现场可编程,在线升级,而且整个系统集成在一块儿很小的芯片上,体积小,功耗低,可靠性高,容易检查错误,便于修改,设计周期短、成功率很高,这些优点都是传统方法无法比拟的,大大提高了集成电路设计的效率。
所以说从传统方法到现代方法,集成电路的设计有了一个很大的跨越。
表1
2.可编程逻辑器件
2.1可编程逻辑器件定义
可编程逻辑器件英文全称为:programmable
logic
device
即
PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。
图3
PLD的基本结构如上图所示,图中与阵列和或阵列是PLD的主体。与阵列用以产生有关与项,或阵列把所有与项构成与或形式的逻辑函数。任何组合逻辑函数均可表示为与或表达式,因而用与门-或门两级电路可实现任何组合电路,又因为任何时序电路是由组合电路加上存储元件构成的,因而PLD的与或结构对实现数字电路具有普遍的意义。
2.2可编程逻辑器件分类及功能
可编程逻辑器件按集成度分类如下图。
图4
简单可编程逻辑器件有PROM、PLA、PAL、GAL。
PROM:与阵列固定,或阵列可编程的逻辑器件,最主要特征是只允许数据写入一次,如果数据输入错误只能报废。
PLA:
与或阵列均可编程,在可编程逻辑器件中,它的灵活性最高。由于它
具有与或阵列均能编程的特点,在实现函数时,只需形成所需的乘机项,使这列规模比输入数相同的与阵列固定、或阵列可编程的PROM小得多。但是目前PLA的编程缺少高质量的支持软件和编程工具,且器件价格偏高,门的利用率不高,因而未得到广泛应用。
PAL、GAL:与阵列可编程,或阵列固定的代表器件。这种结构中,或阵列固定若干个乘积项输出
。PAL和GAL门阵列结构把PROM器件的成本低、速度高、编程容易以及PLA器件的灵活性等优点结合在一起,成为早起实现可编程ASIC的主要器件
复杂可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。
FPGA:提供了最高的逻辑密度、最丰富的特性和最高的性能。
现在最新的FPGA器件,可提供八百万“系统门”(相对逻辑密度)。
这些先进的器件还提供诸如内建的硬连线处理器、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件信号技术。
FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。
CPLD:提供的逻辑资源少得多,最高约1万门。
但是,CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。
而且CPLD器件需要的功耗极低。
2.3可编程逻辑器件设计过程
采用自顶向下(Top—Down)的设计方法确定各个子系统后,就需要借助于EDA软件进行系统设计实现。下图是基于EDA软件的PLD开发流程框图,由框图可见设计主要包括设计输入、设计处理、功能仿真和时序仿真、器件编程或下载和系统测试五个部分
FPGA
/
CPLD设计流程
设计准备
设计输入
Ø
图形输入
Ø
硬件描述语言HDL
设计处理
Ø
编译、优化综合Ø
适配、分割
Ø
布局、布线
器件编程(下载)
系统测试
时序仿真
功能仿真
HDL:
VHDL(IEEE)
Verilog
(IEEE)
AHDL
ABEL
EDA工具自动实现
对CPLD产生Pof文件
对FPGA产生Sof文件
图5
设计输入:采用原理图或硬件描述语言(HDL),描述出输入和输出的逻辑关系,将整个原理图或程序输入到计算机中。
设计处理:EDA工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线。
功能仿真和时序仿真:在软件平台进行硬件仿真。
编程下载:到实际芯片中,在实验台上进行验证;
系统测试:测试成型系统,在每一阶段若有问题,可在计算机上直接修改设计,重复以上过程。
3.可编程逻辑器件软件设计平台
可编程逻辑器件的软件平台,都是由PLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL),仿真,综合,布线,下载等工作。
3.1常用可编程逻辑器件软件设计平台比较
Altera公司:
QuartusII软件平台:
Quartus
II
是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
MaxplusII
E+MAX:免费PLD开发软件,界面与标准版的MaxplusII完全一样,只支持MAX7000和MAX3000系列器件,本身支持不复杂的VHDL和Verilog综合。
MaxplusII
Baseline:免费PLD开发软件,界面与标准版的MaxplusII完全一样,但需要通过使用MAX+PLUSII
Advanced
Synthsis插件才能支持VHDL/Verilog。支持MAX7000/3000和部分FLEX/ACEX芯片。
Xilinx公司
ISE软件平台: ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
WebFITTER:免费PLD开发软件,不需下载,可在线编译,结果用e-mail发送到信箱。使用简单,但要求较快的联网速度。支持XC9500
和
CoolRunner系列。
WebPACK
ISE:免费PLD开发软件,支持XC9500,coolrunner,Spartan/II,部分Virtex/E/II器件。
Lattice公司
ispDesignEXPERT:PLD开发软件,目前最新软件改名为:ispLEVER
ispLEVER
Starter:免费PLD开发软件,支持600个宏单元以下的Lattice芯片的设计。
3.2
QuartusII软件设计平台简介
QuartusII是美国Altera公司自行设计的第四代PLD开发软件可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程,同时还支持SOPC(可编程片上系统)设计开发。
QuartusⅡ提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。QuartusⅡ支持的器件有:Stratix
Ⅱ、Stratix
GX、Stratix、Mercury、MAX3000A、MAX
7000B、MAX
7000S、MAX
7000AE、MAX
Ⅱ、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone
Ⅱ、APEX
Ⅱ、APEX20KC、APEX20KE和ACEX1K系列。QuartusⅡ软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。
Quartus
II软件的设计过程主要包括:
1.建立项目;
2.输入设计电路;
3.设计编译;
4.设计仿真
5.设计下载
其中QuartusII的输入可以有三种方式,(1)原理图输入方式:适用于对系统及各部分电路很熟悉的场合。(2)硬件描述语言输入方式:硬件描述语言是用文本方式描述设计,硬件描述语言有ABEL、AHDL、VHDL、Verilog等,其中VHDL和Verilog已成为IEEE标准。(3)波形输入方式
当在Quartus
Ⅱ中完成设计后,就应当将所设计的电路下载到CPLD芯片中,结合用户系统进行统一的调试。CPLD编程下载的方式较多,按计算机的接口可分为:串口下载(BitBlaster或MasterBlaster)、并口下载(ByteBlaster)、USB接口下载(MasterBlaster或APU)等方式。按器件可分为:CPLD编程(MAX3000、MAX5000、MAX7000、MAX
9000),FPGA下载(FLEX6000、FLEX8000、FLEX
10K、ACEX
1K、APEX
20K),存储器编程EPC1、EPC2等。
4.集成电路设计公司简介
4.1国内集成电路设计公司介绍
大唐微电子技术有限公司:作为目前国内规模最大的集成电路设计企业之一,大唐微电子积累了丰富的集成电路设计经验。多年来,公司在移动通信智能卡领域中,凭借独具特色的产品与服务,引领了中国国内移动通信智能卡市场稳健、快速的发展。大唐微电子是目前全球智能卡领域中生产规模最大、产业链最完整、生产设备最先进的智能卡企业之一;是全球唯一一家能够同时在芯片级、模块级、卡片级向客户提供全方位产品、服务与解决方案的企业;也是国家指定的中国第二代居民身份证专用集成电路设计和模块加工企业。目前,公司模块年生产能力达4亿枚,智能卡年发行能力超过2亿张。
炬力集成电路设计有限公司:是一家致力于集成电路设计与制造的大型半导体技术集团,美国的纳斯达克上市公司,总部设在环境优美的海滨城市珠海,旗下拥有三家子公司——炬力集成电路设计有限公司、炬才微电子(深圳)有限公司、北京炬力北方微电子有限公司。公司目前共有700多人,其中本科以上研发人员占80%以
4.2国外集成电路设计公司介绍
Xilinx(赛灵思):是全球领先的可编程逻辑完整解决方案的供应商。Xilinx研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP(Intellectual
Property)核。客户使用Xilinx及其合作伙伴的自动化软件工具和IP核对器件进行编程,从而完成特定的逻辑操作。Xilinx公司成立于
1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品。目前Xilinx满足了全世界对
FPGA产品一半以上的需求。Xilinx产品线还包括复杂可编程逻辑器件(CPLD)。在某些控制应用方面CPLD通常比FPGA速度快,但其提供的逻辑资源较少。
Xlinx主要FPGA产品:Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求进行选择。
在性能可以满足的情况下,优先选择低成本器件。
*
Spartan-3/3L:
新一代FPGA产品,结构与VirtexII类似,全球第一款90nm工艺FPGA,1.2v内核,于2003年开始陆续推出。
*
Spartan-3E:基于Spartan-3/3L,对性能和成本进一步优化
*
Spartan-6:xilinx最新推出的低成本FPGA
*
Virtex-II:2002年推出,0.15um工艺,1.5v内核,大规模高端FPGA产品
*
Virtex-II
pro:
基于VirtexII的结构,内部集成CPU和高速接口的FPGA产品
*
Virtex-4:
xilinx最新一代高端FPGA产品,包含三个子系列:LX,SX,FX
*
Virtex-5:65nm工艺的产品
*
Virtex-6:最新的高性能FPGA产品,45nm
*
Virtex-7:20**年推出的超高端FPGA产品。
Altera:自二十年前发明世界上第一个可编程逻辑器件开始,Altera公司秉承了创新的传统,是世界上“可编程芯片系统”(SOPC)解决方案倡导者。Altera结合带有软件工具的可编程逻辑技术、知识产权(IP)和技术服务,在世界范围内为14,000多个客户提供高质量的可编程解决方案。新产品系列将可编程逻辑的内在优势——灵活性、产品及时面市——和更高级性能以及集成化结合在一起,专为满足当今大范围的系统需求而开发设计。
Altera可编程解决方案包括:业内最先进的FPGA、CPLD和结构化ASIC技术;全面内嵌的软件开发工具;最佳的IP内核;可定制嵌入式处理器;现成的开发包;专家设计服务。
Altera主要FPGA产品:Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。
*
Cyclone(飓风):Altera中等规模FPGA,2003年推出,0.13um工艺,1.5v内核供电,与Stratix结构类似,是一种低成本FPGA系列,是目前主流产品,其配置芯片也改用全新的产品。
*
CycloneII:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2v内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元
*
Stratix
:altera大规模高端FPGA,2002年中期推出,0.13um工艺,1.5v内核供电。集成硬件乘加器,芯片内部结构比Altera以前的产品有很大变化。
*
StratixII:
Stratix的下一代产品,2004年中期推出,90nm工艺,1.2v内核供电,大容量高性能FPGA。
*StrtratixV为altera目前的高端产品,采用28-nm工艺,提供了28G的收发器件,适合高端的FPGA产品开发
5.PLD及FPGA片上文字信息分析
图6
如上图FPGA芯片,左上角XILINX文字为设计生产该芯片的公司名称,KINTEX-7为芯片型号,Kintex-7
系列是赛灵思公司一种新型
FPGA,能以不到
Virtex-6
系列一半的价格实现与其相当性能,性价比提高了一倍,功耗降低了一半。下边文字为此芯片的具体型号等,最下方TAIWAN为芯片的产地。
参考文献
【1】
侯建军
《数字电子技术基础》高等教育出版社,2007年
【2】
朱明程
《可编程逻辑器件及应用》
西安电子科技大学出版社,2004年
【3】
百度百科
《PLD》
《FPGA》
《Xilinx》
《Altera》
【4】
陈忠平、高金定、高见芳
《基于Quartus
II的FPGA/CPLD设计与实践》
电子工业出版社
2007年
第三篇:eda技术教案
EDA技术教案 第一次课 内容:
介绍EDA技术的涵义、发展历程和应用领域; 介绍EDA技术的主要内容; 介绍EDA的工程设计流程; 说明本课程的特点与学习方法。教学目的:
通过介绍EDA技术的涵义、发展历程和应用领域,使学生了解本课程的实际应用很大,调动学生学习这门课程的积极性
通过介绍EDA技术的主要内容,使学生了解这门课程要学习什么。在此基础上说明本课程的特点与学习方法。
说明各种通信系统的组成,了解它们的优缺点,出现背景。重点说明数字通信系统的特定和优点。
介绍EDA的工程设计流程,说明当前EDA设计的特点,用软件方式设计硬件,用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的,因此类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。教学重点、难点:
EDA技术的三个发展阶段以及各阶段的特点; EDA的定义和EDA技术的主要内容; EDA的工程设计流程。教学方法:
比较、举例、图解。教学过程:
(一)自我介绍,说明课时安排、成绩评定方法、课程定位、教学网站的进入。
(二)讲授新课
课堂教学实施过程共分六步。介绍EDA技术的涵义。
说明EDA技术的发展背景,说明EDA技术的三个发展阶段,比较三个阶段的各解决了什么问题,在此基础上理解各阶段的特点。
在第二步理解EDA技术进行电子系统设计的特点的基础上引出并详细说明EDA的定义,加深对EDA技术的涵义的理解。
在第三步详细说明EDA的定义的基础上,引出EDA技术的4个主要内容:硬件描述语言:设计的主要表达手段;大规模可编程逻辑器件:设计的载体;软件开发工具:设计的工具;实验开发系统:下载工具及硬件验证工具。再分别介绍EDA技术的4个主要内容:了解常用的硬件描述语言VHDL和Verilog;了解两种常用的大规模可编程逻辑器件FPGA和CPLD以及它们各自的特点;了解主流EDA工具软件;了解本课程使用的西安唐都公司的TD-EAD实验系统
说明课程要求:通过学习这门课程要掌握运用EDA开发工具设计开发电子系统,引出这门课程的特点:实践性强,说明我们的学习方法:抓住一个重点:VHDL的编程;掌握两个工具: Quartus II 和 TD-EAD实验系统;运用三种手段:通过案例分析、应用设计和上机实践,实现理论与实践相结合,边学边用,边用边学。用设计一个简单电子系统为例,引出EDA的工程设计流程。说明当前EDA技术发展的特点:用软件方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关开发软件自动完成的;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。现代EDA设计类似软件编程,不需太多的低层硬件知识,使学生克服畏难情绪。同时这里又回顾复习了使用EDA技术进行电子系统设计的特点。最后图解说明EDA的工程设计流程。第二次课
内容:安装 Quartus Ⅱ,VHDL 与 Quartus Ⅱ初体验 教学目的:
理解VHDL语言的特点。
了解主流EDA工具Quartus Ⅱ,掌握其安装方法。掌握使用 Quartus Ⅱ进行FPGA设计的基本流程。
教学重点、难点:使用Quartus Ⅱ进行FPGA设计的基本流程。教学方法: 举例、演示。教学过程:
课堂教学实施过程共分两步。
回顾上节课所讲的EDA的主要内容。在此基础上引出VHDL语言的特点,并介绍主流EDA开发工具Quartus Ⅱ,说明它的不同版本的特点。重点介绍PC破解版的安装步骤。演示安装过程,在演示是重点提醒学生注意容易出错的几个地方。
回顾上节课所讲的当前EDA技术发展的特点,EDA的工程设计流程。在此基础上说明使用 Quartus Ⅱ进行FPGA设计的基本流程,并通过实际演示设计一个简单的电子系统:与非门,说明使用 Quartus Ⅱ和VHDL开发电子系统的基本流程。在演示过程中重点提醒学生注意容易出错的几个地方,并给出一些初学者的小窍门。第三次课
内容:VHDL 程序基本结构,VHDL 基本数据类型,VHDL 数据对象 教学目的:
掌握VHDL语言程序的基本结构,特别是实体和结构体。
掌握VHDL语言的语言要素,包括VHDL语言的基本数据类型、数据对象和VHDL 运算符,理解信号和变量的区别。
教学重点、难点:VHDL语言程序的基本结构,VHDL语言的语言要素。教学方法:举例、演示、归纳、比较。教学过程:
课堂教学实施过程共分三步。1)VHDL 程序基本结构
回顾上节课设计与非门的例子,引出设计与非门的设计思想:先确定系统功能和接口,再进行内部电路设计,由此引出VHDL程序的基本结构:实体:对应系统接口,结构体:对应系统内部电路。从与非门的VHDL程序中可以直观的看到它的三部分:库、程序包的调用,实体声明,结构体定义。
以与非门的VHDL程序为例说明库、程序包的调用的作用。说明调用语法,介绍常用的三个库、程序包。
以与非门的VHDL程序为例说明实体声明的语法,各项的意义。提醒学生注意初学者容易出错的地方,如:实体名必须与文件名相同,否则编译会出错;最后一条端口声明语句不可加分号等。并通过演示出错情况,加深学生的印象。最后通过图解归纳实体声明的格式,容易出错的地方,并对初学者进行相应的建议:使用范例,在Edit—> Insert Template 中选择范例。Quartus 进行编译时,要求关联文件文件名相同,建议采用 Quartus 默认文件名,不要自己更改文件名。
以与非门的VHDL程序为例说明结构体的语法,各项的意义。提醒学生注意初学者容易出错的地方。并通过演示出错情况,加深学生的印象。最后通过图解归纳结构体的格式,应注意的地方。
2)VHDL 基本数据类型
回到与非门的VHDL程序的实体声明部分,引出VHDL的数据类型。介绍各种数据类型,重点介绍最常用的标准逻辑位、标准逻辑位矢量。提醒学生注意使用标准逻辑位矢量时必须注明数组中元素个数和排列方向,并举例说明。最后比较VHDL和C语言中使用数据类型的异同点:VHDL同 C 语言一样,必须先声明端口和信号,然后才能使用,在声明中必须定义它们的数据类型;与 C 语言不同,VHDL是强类型语言,只有相同数据类型的端口、信号和操作数才能相互作用。3)VHDL 数据对象
介绍VHDL的数据对象:信号、变量和常量。以与非门的VHDL程序为例,通过图解比较说明信号和端口的异同点。说信号声明的格式和信号赋值语句的格式。重点说明矢量赋值,通过举例说明在矢量赋值要特别注意两矢量之间的元素对应关系。
说明定义变量的语法格式、变量赋值的语法格式。比较信号和变量的区别。最后介绍定义常量的语法格式。第四次课
内容:VHDL 运算符、VHDL 并行信号赋值语句。
教学目的:
掌握VHDL 运算符。
掌握VHDL语言的并行信号赋值语句,特别是选择信号赋值语句和条件信号赋值语句,理解条件信号赋值语句的各赋值子句的优先级差别。教学重点、难点:并置运算符“&”、选择信号赋值语句、条件信号赋值语句。教学方法:举例、演示、图解。教学过程:
课堂教学实施过程共分四步。
分别介绍VHDL的四种运算符:算术运算符、并置运算符、关系运算符、逻辑运算符。对算术运算符重点说明能支持的数据类型和不能支持的数据类型。并置运算符是本课程的一个难点,通过一个电路设计,举例说明并置运算符的应用。关系运算符重点说明能支持的数据类型。提醒学生注意:“<=”在条件语句中出现为小于等于,其它情况为信号赋值。逻辑运算符重点说明其优先级关系。
并行语句是硬件描述语言区别于一般软件程序语言的最显著的特点之一。通过图解说明常用并行语句特点,从图中直观的看到:并行语句之间是并行执行,但并行语句内部的执行可以是顺序的(进程语句),也可以是并行的(块语句)。
介绍并行信号赋值语句:简单信号赋值语句、选择信号赋值语句、条件信号赋值语句。给出选择信号赋值语句格式,并通过设计3-8 线译码器,说明如何使用选择信号赋值语句。提醒学生注意容易出错的几点:“选择值”一定要覆盖所有可能情况,若不可能一一指定,则要借助 others为其它情况找个“出口”。因此强烈建议初学者使用 with „ select 语句时,最后都带上 when „
others。“选择值”必须互斥,不能出现条件重复或重叠的情况。给元素赋常数值,用单引号;给矢量赋常数值,用双引号。通过演示出错情况,加深学生的印象。
给出条件信号赋值语句格式,并通过设计8-3 线优先编码器,说明如何使用条件信号赋值语句。提醒学生注意容易:在执行 When „
Else 语句时,赋值条件按书写的先后顺序逐项测试,一旦发现某一赋值条件得到满足,即将相应表达式的值赋给目标信号,并不再测试下面的赋值条件。即各赋值子句有优先级的差别,按书写的先后顺序从高到低排列。通过观察仿真结果,直观的看到赋值优先级,加深学生的印象。第五次课
内容:进程语句、VHDL语言的顺序语句。教学目的:
掌握进程语句,掌握进程的工作原理和特点,理解进程与时钟的关系。
掌握VHDL语言的顺序语句,特别是IF 语句和CASE语句,理解IF、CASE语句和选择信号赋值语句、条件信号赋值语句的区别。
教学重点、难点:进程的工作原理和特点,进程与时钟的关系。IF 语句和CASE语句,IF 语句和CASE语句的嵌套。
教学方法:图解、举例、总结。教学过程:
课堂教学实施过程共分四步。
介绍进程语句的特点、格式,说明各项意义。图解说明进程工作原理,通过该图直观的理解进程的特点:进程本身是并行语句,单其内部是顺序语句;进程只有在特定的时刻(敏感信号发生变化)才会被激活。在此基础上说明进程与时钟的关系。通过图解说明时钟上升沿驱动进程语句,使学生较好的理解了进程的时钟和进程是一种隐形的循环。给出时钟沿的VHDL描述,通过几个寄存器的设计,说明如何使用进程语句,通过观察波形仿真图,加深学生对进程与时钟的关系的理解。最后总结进程的要点和容易出错的几个地方。介绍顺序语句,提醒学生注意进程在激活的一瞬间就执行完进程中所有语句。重点介绍IF 语句和CASE 语句。给出IF 语句的三种格式,说明它们的特点。在此基础上总结使用 IF 语句注意的要点。最后通过设计串行输入并行输出的移位寄存器和并行输入串行输出的移位寄存器,加深学生对IF语句、IF语句嵌套的理解。
给出CASE 语句的格式,说明CASE 语句使用要点。最后通过设计带使能端的 2-4 译码器,加深学生对IF语句、IF语句嵌套的理解。介绍LOOP语句和空语句。第六次课
内容:层次化设计概念、在Quartus II 中实现层次化设计 教学目的:
理解层次化设计的优点。
理解层次化设计的核心思想:模块化、元件重用。
掌握在 Quartus II 中采用图形法与文本法结合的混合输入方法实现元件重用和系统的层次化设计。
教学重点、难点:在Quartus II 中实现层次化设计。教学方法:图解、举例、演示。教学过程:
课堂教学实施过程共分三步。
说明层次化设计的优点。图解说明层次化设计的核心思想:模块化、元件重用。加深对层次化设计的优点的理解。
图解说明在 Quartus II 中实现系统层次化设计的主要步骤:首先按自顶向下的设计方法,设计系统,划分和定义系统子模块,形成系统层次化设计图。其次用 VHDL 语言设计底层子模块,并生成相应的元件符号。最后调用下层元件,完成上层模块的设计,并生成相应的元件符号。这样从底层元件开始,自底向上完成系统的设计。
通过实际演示时钟选择器的设计过程,说明如何在Quartus II 中实现系统层次化设计,主要包括模块划分、元件设计文件的建立、元件符号的生成、元件调用、LPM宏模块的调用与参数配置、顶层电路原理图的建立。第七次课
内容:系统层次化设计进阶
教学目的:理解元件例化、程序包和类属映射。教学重点、难点:略 教学方法:图解、举例。教学过程:
课堂教学实施过程共分四步。
回顾上节课的内容:在Quartus II 中实现层次化设计,并引出新问题:如何用 VHDL 语言而不是元件符号来调用已设计的元件,实现系统层次化设计。由此引出元件例化、程序包和类属映射这几个层次化设计中最重要的VHDL语句。
说明什么是元件例化:将以前设计的实体当作本设计的一个元件(元件定义),然后再调用这个元件,即用VHDL语言将各元件之间的连接关系描述出来(元件映射)。介绍元件例化中的元件定义和元件映射的语法格式,说明各项意义。通过一个例子引用2分频电路,来说明如何使用元件例化。
通过图解说明元件例化语句的缺点:如果在一个实体中用到多个元件,那么在其结构体中要用大量篇幅定义元件。元件定义在结构体中,只有这个实体能调用该元件,如果有多个实体用到同一个元件,那么在这多个实体中都要对该元件进行定义。通过对该问题的解决,引出程序包:将数据类型、元件定义、子程序等收集到一个VHDL程序包中,只要在设计实体中用USE语句调用该程序包,就可以使用这些预定义的数据类型、元件定义、子程序。说明程序包的语法格式,通过举例说明如何在程序包中进行元件定义以及如何应用程序包。提醒学生注意容易出错的地方:程序包设计文件应保存为同名的VHDL文件并编译。只有编译过的程序包才能被其它设计实体调用。
通过一个常见的实际问题:设计一个带参数的电子系统,使其应用范围更广,引出类属映射语句。通过设计带参数的分频器,说明如何用 VHDL 语言设计和调用带参数的元件。第八次课
内容:Moore 状态机的 VHDL 描述、Mealy 状态机的 VHDL 描述。
教学目的:理解什么是Moore 状态机和Mealy 状态机,掌握Moore 状态机和Mealy 状态机的 VHDL 描述。
教学重点、难点:Moore 状态机和Mealy 状态机的 VHDL 描述。教学方法:图解、举例、类比。教学过程:
课堂教学实施过程共分三步。说明组合逻辑和时序逻辑的区别。用老式按钮风扇类比组合逻辑,空调遥控器类比时序逻辑,形象的说明了组合电路的输出只与当前输入有关。时序逻辑电路的输出不仅与当前输入有关,还与过去的一系列输入有关。由此引出状态机:输出由当前状态和当前输入决定,是一种广义的时序电路。状态机分Moore与Mealy型。说明这两种状态机的特点:Moore型输出仅取决于其所处状态,Mealy型输出不仅与当前状态有关,也与当前输入有关,更常见。举例说明Moore 型状态机,并画出其状态转移图,通过状态转移图加强Moore型输出仅取决于其所处状态的理解。举例说明Mealy型状态机,并画出其状态转移图,通过状态转移图说明Mealy型输出不仅与当前状态有关,也与当前输入有关的特点。
以Moore状态机的状态转换图说明如何用VHDL来描述Moore状态机,分为两个进程:确定状态转移的进程 Chang_State,决定输出值的进程 Output_Process。状态转移进程:Moore 状态机状态转移与输出 Dout 无关。当S0状态输入0时,仍然还在S0状态,没有进行状态转移,因此也与这种自环与状态转移无关。状态转移进程由去掉输出和自环后的状态转移图决定。根据化简后的状态图写出状态转移进程。CASE语句嵌套IF语句,CASE语句表示当前状态,IF语句表示在当前状态下,根据当前输入决定状态转移。提醒学生注意:一定要有状态机开始工作的条件,否则状态机永远不会工作。输出进程:在Moore状态机中输出只与当前状态相关,用一个CASE语句完成。
在上一步的基础上,对比Moore状态机的VHDL实现,说明Mealy状态机的实现,仍分为两个进程:确定状态转移的进程Chang_State,决定输出值的进程 Output_Process。由于Mealy状态机与Moore状态机的区别只在输出 Dout 同时与当前状态 Si 和当前输入有关。因此Chang_State进程的实现与Moore机相同。输出由当前状态和当前输入共同决定,因此输出进程 Output_Process也是CASE嵌套IF的格式,与状态转移进程类似。第九次课
内容:用状态机实现交通灯控制器
教学目的:掌握使用状态机实现数字系统设计的方法。教学重点、难点:在 Quartus II 中状态机的实现方法。教学方法:图解、举例、演示。教学过程:
课堂教学实施过程共分四步。
说明任务与要求,进行系统分析设计,在此基础上画出系统框图,确定元件模块和元件接口与连接。回顾在Quartus II 中实现层次化设计过程,用VHDL语言实现底层模块:计数器和控制器的设计。
重点介绍如何用状态机设计控制器,确定状态和状态转移条件,画出状态转移图,发现这是个Moore状态机。回顾Moore状态机的VHDL实现,完成对控制器的设计。完成计数器和控制器的设计后,生成相应的计数器和控制器元件符号。按系统框图建立顶层电路图,编译工程。第十次课
教学内容:Protel2004项目文件的管理和编辑
(一)教学目标:
1、学会在Protel2004软件中创建相应的各种文件
2、学会在Protel2004文件中创建相应的项目
3、学会在Protel2004文件中创建相应的设计工作区 教学重点:
对Protel2004软件中各种层级,各种种类繁多的文件的识别和创建 教学方法:演示操作法 课时安排:1课时 教学过程:
一、Protel2004包含了三级文件管理模式,分别是设计工作区,项目和文件,级别依次从高到低。而文件有分为好多种类有原理图文件,PCB封装文件,库文件,脚本文件,混合信号仿真文件,又如项目文件中有包含不同项目对应得不同文件。我们只是建立几个常用的文件
二、在Protel2004工作环境中创建原理图文件
1、打开文件/创建/原理图,创建一个原理图文件,并保存。注意器保存位置和保存的文件名称,类型扩展名。
2、打开文件/创建/PCB文件,创建一个PCB文件,并保存。注意器保存位置和保存的文件名称,类型扩展名。
三、在Protel2004工作环境中创建项目文件
打开文件/创建/项目/PCB项目,创建一个PCB项目文件,并保存。注意器保存位置和保存的文件名称,类型扩展名。
四、在Protel2004工作环境中创建项目文件
打开文件/创建/设计工作区,创建一个设计工作区文件,并保存。注意器保存的方法、位置和保存的文件名称,类型扩展名。
以上在保存文件的,项目级工作区的时候有几种不同的方法:
1、在相应的文件上点击右键保存,或另存为
2、在菜单栏中文件中找出相应命令执行保存操作
五、打开工作面板projects.查看他们的结构关系。教学反思于总结:
在演示教学的同时要注意教学的节奏,应反复演示,是学生能看清楚每一个操作步骤。要求学生对于常用的文件类型的扩展名,图形符号有所了解。第十一次课
教学内容:原理图的设计基础 教学目标:
1、掌握原理图的一般设计步骤
2、熟悉Protel2004原理图设计工具栏
3、熟练操作原理图的图样的放大于缩小 教学难点:
掌握原理图图样的放大于缩小的操作方法,牢记器快捷键操作。教学方法:讲授法和演示操作法 课时安排:1课时 教学过程:
一、原理图的一般设计步骤(讲授法)原理图的设计流程如下:
1、启动Protel2004原理图编辑器
新建一个原理图文件或打开一个原理图文件,都可以启动原理图编辑器,进入原理图设计工作。
这里我们打开Protel2004自带示例中的一个原理图文件。
2、设置原理图图样的大小及版面
3、在图样上放置元器件
4、对所放置元器件进行布局、布线
5、对布局、布线后的元器件进行调整
二、Protel2004 原理图设计工具栏
这里我们打开Protel2004自带示例中的一个原理图文件。
Protel2004为设计者提供了方便快捷的原理图绘制工具,分类放置在不同的工具栏中。这些工具栏,可以通过执行选单命令“视图/工具栏”的下拉菜单进行打开和关闭。
三、图样的放大于缩小:
1、在视图菜单中有一系列的图样于缩小命令,分别执行这些命令,观察图样的变化,并记忆理解这些命令的含义和作用。熟练掌握这些命令的快捷键执行方式。
2、利用键盘实现图样的放大于缩小。教学反思于总结:
关于原理图设计的一般步骤,学生只要有个大致的了解就可以了,这个过程会在以后的操作中逐渐的熟练起来。儿本节课中第三部分是重点难点。需要学生对于各个命令逐条的反复的操作,观察器变化,这个操作过程是枯燥的,应该尽可能的提高这节课的趣味性。让学生更积极的投入进去。第十二讲
教学内容:连接线路
(一)教学目标:
1、能够熟练的连接导线
2、学会放置线路节点
3、掌握设置网络标号 教学重点:
1、熟练的在电路中连接导线
2、理解网络标号的含义并能够正确而且熟练的放置网络标号 教学方法:演示教学法,任务完成法 课时安排:2课时 教学过程:
一、连接导线
当所有电路元器件、电源和其他对象放置完毕后,就可以进行原理图中个对象的连线。连线的主要目的是按照电路设计的要求建立网络的实际连通性。打开任一原理图电路,对所教授内容进行演示。
连线的方法:执行“放置/导线命令”命令,或左键单击wring工具栏中的连接导线命令。此时光标变为十字状,进入连线状态。当光标到达电气引脚是,会自动出现一个红色的“×”,单击鼠标左键,确定导线的起点,拖动鼠标到终点处,单击鼠标左键,一根导线结束。再次单击开始画第二条导线,也可单击鼠标右键退出连线状态。
Protel2004为设计者提供了四种导线模式:90度走线、45度走线、任意角度走线和自动布线。在画导线过程中,按下shift+space键,可以在各种走线模式间循环切换。
二、放置线路结点
所谓线路结点,是指当两条导线交叉时相连的状况。如果没有结点存在,则认为该两条导线在电气上是不连通的。反之,则连通。
Protel2004是设计者在绘制导线时,将在T字连线处自动产生结点,而在十字处不会自动产生结点,若设计者需要结点则必须由手工放置。
三、设置网络标号
网络标号是实际电气连接的导线的序号。具有相同的网络标号的导线,不管图上是否连在一起,都被看做是同一条导线。它多用于多层次电路或多重式电路的各个模块电路之间的连接,这个功能在绘制印制电路板时十分重要。
放置网络标签的方法:执行“放置/网络标签”命令,光标变成十字状当网络标签于导线或引脚连接状态时,会出现红色的“×”标志,单击鼠标左键,完成放置。同时对网络标签进行设置。
绘制下列电路图,完成对所学内容的练习
教学反思与总结:
本次课中,导线和网络标签的使用在绘制原理图的过程中是经常使用的,尤其是连接导线,需要反复的练习才能够熟练的掌握。有的学生在连接导线是的终点和下一段导线的起点操作不正确,将单击变为了双击,会造成元器件短路(如下图示例)。还有就是网络标签的放置位置不正确,没有注意到红色小叉的标记,随让标签也是放置在了导线或者元件的附近,但是并未形成成功的连接。第十三讲
教学内容:原理图的绘制 教学目标:
1、通过实际的大量的练习熟悉并掌握原理图文件的设计步骤
2、通过实际的大量的练习教学重点:
熟悉并掌握原理图的绘画技巧 教学方法:任务式教学法 课时安排:1课时 教学过程:
绘制下面的原理图,进行练习:
教学反思与总结:
注意I/O端口、总线、网络标签的绘制细节。
第四篇:《EDA技术》课程设计教学大纲
成都大学课程设计教学大纲
课程设计名称: 《EDA技术课程设计》 课程代码: 学 分: 1 总学时/周数: 1周
适用专业: 电子工程、通信工程、自动化等专业
一、课程设计目的与任务
本课程设计是在学完EDA技术课程后的必修课程,它的教学目的和任务是综合利用所学EDA技术知识完成一个具有完整功能的电子系统设计,从系统顶层模块的划分、各功能模块的硬件语言描述(编程)、各模块及整体电路仿真、到最后下载到可编程器件实现真实的电路,让学生亲自体验一次采用现代电子设计自动化技术完成一个电子系统设计的全过程。让学生得到一次自主使用VHDL语言描述电路功能的训练机会,从而提高对VHDL语言的使用能力,加深对仿真在设计中的重要作用的认识,提高对使用Max+plus2EDA软件工具的熟练程度,最终获得初步的电子系统设计经验,为毕业设计和将来从事电子设计的相关工作打下基础
二、课程设计基本要求
本课程设计,采用以学生自主设计为主教师指导为辅的原则,让学生有一个充分发挥自我想像的空间,设计分阶段进行,在独立力完成了方案设计后,组织一次交流讨论会,互相启发开阔设计思路,尽可能使学生在这个具有创新思维、难度最高的设计环节获得更多的收益,通过该课程设计更深入更全面地提高使用Max+plus2软件工具完成设计全过程的熟练程度,尤其是要提高仿真和试验开发系统的使用能力,设计最终要做出真实电路并上电检测其功能和性能指标是否达到了预定的目标,最后写出课程设计报告。
三、课程设计选题原则
所选题目应是社会生活、生产中常见的、学生易于理解和把握且感兴趣的、对所学知识尽可能综合全面派上用场的、难易程度适中的、一周时间能够完成的的题目。
四、课程设计内容及时间安排
1.设计内容:根据具体设计题目和提出的功能性能指标要求,查阅相应参考资料,将所设计的电路系统划分成若干功能模块完成顶层结构设计(方案设计),对各功能模块用硬件描述语言描述以完成程序设计,对个功能模块及电路系统整体做仿真设计以验证其正误,将设计文件下载至可编程逻辑器件在实验开发装置上检测功能性能指标以完成真实电路的设计。写出课程设计报告,其中要有顶层结构图,各功能模块的程序,各功能模块和整个电路系统的仿真波形图,并对这些设计图纸和设计程序所表达的逻辑思想、工作原理给以说明,写出设计步骤和设计心得。2.课程设计时间:开始设计的前一周公布设计题目下达设计任务,用半周时间完成方案设计、程序设计,另外半周完成仿真、下载、测试。
五、课程设计主要参考资料
潘松 黄继业 编著《EDA技术使用教程》(第二版)科学出版社 2005。
王振红主编《VHDL数字电路设计与应用实践教程》机械工业出版社,2006年。
六、课程设计考核方式及成绩评定
考核成绩由两部分组成:现场检测设计出的真实电路占50%,课程设计报告占50%。
大纲撰写人: 杨显富 系(教研室):(签字)学院学术委员会意见:(签字)
学院审核:(签字、盖章)年 月 日
注:请在黄色显示的区域里用“仿宋 五号”字体填写。
第五篇:EDA技术应用读后感
EDA技术应用读后感
大三的第一学期我们学一门关于EDA技术的课程,虽然对于这个名称不算陌生,之前也听过,但是它有什么功能却什么也不知道。今天在老师的引导下我们读了一些关于这方面的文章,初步的对EDA有了一定的认识。DA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术已经成为当今世界电子技术发展的重要领域之一。
电子设计的必由之路是数字化,电子系统的发展到现在已经很多年了,经过多年的发展,现在的发展正是最迅速最完美的时期。EDA的发展涉及多方面,例如,教学方面,在科学研究和新产品开发方面,产品的设计与制作方面。随州EDA技术的发展,世界各国都积极的行动了起来,我国也积极响应世界的发展趋势大力提倡技术的发展。EDA技术越来越广泛的应用,电子产品的日新月异,这项技术已经成为电子设计的何核心,我们作为新一代的大学生更应该深刻认识这一点,努力学习知识,做一名有价值的中国人。
《EDA技术的应用与发展》 作者:张晓霞来源:《中国新技术新产品》 2012-5-25期刊
《EDA技术的发展与应用现状》 作者:张杨林来源:《当代农机》 2007-4-25期刊 《EDA技术的发展》作者:江冰来源:《河海大学常州分校学报》 2004-6-25期刊
建议:希望老师可以上课声音大一点,尽量有耐心的讲的细一点。课堂可以多做一些演示方
便我们理解。