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

下载本文档

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

文档简介

1位半加器的事理图设计存在问题:同或和异或的不合同或:XNOR异或:XOR上次实行讲评函数关系式S=A⊕BC=AB1位半加器的事理图设计存在问题:同或和异或的不合上次实行讲评11位全加器的事理图设计1位全加器的事理图设计2别的一种方式设计1位全加器的事理图函数关系式Si=Ai⊕Bi⊕Ci-1Ci=AiBi+BiCi-1+AiCi-1别的一种方式设计1位全加器的事理图函数关系式3使用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组合的所有取值。使用Max+PlusII软件进展1位二进制全加器的功能仿真。4仿真波形以下列图所示仿真波形以下列图所示51位半减器VHDL设计LIBRARYieee;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设计LIBRARYieee;61位全减器VHDL设计1位全减器VHDL设计7本次课内容VHDL按次语句〔CASE)变量与旗子暗号的对照VHDL并行语句〔PROCESS)BCD法式设计本次课内容VHDL按次语句〔CASE)8硬件履行:并行履行〔VHDL本质〕仿真履行:按次履行、并行履行分为两大年夜类:按次〔Sequential〕描写语句并行〔Concurrent〕描写语句ARCHITECTUREProcessProcessENTITYSequentialProcessCombinationalProcessportsportscomponent§3.4VHDL按次语句〔Sequential〕硬件履行:并行履行〔VHDL本质〕9按次描写语句:履行按次与书写按次一致,与传统软件设计措辞的特点近似。按次语句只能用在历程与子程序中。可描写组合逻辑、时序逻辑。常常使用的按次描写语句:赋值语句;if语句;case语句;loop语句;next语句;exit语句;子法式;return语句;wait语句;null语句。按次描写语句:10一对象与赋值语句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)。所有对象均分为:变量和旗子暗号对象:=表达式;--变量赋值对象<=表达式;--旗子暗号赋值要求:表达式的值必需与对象的类型、宽度一致。一对象与赋值语句112、变量赋值与旗子暗号赋值

变量与旗子暗号的差别:1〕赋值体例的不合:变量:=表达式;旗子暗号<=表达式;2〕硬件实现的功能不合:旗子暗号代表电路单位、功能模块间的互联,代表实际的硬件连线;变量代表电路单位内部的操作,代表暂存的一时数据。2、变量赋值与旗子暗号赋值 123〕有效局限的不合:旗子暗号:法式包、实体、布局体;全局量。变量:历程、子法式;局部量。ARCHITECTURE{SIGNALDeclarations}label1:PROCESS{VARIABLEDeclarations}label2:PROCESS{VARIABLEDeclarations}┇3〕有效局限的不合:{SIGNALDeclarations134〕赋值动作的不合:旗子暗号赋值延迟更新数值、时序电路;变量赋值当即更新数值、组合电路。5〕旗子暗号的多次赋值a.一个历程:最后一次赋值有效b.多个历程:多源驱动线与、线或、三态4〕赋值动作的不合:14例:旗子暗号的多次赋值architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…a<=c;endprocess;endrtl;architecturertlofexissignala:std_logic;beginprocess(…)begina<=b;…endprocess;process(…)begina<=c;...endprocess;endex;例:旗子暗号的多次赋值architecture15例:旗子暗号赋值与变量赋值的对照旗子暗号赋值:architecturertlofsigissignala,b:std_logic;--定义旗子暗号beginprocess(a,b)begina<=b;b<=a;endprocess;endrtl;--了局是a和b的值互换例:旗子暗号赋值与变量赋值的对照16变量赋值:architecturertlofvarisbeginprocessvariablea,b:std_logic;--定义变量begina:=b;b:=a;endprocess;endrtl;--了局是a和b的值都等于b的初值变量赋值:17例:变量赋值实现轮回语句功能process(indicator,sig)variabletemp:std_logic;begintemp:=‘0’;foriin0to3looptemp:=tempxor(sig(i)andindicator(i));endloop;output<=temp;endprocess;例:变量赋值实现轮回语句功能18以上语句等效为: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;以上语句等效为:19如改成旗子暗号,那么没法实现原功能:……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;如改成旗子暗号,那么没法实现原功能:202、转向控制语句转向控制语句经由过程前提控制开关决意是不是执行一条或几条语句,或重得履行一条或几条语句,或跳过一条或几条语句。分为五种:if语句、case语句、loop语句、next语句、exit语句2、转向控制语句212、case语句case语句常常使用来描写总线或编码、译码动作。可读性比if语句强。格局以下:case表达式iswhen分支前提=>按次措置语句;when分支前提=>按次措置语句;when分支前提=>按次措置语句;endcase;┇2、case语句case表达式is┇22个中的分支前提可有以下的形式:when值=>按次措置语句;when值to值=>按次措置语句;when值|值|值|…|值=>按次措置语句;以上三种体例的夹杂;whenothers=>按次措置语句;个中的分支前提可有以下的形式:23Case语句使用正视:1〕分支前提的值必需在表达式的取值局限内。2〕两个分支前提不克不及堆叠。3〕CASE语句履行时必需选中,且只能选中一个分支前提。4〕假如没有others分支前提存在,那么分支条件必需笼盖表达式所有可能的值。对std_logc,std_logic_vector数据类型要出格正视使用others分支前提。Case语句使用正视:24例:用case语句描写四选一电路例:用case语句描写四选一电路25例: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;例:case语句的误用casevalueis26例:凭据输入一定输出值libraryieee;entitymux41isport(s4,s3,s2,s1:instd_logic;z4,z3,z2,z1:outstd_logic);endmux41;architectureartofmux41isbeginprocess(s4,s3,s2,s1)variablesel:integerrange0to15;beginsel:=0;例:凭据输入一定输出值27ifs1=‘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;ifs1=‘1’thensel:=se28

常常使用的并行描写语句有:历程〔process〕语句、块〔block〕语句、按次描写语句的并行版本、并行历程挪用语句、元件例化语句、生成语句。常常使用的并行描写语句有:291、历程〔process〕语句历程〔process〕语句最具VHDL措辞特点。提供了一种用算法描写硬件动作的方式。特点:1、历程与历程,或其它并发语句之间的并发性;2、历程内部的按次性;3、历程的启动与挂起;4、历程与历程,或其它并发语句之间的通信。1、历程〔process〕语句30历程语句process旗子暗号旗子暗号旗子暗号历程语句process历程语句process历程语句旗子暗号旗子暗号旗子暗号历程语句历31敏感旗子暗号表:历程内要读取的所有敏感旗子暗号〔包孕端口〕的列表。每一个敏感旗子暗号的改变,都将启动历程。格局:[标志:]process[(敏感旗子暗号表)]{历程申明项}begin{按次描写语句}endprocess[标志];旗子暗号名称{,旗子暗号名称}敏感旗子暗号表:历程内要读取的所有敏感旗子暗号[标志:]32敏感旗子暗号表的特点:1、同步历程的敏感旗子暗号表中只有时钟旗子暗号。如:process(clk)beginif(clk’eventandclk=‘1’)thenifreset=‘1’thendata<=“00”;elsedata<=in_data;endif;endif;endprocess;敏感旗子暗号表的特点:332、异步历程敏感旗子暗号表中除时钟旗子暗号外,还有其它旗子暗号。例:process(clk,reset)beginifreset=‘1’thendata<=“00”;elsif(clk’eventandclk=‘1’)thendata<=in_data;endif;endprocess;2、异步历程敏感旗子暗号表中除时钟旗子暗号外,还有其343、假如有wait语句,那么不准许有敏感旗子暗号表。

PROCESS(a,b)BEGIN--sequentialstatementsENDPROCESS;PROCESSBEGIN--sequentialstatementsWAITON(a,b);ENDPROCESS;3、假如有wait语句,那么不准许有敏感旗子暗号表。35作业:两位加法器与BCD-7段显示译码器要求:1、VHDL设计BCD-7段显示译码器2、事理图设计带BCD-7段显示译码的2位加法器作业:两位加法器与BCD-7段显示译码器要求:1、VHDL设36设计提示1位半加器、1位全加器〔略〕2位加法器可以由1位半加器和1位全加器构成。设计提示1位半加器、1位全加器〔略〕372位加法器的波形仿真2位加法器的波形仿真38BCD-7段显示译码器工作事理BCD-7段译码器是由7个发光二极〔LED〕管构成,LED由特别的半导体材料砷化镓、磷砷化镓等制成,组装成份段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成8型,每段包孕一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按纪律控制各发光段的亮、灭,便可以显示各类字形或符号。BCD-7段显示译码器工作事理BCD-7段译码器是由7个发39图5.1(a)是共阴式LED数码管的事理图,图5.1(b)是其暗示符号。使用时,公共阴极接地,7个阳极a~g由响应的BCD-7段译码器来驱动(控制),如图5.1(c)所示。图中,电阻是上拉电阻,也称限流电阻,当译码器内部带有上拉电阻时,那么可省去。数字显示译码器的种类很多,现已有将计数器、锁存器、译码驱动电路集于一体的集成器件,还有连同数码显示器也集成在一路的电路可供选用。图5.1(a)是共阴式LED数码管的事理图,图5.1(b)是40BCD-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段译码器的输入是4位41EDA技术项目5BCD7段显示译码器42BCD-7段显示译码器实体符号BCD-7段显示译码器实体符号43BCD-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”w

温馨提示

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

评论

0/150

提交评论