- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6讲 VHDL语言顺序描述语句
第 7 讲 VHDL语言语言顺序描述语句 电子设计自动化技术 VHDL主要描述语句 并行处理语句 顺序处理语句 在结构体(ARCHITECTURE)中 执行的语句 在进程(PROCESS) 函数(FUNCTION) 过程(PROCEDURE) 中执行的语句 硬件描述的特点 高级语言的特点 VHDL顺序语句 顺序语句只能出现在进程(Process)、函数(Function)和过程(Procedure)中; 顺序语句像高级计算机语言一样,按其出现的先后顺序依次执行; 用来描述复杂的逻辑关系及逻辑运算。 常用的顺序处理语句有: 信号代入语句 变量赋值语句 CASE语句 IF语句 LOOP语句 VHDL顺序语句 1、信号代入语句 格式: 目的信号量=信号量表达式; 目的信号量=信号量表达式 AFTER N ns; 注意: 信号代入语句和关系操作符相同“=”,但其使用位置不一样,应根据上下文加以判断; 信号代入语句两边信号量的数据类型及位长度必须一致。 延时只在仿真时起作用,逻辑综合时被忽略。 信号赋值不是立即发生,而是在进程结束时。 VHDL顺序语句 例: architecture abc of example is signal c :STD_LOGIC; begin PROCESS(a,b) begin c=a and b after 10 ns; a=‘1’; b=‘1’; b=‘0’; out=c; end process; end abc; 注意信号定义的位置 VHDL顺序语句 2、变量代入语句 格式: 变量:=表达式; 注意: 变量是局部量,只能在所定义的进程、过程、和函数中使用。 变量赋值是立即发生,不能加延时。 在进程中描述逻辑关系及算法时最好使用变量,以避免出错。 进程结束时,变量的结果只能由信号带出。 VHDL顺序语句 例: architecture abc of example is begin PROCESS(a,b) variable tmp:std_logic; begin tmp:=a and b; out=tmp; end process; end abc; 注意变量定义的位置 VHDL顺序语句 3、CASE语句 格式: Case 表达式 Is WHEN 选择值 =顺序处理语句; …… WHEN 选择值 =顺序处理语句; WHEN OTHERS =顺序处理语句; End case; 注意: CASE语句至少包含一个条件句; CASE语句中条件表达式的值必须列举穷尽,但不能重复; 无法穷举,用OTHERS表达。 例: 四选一数据选择器 architecture abc of example is signal sel:std_logic_vector(1 downto 0); begin sel=b a; process(sel) begin case sel is when “00” = f=i0; when “01” = f=i1; when “10” = f=i2; when “11” = f=i3; when others = null; end case; end process; end abc; 为什么还要others ? VHDL顺序语句 例: signal sel:integer range 0 to 20 ; …… process(sel) begin case sel is when 0 = C=1; when 11/12/15 = C=2; when 1 TO 9 = C=3; when others = C=4; end case; end process; …… VHDL顺序语句 单个普通值 并列数值 数值选择范围 其他所有 条件选择值的4种表达方式 VHDL顺序语句 4、IF语句 格式1: IF 条件 THEN 顺序处理语句; END IF; 格式2: IF 条件 THEN 顺序处理语句; ELSE 顺序处理语句; END IF; 格式3: IF 条件1 THEN 顺序处理语句; ELSIF 条件2 THEN 顺序处理语句; …… ELSE 顺序处理
文档评论(0)