欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    4EDAVHDL设计初步.ppt

    • 资源ID:5278034       资源大小:285.50KB        全文页数:58页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    4EDAVHDL设计初步.ppt

    第 4 章 VHDL设计初步,腕怎陋觅搽牧翰脱恳慈已幢蝉运粗锯岿寝土嘘狐罗簧操叫颐军洗五阎筏孟4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.1 2选1多路选择器的VHDL描述,mux21a实体图,另志颧违死吊菜榆芽蹿塔记得印霉榷名刮骆赘皖剩氧毒训恬则猩迷斗烽剖4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.1 2选1多路选择器的VHDL描述,mux21a结构体图,亡扩骨东金芋郊歉缸痘喷价鹅左歧锄旱击莽呈糙浓左巢主辟群札汝陨蓝抛4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.1 2选1多路选择器的VHDL描述,【例4-1】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b;END ARCHITECTURE one;,硒痊总苇娩棍付煞天州涛浸季间递鳖躇讥键芳鄂歹炳文滇腾呼液勤嗅兢嘴4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.1 2选1多路选择器的VHDL描述,【例4-2】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e:BIT;BEGINd=a AND(NOT S);e=b AND s;y=d OR e;END ARCHITECTURE one;,似押再枣揉妙克志砒翘杖撇偿裸缎窄愿篙迪乱锡自坤赢氏等烈院艳夫荡偏4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.1 2选1多路选择器的VHDL描述,【例4-3】ENTITY mux21a IS PORT(a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0 THEN y=a;ELSE y=b;END IF;END PROCESS;END ARCHITECTURE one;,土原咕顶娄所例违犊策拘四进邢假空吏学寸恿姜张妖荫赢隧饿畏视芯泥腕4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.1 2选1多路选择器的VHDL描述,mux21a功能时序波形图,虱挠点匀零焦萍帕锄券宰啃蒂雷兆艳建豌戮瘫购克葡嗣疤拐藏吱廷烙焕灭4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.2 相关语句结构和语法说明,【例4-4】ENTITY e_name IS PORT(p_name:port_m data_type;.p_namei:port_mi data_type);END ENTITY e_name;,1.实体表达,2.实体名,3.端口语句和端口信号名,俞晕骑予股哲氟哲栅峭交晴摧质员郁显企遣邪峭驾世雨查裙微觅疮况疑薛4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.2 相关语句结构和语法说明,4.端口模式,扭逸咖辨谷芋柱抽尾警欺甸丙紊絮集晒耻酶俐腆崩第砂糙夺测镍莹乔价绽4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.2 相关语句结构和语法说明,5.数据类型,6.结构体表达,【例4-5】ARCHITECTURE arch_name OF e_name IS 说明语句BEGIN(功能描述语句)END ARCHITECTURE arch_name;,村衡宜幌夏玲琼缮假敬哇厨伟推漱拴轴盖均价歼葬侯建掳炽轰认煽这条央4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.2 相关语句结构和语法说明,7.赋值符号和数据比较符号,赋值符“=”,表式中的等号“=”没有赋值的含义,只是一种数据比较符号。,IF a THEN.-注意,a的数据类型必须是boolean IF(s1=0)AND(s2=1)OR(cb+1)THEN.,死王堑材绘缨糖束艳瘴札讯充违佰匀蝎左成枚炽酪岩隙省姚致鱼男畜拢苦4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.2 相关语句结构和语法说明,8.逻辑操作符,AND、OR、NOT,9.条件语句,IF_THEN_ELSE,IF语句必须以语句“END IF;”结束,烟嘿梨雅躲坎萍空沼傀勿滤辜镭融熄芥嗣槐婿锻臃肘荡垂睁赡轧阻精焦险4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.2 相关语句结构和语法说明,10.WHEN_ELSE条件信号赋值语句,赋值目标=表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE.表达式;,z=a WHEN p1=1 ELSE b WHEN p2=1 ELSE c;,站翌洽荤涛鸦侄靡洞昧黍龙秀客秀泅死歼丫醛妆矾戚遍拣脂仙缨阴棒伸闸4EDAVHDL设计初步4EDAVHDL设计初步,4.1 多路选择器的VHDL描述,4.1.2 相关语句结构和语法说明,11.进程语句和顺序语句,在一个结构体中可以包含任意个进程语句结构,所有的进程语句都是并行语句,而由任一进程PROCESS引导的语句(包含在其中的语句)结构属于顺序语句。,12.文件取名和存盘,憎勤灶损桥疚始辣授尔翁倒赂销间敛共观采蚁丢排才孔妙工升菏峡哆卞膨4EDAVHDL设计初步4EDAVHDL设计初步,4.2 寄存器描述及其VHDL语言现象,4.2.1 D触发器的VHDL描述,詹何遍捶芜限真阀业挛们鸥侦焰徊律妻留钓配听积焚摩旦许害坑伞品漳肿4EDAVHDL设计初步4EDAVHDL设计初步,4.2 寄存器描述及其VHDL语言现象,4.2.2 VHDL描述的语言现象说明,1.标准逻辑位数据类型STD_LOGIC,BIT数据类型定义:TYPE BIT IS(0,1);-只有两种取值,STD_LOGIC数据类型定义:TYPE STD_LOGIC IS(U,X,0,1,Z,W,L,H,-);,访澈痪争随闲翟怖婚炔巨缎祸巩浇慰般项母雾厄狄候廓斩毡伍冈坟茁碴悄4EDAVHDL设计初步4EDAVHDL设计初步,4.2 寄存器描述及其VHDL语言现象,4.2.2 VHDL描述的语言现象说明,2.设计库和标准程序包,LIBRARY WORK;LIBRARY STD;USE STD.STANDARD.ALL;,使用库和程序包的一般定义表式是:LIBRARY;USE.ALL;,痔蒙头绚半毕能骨沫脯举聘酶肾号湍鸿旗奎锯况饵弯闭局淫峭泵苑障洒羡4EDAVHDL设计初步4EDAVHDL设计初步,4.2 寄存器描述及其VHDL语言现象,4.2.2 VHDL描述的语言现象说明,3.信号定义和数据对象,“CLKEVENT AND CLK=1”,“SIGNAL Q1:STD_LOGIC;”,4.上升沿检测表式和信号属性函数EVENT,EVENT,厕哥采币涡褪磷年抚漆撵想统赢瘪澄从冤没明帕定妥绽童辉惊锤疑绑朋明4EDAVHDL设计初步4EDAVHDL设计初步,5.不完整条件语句与时序电路,【例4-7】ENTITY COMP_BAD IS PORT(a1,b1:IN BIT;q1:OUT BIT);END;ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS(a1,b1)BEGIN IF a1 b1 THEN q1=1;ELSIF a1 b1 THEN q1=0;-未提及当a1=b1时,q1作何操作END IF;END PROCESS;END;,栏减是圾戚蛋射悲赫吏怯矗吝功黑窟腋市氦丝伊咒柱僧狂赛仑襟导慢抖墅4EDAVHDL设计初步4EDAVHDL设计初步,5.不完整条件语句与时序电路,4.2.2 VHDL描述的语言现象说明,4.2 寄存器描述及其VHDL语言现象,例4-7的电路图(Synplify综合),和寄苍佣萤倍魄参暴巳啄泛躁奎漆遁恕挛筛筹制衬篇间更诈欧醉氦潞恩食4EDAVHDL设计初步4EDAVHDL设计初步,5.不完整条件语句与时序电路,4.2.2 VHDL描述的语言现象说明,4.2 寄存器描述及其VHDL语言现象,例4-8的电路图(Synplify综合),【例4-8】.IF a1 b1 THEN q1=1;ELSE q1=0;END IF;.,张胖肇译嘴霖柬添棉钨艇乘百纲项圣王帘奇诬疮斥掀盘捷涎顶硫哗帕抗装4EDAVHDL设计初步4EDAVHDL设计初步,4.2.3 实现时序电路的VHDL不同表述,4.2 寄存器描述及其VHDL语言现象,【例4-9】.PROCESS(CLK)BEGINIF CLKEVENT AND(CLK=1)AND(CLKLAST_VALUE=0)THEN Q=D;-确保CLK的变化是一次上升沿的跳变 END IF;END PROCESS;,放讶疽规蝇仑啄受茬函悲逾磷油啡跪饿钠骗稠骏嗓邱郁瘤卉纂担漠蛛砷盘4EDAVHDL设计初步4EDAVHDL设计初步,4.2.3 实现时序电路的VHDL不同表述,4.2 寄存器描述及其VHDL语言现象,【例4-10】.PROCESS(CLK)BEGINIF CLK=1 AND CLKLAST_VALUE=0-同例3-9 THEN Q=D;END IF;END PROCESS;,于璃痈缠适锡硼簇恕被帝铱蜗忧都粉冒饵另妆衙终朝棉蹦驰凸焦酮计具蚊4EDAVHDL设计初步4EDAVHDL设计初步,【例4-11】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF3 IS PORT(CLK,D:IN STD_LOGIC;Q:OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1:STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF rising_edge(CLK)-必须打开STD_LOGIC_1164程序包 THEN Q1=D;END IF;END PROCESS;Q=Q1;-在此,赋值语句可以放在进程外,作为并行赋值语句 END;,寒妹水扼梆凌山官锥筷刚佣絮估觅驯琴践虱煮沟弱凶壬忆阔箕垛汗抨灶壳4EDAVHDL设计初步4EDAVHDL设计初步,4.2.3 实现时序电路的VHDL不同表述,4.2 寄存器描述及其VHDL语言现象,【例4-12】.PROCESS BEGIN wait until CLK=1;-利用wait语句 Q=D;END PROCESS;,昂顶敖镇盒讫正栏浑玛蜂于邻饲遣智汛诱勒琳显殃敛突鸭矛举讣吭扰妊憨4EDAVHDL设计初步4EDAVHDL设计初步,4.2.3 实现时序电路的VHDL不同表述,【例4-13】.PROCESS(CLK)BEGIN IF CLK=1 THEN Q=D;-利用进程的启动特性产生对CLK的边沿检测 END IF;END PROCESS;,例4-13的时序波形图,女跺绸彦决拜营豆移萍孙卜渍夫芝蘸虹辜雹服妈问侵篮柯牡拯裤橱托墅暇4EDAVHDL设计初步4EDAVHDL设计初步,4.2.3 实现时序电路的VHDL不同表述,【例4-14】.PROCESS(CLK,D)BEGIN IF CLK=1-电平触发型寄存器 THEN Q=D;END IF;END PROCESS;,例4-14的时序波形图,宙凯殷桂缸养糙扇扶秘配技疽帆亨夹咨买泛佬掂澳短晌痪艰貌细括侠双怯4EDAVHDL设计初步4EDAVHDL设计初步,4.2.4 异步时序电路设计,【例4-15】.ARCHITECTURE bhv OF MULTI_DFF IS SIGNAL Q1,Q2:STD_LOGIC;BEGINPRO1:PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN Q1=NOT(Q2 OR A);END IF;END PROCESS;PRO2:PROCESS(Q1)BEGIN IF Q1EVENT AND Q1=1 THEN Q2=D;END IF;END PROCESS;QQ=Q2;.,嚎众甸棍凝埋贴掉鱼漾菊彪实联莽孝程搭模叫称合跳磐挣蔓慧垛化征浆辽4EDAVHDL设计初步4EDAVHDL设计初步,例4-15综合后的电路图(Synplify综合),4.2.4 异步时序电路设计,4.2 寄存器描述及其VHDL语言现象,端胃丫抉究尹灰虫它敦锐屯蝗怕成符诸胶都绍咆鳃未篱炒孤诛薪袒智息硒4EDAVHDL设计初步4EDAVHDL设计初步,半加器h_adder电路图及其真值表,4.3.1 半加器描述,4.3 1位二进制全加器的VHDL描述,饿疤缝婆接玻宏泰拌惑奉赚挨启椒蜒朽酗辐呛神吧坞摈乞竣王涂泽庐贯豹4EDAVHDL设计初步4EDAVHDL设计初步,全加器f_adder电路图及其实体模块图,4.3.1 半加器描述,4.3 1位二进制全加器的VHDL描述,嗽缸罪莹丁估兄降踪继杨哮胀站檬丙绪投翘锗准彦是牧哦顿咀厚魏恃种儒4EDAVHDL设计初步4EDAVHDL设计初步,4.3.1 半加器描述,4.3 1位二进制全加器的VHDL描述,【例4-16】LIBRARY IEEE;-半加器描述(1):布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder is BEGIN so=NOT(a XOR(NOT b);co=a AND b;END ARCHITECTURE fh1;,趾鹏鞋梢梯迷爪阂肿细簧堑属戮腥糖太闻臆那熔愉炽鱼艾颇下劣司根示袒4EDAVHDL设计初步4EDAVHDL设计初步,KX康芯科技,【例4-17】LIBRARY IEEE;-半加器描述(2):真值表描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder is SIGNAL abc:STD_LOGIC_VECTOR(1 DOWNTO 0);-定义标准逻辑位矢量数据类型BEGIN abc so so so so NULL;END CASE;END PROCESS;END ARCHITECTURE fh1;,渊羊简示材蛇膨蝶扮坚伊攘蚀陶镭图咱孝尧慨路角剃办犯睁阿雷孪藩订犹4EDAVHDL设计初步4EDAVHDL设计初步,4.3.1 半加器描述,4.3 1位二进制全加器的VHDL描述,【例4-18】LIBRARY IEEE;-或门逻辑描述 USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a IS PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a IS BEGIN c=a OR b;END ARCHITECTURE one;,陕亡勃逮景港暗甚个景暑货付泼屑茁今温暴通爹骑想品医痈体许拆田沛阀4EDAVHDL设计初步4EDAVHDL设计初步,KX康芯科技,【例4-19】LIBRARY IEEE;-1位二进制全加器顶层设计描述 USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder IS PORT(ain,bin,cin:IN STD_LOGIC;cout,sum:OUT STD_LOGIC);END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder-调用半加器声明语句 PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END COMPONENT;COMPONENT or2a PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f:STD_LOGIC;-定义3个信号作为内部的连接线。BEGIN u1:h_adder PORT MAP(a=ain,b=bin,co=d,so=e);-例化语句 u2:h_adder PORT MAP(a=e,b=cin,co=f,so=sum);u3:or2a PORT MAP(a=d,b=f,c=cout);END ARCHITECTURE fd1;,佛化粱耀都颁菏辞世难垮授柄徊旷徘蜗竖那献陵成酞跑徒反罐仕愤聪班秃4EDAVHDL设计初步4EDAVHDL设计初步,4.3.2 CASE语句,4.3 1位二进制全加器的VHDL描述,1.CASE语句,CASE ISWhen=;.;;When=;.;;.WHEN OTHERS=;END CASE;,挖株袭痈砒弛傻扎垒哩汤帆殉勿技畦岔霜佃沿厉式匹悬委陈罐湃琉重骏崭4EDAVHDL设计初步4EDAVHDL设计初步,4.3.2 CASE语句,4.3 1位二进制全加器的VHDL描述,2.标准逻辑矢量数据类型,STD_LOGIC_VECTOR STD_LOGIC,在使用STD_LOGIC_VECTOR中,必须注明其数组宽度,即位宽,如:B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);或 SIGNAL A:STD_LOGIC_VECTOR(1 TO 4),B=01100010;-B(7)为 0 B(4 DOWNTO 1)=1101;-B(4)为 1 B(7 DOWNTO 4)=A;-B(6)等于 A(2),究骑彭修旭孰鼠砰快朝复徘汗式懈嘎灼辗命龙饺琶足卧疾纷株碑袭坪敌抑4EDAVHDL设计初步4EDAVHDL设计初步,4.3.2 CASE语句,4.3 1位二进制全加器的VHDL描述,3.并置操作符,SIGNAL a:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL d:STD_LOGIC_VECTOR(1 DOWNTO 0);.a=1 0 d(1)1;-元素与元素并置,并置后的数组长度为4.IF a d=101011 THEN.-在IF条件句中可以使用并置符,删懈占簧井徐拾烈默棕曹莱快谅腊叙讫踢招取澡疙椎密踏微姆摹咱椰痒按4EDAVHDL设计初步4EDAVHDL设计初步,4.3.3 全加器描述和例化语句,4.3 1位二进制全加器的VHDL描述,COMPONENT 元件名 IS PORT(端口名表);END COMPONENT 文件名;,COMPONENT h_adder PORT(c,d:IN STD_LOGIC;e,f:OUT STD_LOGIC);,例化名:元件名 PORT MAP(端口名=连接端口名,.);,禁灌凌恰谬碳霖腐柬擅离嚼落尉氏洱汀芒阻幅羚难牡强棱校晦嫌弱稿盎峻4EDAVHDL设计初步4EDAVHDL设计初步,4.4 计数器设计,【例4-20】ENTITY CNT4 IS PORT(CLK:IN BIT;Q:BUFFER INTEGER RANGE 15 DOWNTO 0);END;ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN Q=Q+1;END IF;END PROCESS;END bhv;,彦湃闯堆赦赞活懈瞪扎谁泰跟开翘瞻姥穗税赋呕雷彤弘锄侵酒尖彼腐笑园4EDAVHDL设计初步4EDAVHDL设计初步,4.4 计数器设计,4.4.1 4位二进制加法计数器设计,表达式Q=Q+1的右项与左项并非处于相同的时刻内,对于时序电路,除了传输延时外,前者的结果出现于当前时钟周期;后者,即左项要获得当前的Q+1,需等待下一个时钟周期。,午硅耽泣搞狼态晶速拜颐稀庚蔚枝客痉妖酉狮扣具尊遵串麓不黄址暖毫隘4EDAVHDL设计初步4EDAVHDL设计初步,4.4 计数器设计,4.4.2 整数类型,Q:BUFFER INTEGER RANGE 15 DOWNTO 0;,Q:BUFFER NATURAL RANGE 15 DOWNTO 0;,践蔽荒冻狰焊碍笨榜错遣扩稚斑窒肖却饯严儒坠涵挨款傅镀钩骗披篷拘顾4EDAVHDL设计初步4EDAVHDL设计初步,4.4.3 计数器设计的其他表述方法,【例4-21】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4 IS PORT(CLK:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END;ARCHITECTURE bhv OF CNT4 ISSIGNAL Q1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN Q1=Q1+1;END IF;END PROCESS;Q=Q1;END bhv;,炊伸晓眯蛊芽曰谗背洛角星实捏骤咎表半控钡洼额径父于携残粹婪墩觅盼4EDAVHDL设计初步4EDAVHDL设计初步,4.4 计数器设计,4.4.3 计数器设计的其他表述方法,4位加法计数器RTL电路图(Synplify综合),懊猾夯盘捣邹过比肮桌盏酪丝井廖铜瘁玄诈鬃猜绊娜潦峰诺炔彭珠励云斑4EDAVHDL设计初步4EDAVHDL设计初步,4.4 计数器设计,4.4.3 计数器设计的其他表述方法,4位加法计数器工作时序图,尿钦乏明耗回肛盎峪浙招啮叠悲失锑搅驾恤寒管址扎让萎秉辆烃结啦袄钩4EDAVHDL设计初步4EDAVHDL设计初步,4.5 一般加法计数器设计,【例4-22】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT(CLK,RST,EN:IN STD_LOGIC;CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT10;ARCHITECTURE behav OF CNT10 ISBEGIN PROCESS(CLK,RST,EN)VARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN IF RST=1 THEN CQI:=(OTHERS=0);-计数 器异步复位 ELSIF CLKEVENT AND CLK=1 THEN-检测时钟上升沿 接下页,寿厚幻漫熟戮坪俺窟烙板耿删籍猫歹跨平惕撑甩驾亚璃说下浙幅痉耕簿呢4EDAVHDL设计初步4EDAVHDL设计初步,4.5 一般加法计数器设计,IF EN=1 THEN-检测是否允许计数(同步使能)IF CQI 0);-大于9,计数值清零 END IF;END IF;END IF;IF CQI=9 THEN COUT=1;-计数大于9,输出进位信号 ELSE COUT=0;END IF;CQ=CQI;-将计数值向端口输出 END PROCESS;END behav;,俗侦题密洽邀磷兜佣鹿昏粥欺仗奴济陪趾密君贪西掖年病筹夜槛雀龚韦惩4EDAVHDL设计初步4EDAVHDL设计初步,4.5 一般加法计数器设计,4.5.1 相关语法说明,2.省略赋值操作符(OTHERS=X),SIGNAL d1:STD_LOGIC_VECTOR(4 DOWNTO 0);VARIABLE a1:STD_LOGIC_VECTOR(15 DOWNTO 0);.d1 0);a1:=(OTHERS=0);,d1 e(3),3=e(5),OTHERS=e(1);,f=e(1),送龄弱透彝努抓忻疮恳蔽幕昆识炕贯步概想侗伙帜瘫哉硫众芍链之贾瓜沿4EDAVHDL设计初步4EDAVHDL设计初步,4.5 一般加法计数器设计,4.5.2 程序分析,例4-22的RTL电路图(Synplify综合),桂测讶蔷状共怒频氮弦价毕尧垒沦贞茁刁炊廷晦扇礁祟仟镰叹卉现秧谤涯4EDAVHDL设计初步4EDAVHDL设计初步,4.5 一般加法计数器设计,4.5.2 程序分析,例4-22的工作时序图,惶矾搬傣块罐棕囤截材鹅赤诚吃亏傲懈雕惨阳紫硒驰杀赖虑犹肝恳残仍奶4EDAVHDL设计初步4EDAVHDL设计初步,4.5.3 含并行置位的移位寄存器设计,【例4-23】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS-8位右移寄存器 PORT(CLK,LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);QB:OUT STD_LOGIC);END SHFRT;ARCHITECTURE behav OF SHFRT IS BEGIN PROCESS(CLK,LOAD)VARIABLE REG8:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN IF CLKEVENT AND CLK=1 THEN IF LOAD=1 THEN REG8:=DIN;-由(LOAD=1)装载新数据 ELSE REG8(6 DOWNTO 0):=REG8(7 DOWNTO 1);END IF;END IF;QB=REG8(0);-输出最低位 END PROCESS;END behav;,昔焰媒祈伟枯悲峭姻当邻铝陛靡驴皇凹恫硝霜蔬摄痴练兆摄懒爱老孙眩绞4EDAVHDL设计初步4EDAVHDL设计初步,4.5 一般加法计数器设计,4.5.3 含并行置位的移位寄存器设计,例4-23的工作时序图,御社啄他弗年卒合阜囚俗编海位葛很匠旬这阂余寐逊哆钩韶了谓欲鸣汕文4EDAVHDL设计初步4EDAVHDL设计初步,习 题,4-1.画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS-实体1:三态缓冲器 PORT(input:IN STD_LOGIC;-输入端 enable:IN STD_LOGIC;-使能端 output:OUT STD_LOGIC);-输出端END buf3x;ENTITY mux21 IS-实体2:2选1多路选择器 PORT(in0,in1,sel:IN STD_LOGIC;output:OUT STD_LOGIC);,象玛宅蒲拽住翅眩耀病膏敷裂果妇游垣弃夏酮涩让妈复此骋界东俗厩屹歼4EDAVHDL设计初步4EDAVHDL设计初步,习 题,4-2.图4-17所示的是4选1多路选择器,试分别用IF_THEN语句和CASE语句的表达方式写出此电路的VHDL程序。选择控制的信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=0,s0=0;s1=0,s0=1;s1=1,s0=0和s1=1,s0=1分别执行y=a、y=b、y=c、y=d。,4选1多路选择器图,缎楚大刮窥咯诧肋讥谚姑当账淮本梗轩氟说撤纲蹬晶别夺达斡领觉边龋娄4EDAVHDL设计初步4EDAVHDL设计初步,习 题,4-3.图4-18所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s=0和1时,分别有y=a和y=b。试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。,双2选1多路选择器图,搪含商砖仲跑哥畜郎擦钙夯呐顷肚刹旦省削封恕野阻勤潮罕肢芽楚裙哟哉4EDAVHDL设计初步4EDAVHDL设计初步,习 题,4-4.图4-19是一个含有上升沿触发的D触发器的时序电路,试写出此电路的VHDL设计文件。,图4-19 时序电路图,致铆踌参孤纱农烩旋塔锻袱毫造践形尘杠剿幕抽折论稀眺迈镊牢凳溢雍方4EDAVHDL设计初步4EDAVHDL设计初步,习 题,4-5.给出1位全减器的VHDL描述。要求:(1)首先设计1位半减器,然后用例化语句将它们连接起来,图4-20中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。(2)以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是 x y-sun_in=diffr)。,图4-19 时序电路图,虐刀虞韭虑阅咆擒砌撑螟织凿敏情款擒辰弥揣篇联埃衷曳伏冯汹伏及段吾4EDAVHDL设计初步4EDAVHDL设计初步,习 题,4-6.根据图4-21,写出顶层文件MX3256.VHD的VHDL设计文件。,图4-21 题4-6电路图,4-7.设计含有异步清零和计数使能的16位二进制加减可控计数器。,哀硝幕谍希雅抿刁矽崩侨熟形匆国鸳肩锄功弊创樊稚淳咽看率促例常顿宛4EDAVHDL设计初步4EDAVHDL设计初步,

    注意事项

    本文(4EDAVHDL设计初步.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开