FPGA基础知识-开关级建模

news2024/9/22 17:34:10

目录

学习目标

学习内容

1.MOS开关

2.CMOS开关

3.双向开关

 4.电源和地

5.阻抗开关

6.开关中的延迟说明

学习时间

学习总结


学习目标:

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

1.能够描述基本 MOS开关:nmos.pmos和cmos。

2.理解双向传输开关、电源和地的建模方法。

3.识别阻抗MOS开关。

4.解释在基本MOS 开关和双向传输开关上说明延迟的方法。

5.在Verilog 中,用所提供的开关建立基本开关级电路。


学习内容:

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

1.MOS开关

      Verilog 提供了各种语言结构,可以为开关级电路建立模型,MOS晶体管级数字电路可以用这些最基本的电路模型元件'来描述,

  可以用关键字定义nmos和pmos晶体管建模,关键字pmos用于pmos建模,

   信号out的值由信号data和control的值确定。out的逻辑值如表11.1所示。信号data和control的不同组合导致这两个开关输出1,0或者z或x、逻辑值(如果不能确定输出为1或0,就有可能输出z值或×值)。符号L代表О或z、H代表1或z。

2.CMOS开关

      信号ncontrol和pcontrol通常是互补的。当信号ncontrol为1且pcontrol信号为О时,开关导通。如果信号ncontrol为0且pcontrol为1、则开关的输出为高阻值。CMOS门本质上是两个开关(NMOS和 PMOS )的组合体。

    因为CMOS开关由NMOS 和 PMOS开关派生而来,所以给定data,ncontrol和 pcontrol 的信号值就可以根据表111推断出CMOS开关的输出值。

3.双向开关

    NMOS.PMOS 和 CMOS门都是从漏极向源极导通,是单向的。在数字电路中,双向导通的器件很重要。对双向导通的器件而言,其两边的信号都可以是驱动信号。通过设计双向开关就可以实现双向导通的器件。有三个关键字用来定义双向开关:tran,tranif0和tranif1,

 4.电源和地

 设计晶体管级电路时需要源极( Vdd,逻辑1)和地极(Vss,逻辑О)。源极和地极用关键字supply1和 supplyo来定义。

    源极类型 supply1相当于电路中的Vdd,并将逻辑Ⅰ放在网表中。源极类型supply0相当于地或Vss,并将逻辑О放在网表中。在整个模拟过程中,supply1和 supplyO始终为网表提供逻辑1值和逻辑О值

5.阻抗开关

    前面所讨论的MOS,CMOS 和双向开关可以用相应的阻抗器件建模。阻抗开关比一-般的开关具有更高的源极到漏极的阻抗,且在通过它们传输时减少了信号强度。在相应的一般开关关键字前加带r前缀的关键字,即可声明阻抗开关。阻抗开关与一般开关的语法类似。

     在一般开关和阻抗开关之间有两个主要区别:源极到漏极的阻抗和传输信号强度的方式。关于Verilog 中的强度级。

     阻抗器件具有较高的源极到漏极阻抗。一般开关的面极到漏极阻抗较低。

     阻抗开关在传递信号时减少了信号强度,其变化如下所示。一般开关从输入到输出一直保持强度级别不变。有一点例外,如果输入supply强度、则输出strong 强度。表11.2显示出由于阻抗开关导致的强度缩减。

6.开关中的延迟说明

      可以为通过这些开关级元件的信号指定延迟。延迟是可选项,它只能紧跟在开关的关键字之后。延迟说明类似于之前中讨论的Rise,Fall和Turn-off延迟。可以为开关指定0个、1个、2个或者3个延迟,所示。

     

     specify块: 也可以给使用开关设计的模块指定路径延迟(引脚到引脚的延迟〉以及时序检查。用specify块可以描述路径延迟。在之后中详细讨论了路径延迟说明、它在开关级模型中也完全适用。

学习时间:

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

20230618


学习总结:

提示:这里统计学习计划的总量

1.开关级建模处于很低的设计抽象层次。只在很少的情况下,比如在设计者需要定制自己的叶级元件(即最基本的元件)时,才使用开关级建模。随着电路复杂度的增加,这个级别的Verilog 设计越来越少见; 

2.MOS,CMOS,双向1.关和supply1,supplyO源可用于设计任意的开关级电路。CMOS开关是MOS开关的一种组合;

3.延迟对开关元件来说是可选的。对于不同的双向器件,有不同的延迟解释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webpack配置preload和prefetch预加载技术

我们前面已经做了代码分割,同时会使用 import 动态导入语法来进行代码按需加载(我们也叫懒加载,比如路由懒加载就是这样实现的)。 但是加载速度还不够好,比如:是用户点击按钮时才加载这个资源的&#xff0…

【第二次】21级计科计算机组成原理课外练习

【第二次】21级计科计算机组成原理课外练习 一、单选题二、填空题 一、单选题 2-1 设计算机字长 8位,设x -10, [x]补 为 ( ) A.F0H B.E6H C.FAH D.F6H 2-2 对字长为8位的二进制代码10110110,下列说法错误的是()。 A.如果代码为…

主流通信协议详解、二进制协议和文本协议的区别和使用场景

二进制协议和文本协议的特征和使用场景 二进制协议和文本协议具有不同的特征和适用场景: 二进制协议的特征: 数据表示:使用二进制编码来表示数据,以字节为单位进行传输。效率:由于数据以原始二进制形式传输&#xff…

年龄越来越大,技术人究竟该往哪个方向提升?(很多人都有这个困惑)

【1】 有位匿名朋友,在星球中提问: 想咨询一下沟通交流能力应该如何培养。平时遇到问题话到嘴边不会说,或者说出来的和开始想的不一致,请沈总赐教。 分享下自己的实践: 首先,充分准备。 我在和老板&#xf…

Linux ACL访问控制

文章目录 1、场景2、ACL权限设置1) ACL权限管理命令2) 给用户和用户组添加ACL权限3) 最大有效权限mask4) 默认ACL权限和递归ACL权限5) 删除ACL权限 1、场景 在普通权限中,用户对文件只有三种身份,就是属主、属组和其他人;每种用户身份拥有读…

实验篇(7.2) 14. 站对站安全隧道 - 多条隧道冗余(FortiGate-IPsec) ❀ 远程访问

【简介】IPsec VPN虽然价廉物美,但是由运营商原因,偶尔出现不稳定情况,例如访问慢甚至断开等,好在现在大多数企业都有二条甚至更多条宽带,我们可以创建多条IPsec VPN,来保证不间断访问。 实验要求与环境 Ol…

线性搜索算法-数据结构和算法教程

线性搜索被定义为一种顺序搜索算法,它从一端开始,遍历列表的每个元素,直到找到所需的元素,否则搜索继续到数据集的末尾。 线性搜索算法是如何工作的? 在线性搜索算法中, 每个元素都被认为是键的潜在匹配…

回归预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM多输入单输出回归预测

回归预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM多输入单输出回归预测 目录 回归预测 | MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM多输入单输出回归预测效果一览基本描述模型描述程序设计参考资料 效果一览 基本描述 1.Matlab实现QPSO-LSTM、PSO-LSTM和LSTM神经网络时间序…

事件循环(字数不足凑字)

浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程。 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。 即使崩溃也互不影响。 何为线程&…

12. python从入门到精通——文件及目录操作

目录 基本文件操作 创建和打开文件:open()函数 关闭文件:可以不关闭文件因为有垃圾回收功能 打开文件时使用with语句:不需要自己关闭文件,可以自己关闭 写入文件内容 file.write方法 file.writelines方法:可以向文件中写入字符串列表,…

MyBatis插件开发——解析和记录输出完整的SQL语句

实现功能 自定义MyBatis插件,该插件实现当MyBatis执行SQL发生异常时输出错误原因,SQL参数以及完整的SQL语句。在日常的开发中我们可以通过mybatis配置设置是否输出SQL,但是对于正常运行的SQL全部输出出来日志量过大,所以这里实现…

使用VScode + clangd 阅读 c/c++ 源码环境搭建

使用Vscode clangd 阅读c/c源码 一、需求 在嵌入式软件开发的工作中,我们常常需要分析C/C代码,比如linux kernel 的代码,而公司的代码一般都会存放在服务器中,服务器一般是linux,且无法联网,我们只能通过…

C++智能指针-保姆级讲解带你一文搞懂智能指针(附核心代码实现+讲解)

C智能指针 1.引言1.1 为什么会出现智能指针1.2内存泄漏1.2.1 什么是内存泄漏,内存泄漏的危害1.2.2 内存泄漏分类1.2.3如何检测内存泄漏1.2.4如何避免内存泄漏 2. 智能指针的使用及原理3.常见智能指针3.1std::auto_ptr3.2std::unique_ptr3.3std::share_ptr 1.引言 1…

【雕爷学编程】Arduino动手做(116)---五向导航按键模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

Axure教程—环形进度条

本文将教大家如何用AXURE制作环形进度条 一、效果 预览地址:https://mmfwgo.axshare.com 二、功能 (1)、点击“开始”按钮,环形进度开始执行,“开始”按钮转换为“暂停”按钮 (2)点击“重置”按…

delphi的ARM架构支持与System.Win.WinRT库

delphi的ARM架构支持与System.Win.WinRT库 目录 delphi的ARM架构支持与System.Win.WinRT库 一、WinRT 二、delphi的System.Win.WinRT库 2.1、支持ARM芯片指令 2.2、基于WinRT技术的特点 2.3、所以使用默认库而未经转化的服务端应用并不支持ARM架构服务器 2.4、对默认库…

自学网安遇到问题了该怎么解决

自学网络安全很容易学着学着就迷茫了,找到源头问题,解决它就可以了,所以首先咱们聊聊,学习网络安全方向通常会有哪些问题,看到后面有惊喜哦 1、打基础时间太长 学基础花费很长时间,光语言都有几门&#xf…

计算机程序设计的艺术--第一卷--第一章(1)

1 BASIC CONCEPT 1.1 algorithm algorithm 是所有计算机编程的本质,我们要仔仔细细的追溯一下这个概念是怎么来的。 algorithm 这个词,非常有意思,乍一看,好像是要写 logarithm,写错了,写成了 algorithm…

QTYX量化系统实战案例分享|均线多头排列惯性突破前高-202306第五弹

前言 “实战案例分享系列”是和大家分享一些股票量化分析工具QTYX在实战中的应用案例(包括失败的案例),这样能够帮助大家更好地去理解QTYX中的功能设计,也能更好地帮助大家搭建出属于自己的量化交易系统。 关于QTYX的使用攻略可以…

Java Spark 操作 Apache Kudu

一、Apache Kudu Apache Kudu是一种列式分布式存储引擎,它的设计目标是支持快速分析和高吞吐量的数据访问,同时也能够支持低延迟、实时查询和更新操作。它被称为Hadoop生态系统的新一代存储层,能够与Apache Spark、Apache Impala、Apache Hiv…