清华课件EDA技术与FPGA设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
清华课件EDA技术与FPGA设计

* * * * * * 模块化:上图中,顶层文件描述的实体A由B、C、D三个实体组成,而实体B和实体C又分别由实体E、F和F、G组成。 每个实体都可以看成上一层实体中的一个模块或元件,系统就这样一层一层的构建。 元件复用则是指同一个元件可以被不同设计实体调用,又可以被同一个设计实体多次条用。 如上图中的实体F分别被实体B和C调用,而实体G则被实体C调用了两次。 * * * * * * * * * * * * * 宏功能模块评估(Opencore_plus):允许用户对进行仿真、生成有时限的编程文件,在决定购买之前使用这些文件,进行板级设计验证。 * 所谓带参数主要是指计数器、加法器的长度,例如我们可以指定加法器的长度是8,16,?等。 * * * * * 简单提一下即可,不用详细说明 * * * All表示本设计实体可以引用此程序包的所有资源。 只介绍如何引用已有的库/包,不涉及自定义包 * * * * * 变量、常量都与软件语言类似。 需要注意的是信号对象是为了描述硬件特有的性质而引入的。 * 进程在后面详细介绍。 信号最重要的一个特点是对其赋值不能立即得到结果,这是软件设计中没有的情况。 另外,在很多设计中,信号需要对其值进行保留,这在综合的时候会被认为是以寄存器的方式实现。 信号还具有其它一下属性,这里不再详细介绍,可以自行阅读VHDL参考书。 * * * * 只有4种状态是可综合的,但其它状态对行为仿真是有意义的 * * * * * * * 层次化设计的核心思想 模块化 将系统分为几个子模块 子模块又分别由更小的模块组成 元件复用 调用已有的设计 优点 减轻设计者工作量 增强设计的结构化 * 元件复用-元件声明 作用 声明要引用的元件(一般在Architecture中) 定义了一个元件模板(C中的一个类) 格式 component 元件模型名 [generic (参数名表: 类型; …);] port (端口表: [in]/out 类型; …); end component; * 元件复用-元件例化语句 作用 调用元件模块,生成实例(C中定一个类的实例) 指定元件模板与实际信号的关联 格式 语句标号: 元件模板名 generic map (参数关联信息) -– 可以省略 port map (端口关联信息); 注意事项 语句标号为实际元件名(类实例的变量名) 元件模板的名称和端口名最好与已有设计相一致 * 一位全加器设计实例 半加器h_adder电路图 全加器f_adder电路图 * 一位全加器-或门描述 描述或门的逻辑关系 library ieee; use ieee.std_logic_1164.all; entity or2a is port (a, b: in std_logic; c: out std_logic ); end entity; architecture one of or2a is begin c = a or b; end architecture one; * 一位全加器-一位半加器描述 描述一位半加器的逻辑关系 architecture beh of or2a is begin so = not (a xor (not b)); co = a and b; end architecture beh; library ieee; use ieee.std_logic_1164.all; entity h_adder is port (a, b: in std_logic; co, so: out std_logic ); end entity; * 一位全加器-全加器描述和例化 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; 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

您可能关注的文档

文档评论(0)

mmrs369 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档