第四讲VHDL的顺序语句.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲VHDL的顺序语句

第四讲 VHDL硬件描述语言_2 教学课时:2学时 教学内容: 1、VHDL语句(1.5学时) (1)进程 (2)顺序语句 if语句 case语句 2、实例演示(0.5学时) PROCESS(进程)语句 进程语句是VHDL语言的一大特色。在结构体中可以使用进程来描述电路的功能。各进程语句之间是并行执行的,但进程内部却是由顺序语句构成,因此是按顺序执行的。 进程语句的格式为: [进程名:]process[(敏感信号表)] [is] [说明语句;] begin 顺序描述语句; end process [进程名]; 进程名用来区分不同的进程,因此,不同的进程,进程名不能相同。但进程名也可以缺省。 敏感信号表中列出启动该进程的敏感信号。敏感表中任一信号发生变化,都会触发该进程,引起进程内部的顺序语句被执行。 if语句 if语句按其书写格式可分为以下3种。 (1)if 条件 then 语句序列; end if; (2) if 条件 then 语句序列; else 语句序列; end if; 例1:一个2选1的多路选择器的进程描述 MUX2_1:process(d0,d1,sel) begin if(sel=‘0’) then y=d0; else y=d1; end if; end process MUX2_1; (3) if 条件 then 语句序列; elsif 条件 then 语句序列; elsif 条件 then 语句序列; [.... else 语句序列;] end if; 例2:(P252页)异步清零1位十进制加法计数器。(实例演示) library ieee; use ieee.std_logic_1164.all; entity exam4_2 is port(clk,rst:in std_logic; y:out integer range 0 to 9; co:out std_logic); end exam4_2; 例3:用VHDL语言设计一个三态门。 case语句 CASE 表达式 IS WHEN 选择值1 = 顺序语句; ┇ WHEN 选择值n = 顺序语句; WHEN others =顺序语句; END CASE; 其中WHEN选择值可以有四种表达方式; (1)单个普通数值,形如WHEN 选择值 = 顺序语句; (2)并列数值,形如WHEN 值/值/值 = 顺序语句; (3)数值选择范围,形如WHEN 值TO值 = 顺序语句; (4)WHEN OTHERS = 顺序语句; 例4:用case语句设计一个四选1多路选择器。 课堂思考题 1、编写2位十进制加法计数器的VHDL源程序,并仿真验证设计结果。 提示:端口引脚信号为时钟脉冲clk,复位信号rst,计数满信号co,计数值q1(十位),q0(个位).2位十进制加法计数器的计数范围为0-99。可将计数结果分离为十位,个位,时钟脉冲上升沿到来时,计数开始。 若个位计满9,则 若十位计满9,则 个位、十位清0,计数满信号输出高电平的‘1’; 否则 个位清0,十位计数值加1,计数满输出‘0’; 否则 个位计数值加1,计数满输出‘0’; 结束。 2、编写8位二进制加法计数器的VHDL源程序,并仿真验证设计结果。 提示:设输入为时钟脉冲clk,复位信号rst,计数输出为y[7..0],计数满信号为co.8位二进制计数器的计数范围为 ~. 若计数值为,则 计数值清0,计数满信号输出高电平1. 否则 计数值加1,计数满信号输出高电平0 结束。 作业2 姓名: 学号: 1、分析下面的VHDL源程序,说明设计电路的功能。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity lx4_1 is port(a, b:in std_logic_vector(0 to 3); ?? gt,lt,eq:out std_logic); end lx4_1; architecture one of lx4_1 is begin ?? process(a,b) ?? begin ????? gt=0; ????? lt=0; ????? eq=0; ????? if(ab) then????? gt

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档