- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
EDA 技术实用教程 第 6 章 VHDL设计进阶 6.1 数据对象 6.2 双向和三态电路信号赋值例解 6.3 IF语句概述 6.4 进程语句归纳 6.6 仿真延时 习 题 习 题 习 题 习 题 实 验 与 设 计 实 验 与 设 计 实 验 与 设 计 实 验 与 设 计 实 验 与 设 计 实 验 与 设 计 实 验 与 设 计 实 验 与 设 计 实 验 与 设 计 6-3. 数控分频器的设计 (1) 实验目的:学习数控分频器的设计、分析和测试方法。 (2) 实验原理:数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如例6-20所示。 (3) 分析:根据图6-21的波形提示,分析例6-20中的各语句功能、设计原理及逻辑功能,详述进程P_REG和P_DIV的作用,并画出该程序的RTL电路图。 图6-21 当给出不同输入值D时,FOUT输出不同频率(CLK周期=50ns) 6.2.2 双向端口设计 例6-12错误的综合结果图(Synplify综合), 有三个输入端悬空 6.2 双向和三态电路信号赋值例解 【例6-13】 (注:MaxplusII不支持本例)正确的三态总线电路设计 library ieee; use ieee.std_logic_1164.all; entity tri2 is port (ctl : in std_logic_vector(1 downto 0); datain1, datain2,datain3, datain4 : in std_logic_vector(7 downto 0); q : out std_logic_vector(7 downto 0) ); end tri2; architecture body_tri of tri2 is begin q = datain1 when ctl=00 else (others =Z) ; q = datain2 when ctl=01 else (others =Z) ; q = datain3 when ctl=10 else (others =Z) ; q = datain4 when ctl=11 else (others =Z) ; end body_tri; 6.2 双向和三态电路信号赋值例解 6.2.3 三态总线电路设计 6.2.2 双向端口设计 例6-13正确的综合结果图(Synplify综合) (1) IF 条件句 Then 顺序语句 END IF ; (2) IF 条件句 Then 顺序语句 ELSE 顺序语句 END IF ; (3) IF 条件句 Then IF 条件句 Then ... END IF END IF (4) IF 条件句 Then 顺序语句 ELSIF 条件句 Then 顺序语句 ... ELSE 顺序语句 END IF 【例6-14】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY control_stmts IS PORT (a, b, c: IN BOOLEAN; output: OUT BOOLEAN); END control_stmts; ARCHITECTURE example OF control_stmts IS BEGIN PROCESS (a, b, c) VARIABLE n: BOOLEAN; BEGIN IF a THEN n := b; ELSE n := c; END IF; output = n; END PROCESS; END example; 6.3 IF语句概述 输 入 输 出 din0 din1 din2 din3 din4 din5 din6 din7 output0 output1 output2 x x x x x x x
文档评论(0)