FPGA基础知识-层次建模的概念

这篇具有很好参考价值的文章主要介绍了FPGA基础知识-层次建模的概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

学习目标

学习内容

1.设计方法学

 2.设计实例

3.逻辑仿真实例

学习时间

总结


学习目标:

提示:这里可以添加学习目标

理解数字电路设计中自底向上和自顶向下的设计方法;

解释verilog中模块和模块实例之间的区别;

学习从4中不同的抽象角度来描述同一个模块;

解释仿真中的各个组成部分,定义激励块和功能块,说明两种激励进行仿真的方法。


学习内容:

提示:这里可以添加要学的内容

1.设计方法学

数字电路设计中两种基本的设计方法:自底向上和自顶向下的设计方法;

FPGA基础知识-层次建模的概念

FPGA基础知识-层次建模的概念

 2.设计实例

下面以四位脉动进位计数器为例:

图中的脉动进位计数器是由下降沿触发的T触发器组成的.每个T触发器可以由下降沿触发的D触发器和反相器构成(假设D触发器的Q_bar端不可用),如图所示。

FPGA基础知识-层次建模的概念

FPGA基础知识-层次建模的概念


 使用自顶向下的方法进行设计,首先需要说明脉动进位计数器的功能.在使用T触发器搭建起顶层模块之后,进一步使用D触发器和反相门来实现T触发器.这样我们就可以将较大的功能块分解为较小的功能块,直到无法继续分解.在自底向上的设计方法中,设计过程恰好与此相反:我们不断地使用较小的功能块来搭建大--些的模块.例如,在脉动进位计数器的例子中,我们首先使用与门和或门搭建D触发器,或者使用晶体管搭建一个自定义的D触发器,使自底向上和自顶向下的方法在D触发器这个层次上会合。

FPGA基础知识-层次建模的概念

 现在我们将层次建模的概念和 Verilog 联系起来。Verilog 使用模块( module〉的概念来代表一个基本的功能块。一个模块可以是一个元件,也可以是低层次模块的组合。常用的设计方法是使用元件构建在设计中多个地方使用的功能块,以便进行代码重用。模块通过接口(输入和输出)被高层的模块调用,但隐藏了内部的实现细节。这样就使得设计者可以方便地对某个模块进行觞改,而不影响设计的其他部分。

module<模块名>(<模块端口列表>);

<模块的内容>

endmodule

module T_FF(a, clock, reset) 

 使用Verilog既可以进行行为描述,同时也可以进行结构描述.根据设计需要,设计者在每个模块内部可以在4个抽象层次中进行描述,而模块对外显示的功能都是一样的,仅与外部环境有关,而与抽象层次无关。模块的内部结构对外部环境来讲是透明的。因此,对模块内部抽象层次的更改不会影响外部环境。本书将在后面的章节中对这些抽象层次分别进行叙述-这些抽象层次定义如下:

行为或算法级:Verilog所支持的最高抽象层次。设计者只注重其实现的算法,而不关心其具体的硬件实现细节。在这个层次上进行的设计与C语言编程非常类似。
·数据流级:通过说明数据的流程对模块进行描述。设计者关心的是数据如何在各个寄存器之间流动,以及如何处理这些数据。
·门级:从组成电路的逻辑门及其相互之间的互连关系的角度来设计模块。这个层次的设计类似于使用门级逻辑简图来完成设计。

Verilog 允许设计者在一个模块中混合使用多个抽象层次。在数字电路设计中,术语寄存器传输级(RTL)描述在很多情况下是指能够被逻辑综合工具接受的行为级和数据流级的混合描述。
假设一个设计中包含4个模块,Verilog 允许设计者使用4种不同的抽象层次对各个模块进行描述。在经过综合工具综合之后,综合结果一般都是门级结构的描述。

一般来说,抽象的层次越高,那么设计的灵活性和工艺无关性就越强;随着抽象层次的降低,灵活性和工艺无关性逐渐变差,微小的调整可能会导致对设计的多处修改。这就类似于使用C语言和汇编语言进行程序设计的对比。使用C这样的高级语言的好处是编码简单并且可移植性好;然而如果使用汇编语言,则需要针对特定的计算机,并且在移植到其他计算机上的时候可能会出现问题。

3.逻辑仿真实例

在设计完成之后,还必须对设计的正确性进行测试。我们可以对设计模块施加激励,通过检查其输出来检验功能的正确性。我们称完成测试功能的块为激励块。将激励块和设计块分开设计是一种良好的设计风格。激励块同样也可以用Verilog 来描述,而不必采用另外一种语言。激励块一般均称为测试台( test bench)。可以使用不同的测试台对设计块进行全面的测试。
激励块的设计有两种模式。一种模式是在激励块中调用(实例引用)并直接驱动设计块。顶层块为激励块,由它控制ck和reset信号,检查并显示输出信号q。

FPGA基础知识-层次建模的概念

另一种使用激励的模式是在一个虚拟的顶层模块中调用(实例引用)激励块和设计块。激励块和设计块之间通过接口进行交互,。激励块驱动信号d_clk和d_reset,这两个信号则连接到设计块的clk和reset输入端口。激励块同时检查和显示信号c_q,这个信号连接到设计块的输出端口q。顶层模块的作用只是调用(实例引用)设计块和激励块。 另一种使用激励的模式是在一个虚拟的顶层模块中调用(实例引用)激励块和设计块.激励块和设计块之间通过接口进行交互,如图2.7所示.激励块驱动信号d_clk和d_Reset,这两个信号则连接到设计块的clk和Reset输入端口。激励块同时检查和显示信号c_q,这个信号连接到设计块的输出端口_q.顶层模块的作用只是调用(实例引用)设计块和激励块.

学习时间:

提示:这里可以添加计划学习的时间

周一到周五7点到9点,


总结:

在本章中,我们讨论了下面的概念:
 用于数字电路设计的两种方法:自顶向下方法和自底向上方法,在当今的数字电路设计中,这两种方法经常组合使用。随着设计复杂性的增加,使用这些结构化的方法来进行设计管理变得越来越重要。
模块是 Verilog 中的基本功能单元。模块通过调用(实例引用)来使用,模块的每个实例都被惟一标识,以区别于同-模块的其他实例。每个实例都拥有其模板模块的不同副本。读者需要将模块和模块实例区别开来。
仿真有两个不同的组成部分:设计块和激励块,激励块用于测试设计块。激励块通常是顶层模块。对设计块施加激励有两种不同的模式。
以脉动进位计数器为例一步步地解释了为各个部分创建仿真的过程。并且理解 Verilog语言如何适应这个设计流程。关于Verilog语言的详细语法,在目前阶段并不重要,以后会详细讲解这些内容。文章来源地址https://www.toymoban.com/news/detail-481809.html

到了这里,关于FPGA基础知识-层次建模的概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c#多线程—基础概念到“双色球”项目实现(附知识点目录、代码、视频)

    总结:视频中对于多线程讲的非常透彻,从线程基础概念—.net不同版本出现的线程方法—多线程常出现问题—双色球项目实践,每个知识点都有代码实操,受益匪浅。附上学习笔记和实操代码。 视频 线程:程序执行的最小单位,任何操作都是由线程完成的,使用同步时,资

    2024年02月11日
    浏览(59)
  • 操作系统基础知识介绍之内存层次结构(一)

    传统上,内存层次结构的设计者专注于优化平均内存访问时间,这由缓存访问时间、未命中率和未命中惩罚决定。 然而,最近,功率已成为主要考虑因素。 在高端微处理器中,可能有 60 MiB 或更多的片上高速缓存,并且大型二级或三级高速缓存将消耗大量功率。 这个问题在

    2024年02月04日
    浏览(52)
  • 图论及其应用(基础知识)(1)(数学建模基础速成)

    能否从任一陆地出发通过每座桥恰好一次而 回到出发点? 你要是自己做过,就会显而易见的发现这道题是 没有答案 的(遵守规则以及图形规定的情况下) 欧拉就这个问题说过: 如果每块陆地所连接的桥都是 偶数 座,则从任一陆地出发,必能通过每座桥恰好一次而回到出

    2023年04月08日
    浏览(38)
  • [FPGA] 7系列FPGA的基础知识

    Virtex-7 Family是Xilinx公司推出的一系列FPGA器件,采用了28纳米工艺制造。它是Xilinx公司的第一个采用28纳米工艺的FPGA系列,提供了高性能、低功耗和灵活性的特点。 Virtex-7 Family提供了不同规模的器件,包括Virtex-7 XT、Virtex-7 HT、Virtex-7 H580T、Virtex-7 VXT和Virtex-7 VX系列,每个系列都

    2024年02月09日
    浏览(45)
  • FPGA基础知识

    FPGA是在PAL、PLA和CPLD等可编程器件的基础上进一步发展起来的一种更复杂的可编程逻辑器件。它是ASIC领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过

    2024年02月03日
    浏览(38)
  • 第一篇 FPGA基础知识

    FPGA的全称为Field-ProgrammableGateArray,即现场可编程门阵列。 在开始学习FPGA之前,同学们首先应该清楚地了解FPGA的概念,明白FPGA到底是什么东西,可以用来做什么。FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制

    2024年02月07日
    浏览(69)
  • 密码基础知识——密码的概念与作用

    密码是指采用 特定变换 的方法对 信息 等进行 加密保护、安全认证 的 技术、产品和服务 。 在我国,密码分为 核心密码、普通密码和商用密码 ,其中商用密码用于保护 不属于国家秘密 的信息。 从内容上看,密码技术包括密码编码、实现、协议、安全防护、分析破译,以

    2023年04月26日
    浏览(54)
  • FPGA基础知识点

    基础知识 逻辑值 逻辑0:表示低电平,也就是对应电路GND 逻辑1:表示高电平,也就是对应电路VCC 逻辑X:表示未知,有可能是高电平也有可能是低电平 逻辑Z:表示高阻态,外部没有激励信号,是一个悬空状态 数字进制格式 Verilog数字进制格式包括 二进制(b) , 八进制(

    2024年02月03日
    浏览(52)
  • FPGA基础知识-时序和延迟

    目录 学习目标: 学习内容: 1.延迟模型的类型 2.路径延迟建模 3.时序检查 4.延迟反标注 学习时间: 学习总结 提示:这里可以添加学习目标 ·鉴别Verilog 仿真中用到的延迟模型的类型,分布延迟、集总( lumped)延迟和引脚到引脚〔路径)的延迟。 能解释rise. fall和 turn-off延迟

    2024年02月09日
    浏览(40)
  • FPGA基础知识-模块和端口

    目录 学习目标 学习内容  端口 端口列表 端口声明 端口链接规则 学习时间 总结 1.说明Verilog 模块定义中的各个组成部分,例如模块名、端口列表、参数、变址声明、数据流描述语句、行为语句、调用(实例引用》其他模块以及任务和函数等。 2.说明verilog模块定义中的各个组

    2024年02月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包