硬件描述语言VHDL及其应用.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《硬件描述语言VHDL及其应用.ppt》由会员分享,可在线阅读,更多相关《硬件描述语言VHDL及其应用.ppt(180页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、哈尔滨工业大学微电子中心硬件描述语言VHDL及其应用 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望哈尔滨工业大学微电子中心一、目的1.了解目前电子设计系统方法及流程2.了解/掌握综合与验证工具3.能用VHDL设计复杂功能电路二、内容1.高层次设计概述2.如何写优化的VHDL代码3.examples4.SoC设计方法学5.设计工具使用三、如何学习本课程带着实际课题学习,多提问题,一起分析、讨论11/14/20222哈尔滨工业大学微电子中心一、高层次设计概述1.ED
2、A工具发展2.设计方法3.深亚微米设计问题4.测试综合(可测性设计)5.Top-down设计流程6.硬件描述语言7.综合8.VHDL设计小结11/14/20223哈尔滨工业大学微电子中心年代名称硬件特征70sCAD16位小型机图型编辑,设计规则检查80sCAE32位工作站LVS工具90sEDA32位工作站逻辑/行为综合工具NowSoC?32位工作站物理综合工具,IP复用技术1.1EDA工具发展11/14/20224哈尔滨工业大学微电子中心1.1EDA工具发展(Cont.)CAD:逻辑图输入、逻辑模拟、电路模拟、版图设计和版图验证分别进行,需要对两者结果进行多次比较、修改。设计规模较小CAE:集
3、逻辑图输入、逻辑模拟、测试码生成、电路模拟、版图设计、版图验证等工具一体,构成一个较完整的IC设计系统EDA:HDL取代逻辑输入,逻辑网表由综合工具自动产生,可管理性增强,易于维护和数据交换SoC:采用深亚微米工艺生产技术,基于平台设计和IP复用技术,时序收敛性为首要目标11/14/20225哈尔滨工业大学微电子中心自顶向下设计方法(Top-down):系统行为设计结构设计逻辑设计电路设计版图设计1.2设计方法自底向上设计方法(Bottom-up):系统功能划分单元设计功能模块设计子系统设计系统总成基于平台设计方法(Platform-based):SoC设计普遍采用的方法,SoC平台和IPIn
4、tellectualProperty其它设计:嵌入式设计方法,层次式设计方法等11/14/20226哈尔滨工业大学微电子中心1.3深亚微米设计问题连线延时时序模型器件模型信号完整性电磁干扰功耗设计工具综合优化工具布图规划工具SDFPDEFSDF标准数据格式PDEF物理设计交换格式11/14/20227哈尔滨工业大学微电子中心1.4测试综合目的:集成电路的测试简单化嵌入可测试结构,加速可测性设计产品制造前就可评价设计的可测性消除冗余逻辑诊断不可测的逻辑结构内容:测试嵌入、设计规则检查、测试码生成、故障模拟/诊断和输出测试图样测试综合测试综合包括了使测试成功的每一步骤:如加入带测试因素的电路,对逻
5、辑综合增加约束条件以满足测试要求及对高级语言描述的可测结构的综合等都可归结为测试综合11/14/20228哈尔滨工业大学微电子中心1.4测试综合(Cont.)方法:Full ScanPartialScanBISTBoundaryScan标准/规范:IEEE1149IEEEP1500VSIARelatedSpec.SoC可测试设计:IP可测试设计GlueLogic可测试设计测试存取结构分类:1Pass2Pass11/14/20229哈尔滨工业大学微电子中心1.5Top-down设计流程TIMINGLVS/DRCEXTRACTIONRouteCOTSIGNOFFPLANNINGSYNTHESISF
6、LOORPLAN,P&REXTRACTIONLVS/DRCTIMING 11/14/202210哈尔滨工业大学微电子中心1.6硬件描述语言1)VHDL&Verilog2)VHDLObjectEntityI/O界面描述Architecture功能定义Process行为模块LibraryVHDLObject的集合Package数据类型、子程序、子单元的集合ConfigurationArchitecture/Parameter选择11/14/202211哈尔滨工业大学微电子中心1.6硬件描述语言(Cont.)3)VHDL中的端口:InOutInoutBufferBlk1Blk3Blk4Blk5Blk
7、2InInoutOutBufferEntity11/14/202212哈尔滨工业大学微电子中心1.7综合Definition:Synthesis=Translation+OptimizationHDLcodegtechlogicnetlistmin(SpeedXAreaXPower)Optimization&technologyMappingBehavioralSynthesis:SchedulingandAllocationAlgorithm11/14/202213哈尔滨工业大学微电子中心1.8VHDL设计小结i.一个完整的设计由一些子单元相互连接而成ii.每个子单元有一个Entity和至少
8、一个Architectureiii.单元间数据传递是通过在Entity中描述中所声明的端口进行,通信端口的信号类型、端口宽度以及端口方向要匹配iv.一个Architecture可包括Behavioral、Dataflow和Structure风格语句v.子单元(Component)在使用之前要声明11/14/202214哈尔滨工业大学微电子中心1.8VHDL设计小结(Cont.)RS(255,223)码译码器Top框图11/14/202215哈尔滨工业大学微电子中心1.8VHDL设计小结(Cont.)RS(255,223)码译码器详细模块图11/14/202216哈尔滨工业大学微电子中心1.8V
9、HDL设计小结(Cont.)entityrsdecoderisport(reset,clk:instd_logic;decin:inbit8;decout:outbit8);endrsdecoder;architecturestructuralofrsdecoderiscomponentsyndromeport(reset,clk:instd_logic;rec:inbit8;synfb:inbit8;syndout:outbit8);endcomponent;1componentbmexpandport(reset,clk:instd_logic;synin:inbit8;cnt:inrsI
10、nt;synout:outbit8;lstsfe:outbit8;bout:outbit8);endcomponent;componentbmfftbufport(reset,clk:instd_logic;ctl255:instd_logic;syno,addo:inbit8;bmfo:outrsbit8_vector(0toN2-1);endcomponent;211/14/202217哈尔滨工业大学微电子中心1.8VHDL设计小结(Cont.)componentifftport(reset,clk:instd_logic;ctlN1m1,ctlN1:instd_logic;ctl254:
11、instd_logic;buffin:inrsbit8_vector(0toN2-1);iffto:outbit8);endcomponent;componentfftobufport(reset,clk:instd_logic;ctlobf:instd_logic;din:inbit8;fbo:outbit8);endcomponent;3componentdecbufport(reset,clk:instd_logic;din:inbit8;dout:outbit8);endcomponent;componentcontrolport(reset,clk:instd_logic;ctlN1
12、m1,ctlN1:outstd_logic;ctl254,ctl255:outstd_logic;ctlobf:outstd_logic;synfb:outstd_logic;cntout:bufferrsInt);endcomponent;411/14/202218哈尔滨工业大学微电子中心1.8VHDL设计小结(Cont.)componentxor8port(in1,in2:inbit8;xout:outbit8);endcomponent;signalctlN1m1,ctlN1,ctl254,ctl255:std_logic;signalctlobf,synfb:std_logic;sig
13、nalfbo,dout,synout,lstsfe,bout:bit8;signalcntout:rsInt;signaliffto,syndout:bit8;signalbmfo:rsbit8_vector(0toN2-1);511/14/202219哈尔滨工业大学微电子中心1.8VHDL设计小结(Cont.)beginu1:control port map(reset,clk,ctlN1m1,ctlN1,ctl254,ctl255,ctlobf,synfb,cntout);u2:syndromeportmap(reset,clk,decin,synfb,syndout);u3:bmexpa
14、ndportmap(reset,clk,syndout,cntout,synout,lstsfe,bout);u4:bmfftbufportmap(reset,clk,ctl255,synout,lstsfe,bmfo);u5:ifftportmap(reset,clk,ctlN1m1,ctlN1,ctl254,bmfo,iffto);u6:fftobufportmap(reset,clk,ctlobf,iffto,fbo);u7:decbufportmap(reset,clk,decin,dout);u8:xor8portmap(fbo,dout,decout);endstructural;
15、611/14/202220哈尔滨工业大学微电子中心二、如何写优化的VHDL代码1.数据类型2.并发/顺序赋值语句3.小结4.Process语句5.资源共享6.其它11/14/202221哈尔滨工业大学微电子中心2.1数据类型TypesScalarFileAccessCompositeArrayRecordEnumeratedRealIntegerPhysical11/14/202222哈尔滨工业大学微电子中心2.1数据类型(Cont.)标准数据类型:bit,bit_vector,std_ulogic,std_logic,std_logic_vector,boolean,integer,etc.
16、复合数据类型:array,record,sub_type,newtype11/14/202223哈尔滨工业大学微电子中心2.1.1赋值语句i/signalt,s:bit;s=1;-s=t;ii/signalc:bit_vector(0to3);signald:bit_vector(3downto0);c=“1011”;d=c;-ok?c(0to3)=d(0to3)ok?d=c;-ok!c(0to3)=d(0to3)No!c(0)c(1)c(2)c(3)d(3)d(2)d(1)d(0)11/14/202224哈尔滨工业大学微电子中心iii/signals,t,w,m:bit;signalc:bi
17、t_vector(0to3);c=“1011”;c=s&t&w&m;c=(1,0,1,1);c=3;c1,1-s,2-1,3-1);Ok?c=3;-Noc1,1-s,2-1,3-1);-Ok2.1.1赋值语句(Cont.)11/14/202225哈尔滨工业大学微电子中心iv/signala_vec:bit_vector(0to11);a_vec=B”1100_0011_0011_1100”;a_vec=“1100001100111100”;a_vec=X”C33C”;a_vec=X”C3_3C”;a_vec=“1100_0011_0011_1100”;a_vec=“C33C”;Ok?a_vec
18、=“1100_0011_0011_1100”;a_vec=“C33C”;No!2.1.1赋值语句(Cont.)11/14/202226哈尔滨工业大学微电子中心二进制B(Binary)八进制O(Octal)十六进制X(Hexadecimal)位串中的进制表示:十进制D(Decimal)?十进制D(Decimal)No!2.1.1赋值语句(Cont.)11/14/202227哈尔滨工业大学微电子中心v/signalA,B,C:bit_vector(3downto0);C=AandB;C=notAOk?011011010100A=B=C=C(3)=A(3)andB(3);C(2)=A(2)andB(
19、2);C(1)=A(1)andB(1);C(0)=A(0)andB(0);S2.1.1赋值语句(Cont.)C=notAOK!01101001A=C=11/14/202228哈尔滨工业大学微电子中心vi/sliceofarrayentityVHDLisport(A:inbit_vector(0to7);outp:outbit);endVHDL;architectureE1ofVHDLisbeginoutp=A(5);end;signalC:bit_vector(0to7);C(4)=1;C(0to3)=“1001”;2.1.1赋值语句(Cont.)11/14/202229哈尔滨工业大学微电子中
20、心vii/Compositedatatypetypedateisrecordyear:integerrange1980to2030;month:integerrange1to12;day:integerrange1to30;endrecord;subtypebit8isbit_vector(7downto0);2.1.1赋值语句(Cont.)11/14/202230哈尔滨工业大学微电子中心vii/Compositedatatypesignalweekday,today:date;weekday.year=2003;weekday.monty=2;weekday.day=14;today=wee
21、kday;2.1.1赋值语句(Cont.)11/14/202231哈尔滨工业大学微电子中心2.1.2数据类型转换强类型语言:VHDL具有丰富的数据类型,不同类型的对象(信号、变量)不能直接赋值经常转换的数据类型:std_logic,bit,std_ulogic,boolean,signedunsigned,std_logic_vector,bit_vector数据类型转换三种方法:类型标记转换法、函数转换法和常数转换法11/14/202232哈尔滨工业大学微电子中心类型标记转换法std_logicandstd_ulogic,std_logic_vectorandsignedstd_logic_
22、vectorandunsignedintegerandreal等signalastd_logic_vector(0to7);signalbunsigned(0to7);b=unsigned(a);2.1.2数据类型转换(Cont.)11/14/202233哈尔滨工业大学微电子中心函数转换法std_logicandbitstd_ulogicandbit,booleanandbit,std_logic_vectorandbit_vectorintegerandstd_logic_vector/unsigned等signalastd_logic_vector(0to7);signalbinteger
23、range0to255;a=to_stdlogicvector(X”AF”);b0,1|H=1,others=0);signals:std_ulogic;signala:bit;a=typeconv(s);常数转换法2.1.2数据类型转换(Cont.)11/14/202235哈尔滨工业大学微电子中心Howtotransformbittypetobooleantype?signalbitty:bit;signalbooly:boolean;booly=(bitty=1);Discussion2.1.2数据类型转换(Cont.)11/14/202236哈尔滨工业大学微电子中心2.1.3逻辑运算与关
24、系运算运算符:and,or,not,xor,nand,nor=,/=,=Discussion:Whatistheresultofthefollowingrelationalstatement?“1000”“1111”=?“1000”“1111”=false11/14/202237哈尔滨工业大学微电子中心2.1.4算术操作运算符:+,*,mod,/,rem操作数类型:std_logic_vector,integer,signed,unsigned右操作数必须为2的指数!useieee.std_logic_unsigned.all;11/14/202238哈尔滨工业大学微电子中心2.1.4算术操作
25、(Cont.)signala,b:std_logic_vector(3downto0);q1=unsigned(a)+unsigned(b);q2=unsigned(a)+signed(b);q3=signed(a)+signed(b);q4=a+b;q5=(0&a)+b;-4bit-5bit-4bit-4bit-5bit11/14/202239哈尔滨工业大学微电子中心2.1.5连字符和聚集连字符:concatenationoperator聚集:aggregatessignalA,B:std_logic_vector(3downto0);signalC:std_logic_vector(7do
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件 描述 语言 VHDL 及其 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内