- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7章VHDL基本语句与基本设计
第7章 VHDL基本语句与基本设计 VHDL基本语句与基本设计 7.1 顺序语句 7.1.1 赋值语句 7.1.2 IF语句 具有开关控制的IF语句 具有开关控制的IF语句举例 具有二选择控制的IF语句 用IF语句描述三态非门 具有多选择控制的IF语句 7.1.3 CASE语句 使用CASE语句注意事项 使用CASE语句注意事项 CASE语句中WHEN字句书写格式 CASE语句应用举例 7.1.4 LOOP语句 无限LOOP语句 FOR_LOOP语句 用FOR LOOP语句描述8位奇偶校验电路 WHILE_LOOP语句 用WHILE_LOOP语句描述8位奇偶校验电路 7.1.5 NEXT语句 NEXT语句举例 7.1.6 EXIT语句 EXIT语句举例 7.1.7 WAIT语句 1. WAIT ON语句 2. WAIT UNTIL语句 7.1.8 子程序调用语句 过程调用 函数调用 7.2 并行语句 7.3 VHDL组合逻辑电路设计 7.4 VHDL时序逻辑电路设计 函数调用与过程调用十分类似,不同之处是调用函数将返回一个指定类型的值,函数的参量只能是输入值。 函数调用的一般格式为: 函数名([参数名=]表达式{,[参数名=]表达式}); 并行信号赋值语句 进程语句 并行过程调用语句 元器件例化语句 生成语句 */38 7.2.1 并行信号赋值语句 三种并行信号赋值: 简单信号赋值 条件信号赋值 选择信号赋值 */38 1. 并行简单信号赋值语句 */38 2. 条件信号赋值语句 */38 用when-else语句描述2选一的MUX entity mux2to1 is port(a,b:in bit; sel:in bit; y:out bit); end mux2to1; architecture one of mux2to1 is begin y=b when sel=1 else a; end one; 信号定义成比特类型,可取0和1。 如果把=‘1’去掉,结果如何? */38 用when-else语句描述4选1的MUX entity mux4to1 is port(a,b,c,d:in bit; sel1,sel0:in bit; y:out bit); end mux4to1; architecture one of mux4to1 is begin y=a when (sel1=0) and (sel0=0) else b when (sel1=0) and (sel0=1) else c when (sel1=1) and (sel0=0) else d; end one; 问题:如果00时选a,01时选b,10和11时都选c,怎么办? y=a when (sel1=0) and (sel0=0) else b when (sel1=0) and (sel0=1) else c when (sel1=‘1’) and (sel0=‘0’) else d; */38 3. 选择信号赋值语句 */38 问题:如果00时选a,01时选b,10和11时都选c,怎么办? architecture one of mux4to1 is signal sel:bit_vector(1 downto 0); begin sel(1)=sel1; sel(0)=sel0; with sel select y=a when 00, b when 01, c when others; end one; entity mux4to1 is port(a,b,c:in bit; sel1,sel0:in bit; y:out bit); end mux4to1; 注意:when others包含那些未被列出的可能。 */38 如果信号类型换成STD_LOGIC library ieee; use ieee.std_logic_1164.all; entity mux4to1 is port(a,b,c:in std_logic; sel1,sel0:in std_logic; y:out std_logic); end mux4to1; architecture one of mux4to1 is signal sel:std_logic_vector(1 downto 0); begin sel(1)
文档评论(0)