EDA技术-项目-BCD段显示译码器_第1页
EDA技术-项目-BCD段显示译码器_第2页
EDA技术-项目-BCD段显示译码器_第3页
EDA技术-项目-BCD段显示译码器_第4页
EDA技术-项目-BCD段显示译码器_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1位半加器的原理图设计存在问题:同或和异或的不同同或:XNOR异或:XOR上次实验讲评函数关系式S=A⊕BC=AB1位全加器的原理图设计另一种方法设计1位全加器的原理图函数关系式Si=Ai⊕Bi⊕Ci-1Ci=AiBi+BiCi-1+AiCi-1使用Max+PlusII软件进行1位二进制全加器的功能仿真。

仿真参数的设置endtime:0.8s timerange:from0to0.8s将a,b,cin组合起来,组名groupname为k[3..1],进制(radix)为二进制(bin),开始值(startvalue)为000,计数间隔(countevery)为100ms,这样就可以使k[3..1]从000变到111,覆盖了a,b,cin组合的所有取值。仿真波形如下图所示1位半减器VHDL设计LIBRARYieee;USEieee.std_logic_1164.ALL;ENTITYhalf_subIS PORT(a:INstd_logic; b:INstd_logic; diff:OUTstd_logic; --difference cout:OUTstd_logic); --carryoutENDhalf_sub;ARCHITECTUREhalfOFhalf_subISBEGINcout<=notaANDb;--logicrelationduetotruthtablediff<=aXORb;ENDhalf; 1位全减器VHDL设计本次课内容VHDL顺序语句(CASE)变量与信号的比较VHDL并行语句(PROCESS)BCD程序设计硬件执行:并行执行(VHDL本质)仿真执行:顺序执行、并行执行分为两大类:顺序(Sequential)描述语句并行(Concurrent)描述语句ARCHITECTUREProcessProcessENTITYSequentialProcessCombinationalProcessportsportscomponent§3.4VHDL顺序语句(Sequential)顺序描述语句:执行顺序与书写顺序一致,与传统软件设计语言的特点相似。顺序语句只能用在进程与子程序中。可描述组合逻辑、时序逻辑。常用的顺序描述语句:赋值语句;if语句;case语句;loop语句;next语句;exit语句;子程序;return语句;wait语句;null语句。一对对象与赋赋值语句句1、VHDL中中常用的的5种种对象象:1)简单单名称,,如my_var;2)索引引名称,,如my_array_var(3);3)片断断名称,,如my_array_var(3to6);4)记录录域名,,如my_record.a_field;5)集合合,如(my_var1,my_var2)。所有对象象均分为为:变量量和信号号对象::=表表达式式;--变变量赋赋值对象<=表表达达式;--信号号赋值要求:表表达式的的值必须须与对象象的类型型、宽度度一致。2、变量量赋值与与信号赋赋值变量与信信号的差差异:1)赋值值方式的的不同::变量:=表达达式;信号<=表表达式式;2)硬件件实现的的功能不不同:信号代表表电路单单元、功功能模块块间的互互联,代表实际际的硬件件连线;;变量代表表电路单单元内部部的操作作,代表表暂存的临时时数据。。3)有效效范围的的不同::信号:程程序包、、实体、、结构体体;全局局量。变量:进进程、子子程序;;局部量量。ARCHITECTURE{SIGNALDeclarations}label1:PROCESS{VARIABLEDeclarations}label2:PROCESS{VARIABLEDeclarations}┇4)赋值值行为的的不同::信号赋值值延迟更更新数值值、时序序电路;;变量赋值值立即更更新数值值、组合合电路。。5)信号号的多次次赋值a.一一个进程程:最后后一次赋赋值有效效b.多多个进程程:多源源驱动线与、线线或、三三态例:信号号的多次次赋值architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…a<=c;endprocess;endrtl;architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…endprocess;process(…)begina<=c;...endprocess;endex;例:信号赋赋值与变量量赋值的比比较信号赋值::architecturertlofsigissignala,b:std_logic;--定定义信号beginprocess(a,b)begina<=b;b<=a;endprocess;endrtl;--结果是a和b的值互互换变量赋值::architecturertlofvarisbeginprocessvariablea,b:std_logic;--定定义变量量begina:=b;b:=a;endprocess;endrtl;--结果果是a和b的值都都等于b的的初值例:变量赋赋值实现循循环语句功功能process(indicator,sig)variabletemp:std_logic;begintemp:=‘‘0’;foriin0to3looptemp:=tempxor(sig(i)andindicator(i));endloop;output<=temp;endprocess;以上语句等等效为:process(indicator,sig)variabletemp:std_logic;begintemp:=‘‘0’;temp:=tempxor(sig(0)andindicator(0));temp:=tempxor(sig(1)andindicator(1));temp:=tempxor(sig(2)andindicator(2));temp:=tempxor(sig(3)andindicator(3));output<=temp;endprocess;如改为信号号,则无法法实现原功功能:……signaltemp:std_logic;……process(indicator,sig,temp)begintemp<=‘0’;temp<=tempxor(sig(0)andindicator(0));temp<=tempxor(sig(1)andindicator(1));temp<=tempxor(sig(2)andindicator(2));temp<=tempxor(sig(3)andindicator(3));output<=temp;endprocess;二、转转向控制语句转向控制语语句通过条条件控制开开关决定是是否执行一条或几几条语句,,或重得执执行一条或或几条语句句,或跳过一条条或几条语语句。分为五种::if语句句、case语句句、loop语语句、next语语句、exit语语句2、case语语句case语语句常用用来描述总总线或编码码、译码行行为。可读性比if语句句强。格式如下::case表表达式iswhen分分支条件=>顺序处处理语句;;when分分支条件=>顺顺序处理语语句;when分分支条件=>顺顺序处理语语句;endcase;┇其中的分支支条件可有有以下的形形式:when值值=>顺序序处理语句句;when值值to值=>顺顺序处理理语句;when值值|值值|值|……|值=>顺序序处理语句句;以上三种方方式的混合合;whenothers=>顺序处处理语句;;Case语语句使用用注意:1)分支条条件的值必必须在表达达式的取值值范围内。。2)两个分分支条件不不能重叠。。3)CASE语句执执行时必须须选中,且且只能选中中一个分支条件件。4)如果没没有others分支条件存存在,则分分支条件必须覆盖盖表达式所所有可能的的值。对std_logc,std_logic_vector数据据类型要特特别注意使使用others分分支条件。。例:用case语语句描述四四选一电路路例:case语句的误用用signalvalue:integerrange0to15;signalout_1:bit;casevalueis--缺少when条件件语句endcase;casevalueis--分分支条件不不包含2到到15when0=>out_1<=‘‘1’;when1=>out_1<=‘0’;endcase;casevalueis--在在5到10上发生重重叠when0to10=>out_1<=‘‘1’;when5to15=>out_1<=‘‘0’;endcase;例:根据输输入确定输输出值libraryieee;useieee.std_logic_1164.all;entitymux41isport(s4,s3,s2,s1:instd_logic;z4,z3,z2,z1:outstd_logic);endmux41;architectureartofmux41isbeginprocess(s4,s3,s2,s1)variablesel:integerrange0to15;beginsel:=0;ifs1=‘1’’thensel:=sel+1;endif;ifs2=‘1’’thensel:=sel+2;endif;ifs3=‘1’’thensel:=sel+4;endif;ifs4=‘1’’thensel:=sel+8;endif;z1<=‘‘0’;z2<=‘0’’;z3<=‘0’;z4<=‘0’;caseseliswhen0=>z1<=‘1’’;when1|3=>z2<=‘‘1’;when4to7|2=>z3<=‘1’;whenothers=>z4<=‘1’;endcase;endprocess;endart;常用的并行行描述语句句有:进程(process)语句句、块(block)语语句、顺序描述语语句的并行行版本、并行过程调调用语句、、元件例化语语句、生成语句。。一、进程((process))语句进程(process)语句句最具VHDL语言言特色。提提供了一种用用算法描述述硬件行为为的方法。。特点:1、进程与与进程,或或其它并发发语句之间间的并发性性;2、进程内内部的顺序序性;3、进程的的启动与挂挂起;4、进程与与进程,或或其它并发发语句之间间的通信。。进程语句process信号信号信号进程语句process进程语句process敏感信号表::进程内要读读取的所有敏敏感信号(包括端口))的列表。每每一个敏感信号的变化,,都将启动进进程。格式:[标记:]process[(敏感信号号表)]{进程说明明项}begin{顺序描述述语句}endprocess[标记记];信号名称{,信号名称称}敏感信号表的的特点:1、同步进程程的敏感信号号表中只有时时钟信号。如:process(clk)beginif(clk’eventandclk=‘1’’)thenifreset=‘1’thendata<=“00”;elsedata<=in_data;endif;endif;endprocess;2、异步进程程敏感信号表表中除时钟信信号外,还有有其它信号。例:process(clk,reset)beginifreset=‘1’’thendata<=“00”;elsif(clk’eventandclk=‘‘1’)thendata<=in_data;endif;endprocess;3、如果有wait语语句,则不不允许有敏感感信号表。PROCESS(a,b)BEGIN--sequentialstatementsENDPROCESS;PROCESSBEGIN--sequentialstatementsWAITON(a,b);ENDPROCESS;作业:两位加加法器与BCD-7段显显示译码器要求:1、VHDL设计BCD-7段显示示译码器2、原理图图设计带BCD-7段显显示译码的2位加法器设计提示1位半加器、、1位全加器器(略)2位加法器可可以由1位半半加器和1位位全加器组成成。2位加法器的的波形仿真BCD-7段段显示译码器器工作原理BCD-7段段译码器是由由7个发光二二极(LED)管构成,,LED由特特殊的半导体体材料砷化镓镓、磷砷化镓镓等制成,组组装成分段式式或点阵式LED显示器器件(半导体体显示器)。。分段式显示示器(LED数码管)由由7条线段围围成8型,每每一段包含一一个发光二极极管。外加正正向电压时二二极管导通,,发出清晰的的光,有红、、黄、绿等色色。只要按规规律控制各发发光段的亮、、灭,就可以以显示各种字字形或符号。。图5.1(a)是共阴式式LED数码码管的原理图图,图5.1(b)是其其表示符号。。使用时,公公共阴极接地地,7个阳极极a~g由相相应的BCD-7段译码码器来驱动(控制),如如图5.1(c)所示。。图中,电阻阻是上拉电阻阻,也称限流流电阻,当译译码器内部带带有上拉电阻阻时,则可省省去。数字显显示译码器的的种类很多,,现已有将计计数器、锁存存器、译码驱驱动电路集于于一体的集成成器件,还有有连同数码显显示器也集成成在一起的电电路可供选用用。BCD-7段段显示译码器器译码原理BCD-7段段译码器的输输入是4位BCD码(以以D、C、B、A表示),输出是数数码管各段的的驱动信号(以a~g表表示),也称称4—7译码码器。若用它它驱动共阴LED数码管管,则输出应应为高有效,,即输出为高高(1)时,,相应显示段段发光。例如如,当输入8421码DCBA=0100时,,应显示,,即要求求同时点亮b、c、f、、g段,熄灭灭a、d、e段,故译码码器的输出应应为a~g=0110011,这也也是一组代码码,常称为段段码。同理,,根据组成0~9这10个字形的要要求可以列出出8421BCD-7段段译码器的真真值表,见表表5.1。BCD-7段段显示译码器器实体符号BCD-7段段显示译码器器的VHDL设计withinputselectdrive<=B“1111110”when0,B“0110000”when1,B“1101101”when2,B“1111001”when3,B“0110011”when4,B“1011011”when5,B“1011111”when6,B“1110000”when7,B“1111111”when8,B“1111011”when9,B“0000000”whenothers;abcdefg带BCD-7段显示译码码的2位加法法器原理图设设计(1)带BCD-7段显示译码码的2位加法法器原理图设设计(2)9、静夜夜四无无邻,,荒居居旧业业贫。。。12月月-2212月月-22Tuesday,December20,202210、雨中中黄叶叶树,,灯下下白头头人。。。21:02:3421:02:3421:0212/20/20229:02:34PM11、以我独独沈久,,愧君相相见频。。。12月-2221:02:3421:02Dec-2220-Dec-2212、故人江江海别,,几度隔隔山川。。。21:02:3421:02:3421:02Tuesday,December20,202213、乍见翻疑疑梦,相悲悲各问年。。。12月-2212月-2221:02:3421:02:34December20,202214、他他乡乡生生白白发发,,旧旧国国见见青青山山。。。。20十十二二月月20229:02:34下下午午21:02:3412月月-2215、比不了得就就不比,得不不到的就不要要。。。十二月229:02下下午12月-2221:02December20,202216、行动出出成果,,工作出出财富。。。2022/12/2021:02:3421:02:3420December202217、做前,,能够环环视四周周;做时时,你只只能或者者最好沿沿着以脚脚为起点点的射线线向前。。。9:02:34下午午9:02下午午21:02:3412月-229、没有有失败败,只只有暂暂时停停止成成功!!。12月月-2212月月-22Tuesday,December20,202210、很多多事情情努力力了未未必有有结果果,但但是不不努力力却什什么改改变也也没有有。。。21:02:3421:02:3421:0212/20/20229:02:34PM11、成功就就是日复复一日那那一点点点小小努努力的积积累。。。12月-2221:02:3421:02Dec-2220-Dec-2212、世间成事事,不求其其绝对圆满满,留一份份不足,可可得无限完完美。。21:02:3421:02:3421:02Tuesday,December20,202213、不不知知香香积积寺寺,,数数里里入入云云峰峰。。。。12月月-2212月月-2221:02:3421:02:34December20,202214、意志坚强的的人能把世界界放在手中像像泥块一样任任意揉捏。20十二月月20229:02:34下午21:02:3412月-2215、楚楚塞塞三三湘湘接接,,荆荆门门九九派派通通。。。。。。十二二月月229:02下下午午12月月-2221:02De

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论