当前位置: 首页 > news >正文

呼和浩特 的网站建设生态农业网站建设方案

呼和浩特 的网站建设,生态农业网站建设方案,北京高端企业网站建设,windows优化大师官方免费下载在verilog 中可以实现的数字电路主要分为两类----组合逻辑电路和时序逻辑电路。组合逻辑电路比较简单#xff0c;仅由基本逻辑门组成---如与门、或门和非门等。当电路的输入发生变化时#xff0c;输出几乎#xff08;信号在电路中传递时会有一小段延迟#xff09;立即就发生…在verilog 中可以实现的数字电路主要分为两类----组合逻辑电路和时序逻辑电路。组合逻辑电路比较简单仅由基本逻辑门组成---如与门、或门和非门等。当电路的输入发生变化时输出几乎信号在电路中传递时会有一小段延迟立即就发生变化。相反时序逻辑电路使用时钟且必须要触发器等存储元件所以其输出变化与电路时钟同步不是即时变化的。这篇文章将讨论如何使用 assign 关键字在 verilog 中实现连续赋值continuous assignment以及使用连续赋值语句实现基本逻辑门和多路选择器。1、Verilog 中的连续赋值Continuous Assignment设计者可以使用连续赋值语句将数据驱动到设计中的net类型中。因此连续赋值语句经常被用来实现组合逻辑电路。实际上可以使用两种不同的方法在verilog中实现连续赋值。第一个被称为显式explicit连续赋值这是verilog中最常用的连续赋值方法此外还可以使用隐式implicit连续赋值或者叫net声明赋值。这种方法不太常见但它要写的代码更少。1.1、显式连续赋值Explicit Continuous Assignment使用assign关键字进行连续赋值的方法被称为显式连续赋值。下面的 verilog 代码展示了使用 assign 关键字进行连续赋值的一般语法。assign variable value;variable 是要为其分配数据的信号的名称只能使用连续赋值的方式来给net类型的变量赋值。value 可以是一个固定值或者是某个表达式在此表达式中可以使用变量或net类型。使用连续赋值时只要 value 中的一个信号改变状态variable 值就会立即发生改变。下面的代码片段展示了一个最基本的 verilog 连续赋值示例。在该示例中只要 b 信号改变状态a 的值就会立即更新使其等于 b。assign a b;1.2、线网声明赋值Net Declaration Assignment设计者还可以在 verilog 设计中使用隐式连续赋值这种方法通常也被称为线网net声明赋值。使用线网声明赋值时只需要在声明信号的语句中写一条连续赋值语句这可以减少代码行数。在 verilog 中使用线网声明赋值时需要在声明信号时使用 符号为信号赋值。下面的代码片段展示了线网声明赋值的一般语法。type variable value;variable和value使用方法与显式连续赋值中一致。下面的 verilog 代码展示了如何使用线网声明赋值将 b 的值赋给信号 a。wire a b;2、 在Verilog 中实现组合逻辑电路使用连续赋值语句和运算符即可实现基本的组合逻辑电路。下图是一个3输入与门的示例为了在 verilog 中实现该电路可以使用 assign 关键字将数据驱动到 and_out 输出。这意味着 and_out 信号必须声明为net线网类型例如wire 然后可以使用按位与运算符 () 来实现基本的与门。下面的代码片段展示了如何实现这个3输入与门。assign and_out a b c;这个例子展示了在 verilog 中设计基本的组合逻辑电路是多么的简单。如果设计者需要更改逻辑门的功能只需要使用不同的verilog运算符即可。又或者设计者需要构建更复杂的组合逻辑电路那么也可以混合使用不同的位运算符。为了证明这一点将以下面的电路作为示例。要在 verilog 中实现电路需要混合使用按位与 () 运算符 和 按位或 | 运算符。下面的代码片段展示了如何在 verilog 中实现这一点。assign logic_out (a b) | c;这段代码同样不难理解。但是设计者需要确保使用了括号来实现复杂的逻辑电路。这不仅可以确保电路正常运行还可以让代码更易于阅读和维护。2.1、在 Verilog 中实现多路选择器Multiplexors多路选择器是组合逻辑电路中一个常用的组件。在 verilog 中设计者可以通过多种方式实现这些组件其中一种方法使用称为always块always block的结构此语法通常被用来实现时序逻辑电路但同时也可以实现组合逻辑电路。2.1.1、Verilog 条件运算符verilog中有一个与C语言等编程语言类似功能的条件运算符。要使用条件运算符需要在 ? 表达式前写一个逻辑表达式然后判断它是真还是假。根据表达式的真假将两个值中的某一个赋值给输出。下面的 verilog 代码展示了条件运算符使用的一般语法。output expression ? value if true : value if false;接下来看一个简单的 2选1的多路选择器的例子如下面的电路图所示。下面的代码片段清楚地展示了如何使用条件运算符在 verilog 中实现上图中的多路选择器。assign q addr ? b : a;2.1.2、嵌套的条件运算符Nested Conditional Operators虽然这并不常见但设计者也可以使用嵌套的条件运算符Nested Conditional Operators来编写代码以实现更大的多路选择器。接下来将以一个4选1多路选择器为例进行说明如下图电路所示。为了使用条件运算符在 verilog 中实现此电路可以将该多路选择器视为一对2选1的多路选择器。这意味着其中一个多路选择器将在输入 A 和 B 之间进行选择而另一个多路选择器则在输入 C 和 D 之间进行选择。这两个多路选择器都使用地址信号的 LSB 作为地址引脚。assign mux1 addr[0] ? b : a; assign mux2 addr[0] ? d : c;要实现完整的4选1多路选择器还需要另一个多路选择器。这个多路选择器将前两个多路选择器的输出作为输入并使用地址信号的 MSB 在它们之间进行选择。下面的代码片段展示了实现该功能的方法。assign q addr[1] ? mux2 : mux1;此代码使用了在上一个示例中定义的信号 mux1 和 mux2但其实设计者也可以从此代码中删除 mux1 和 mux2 信号作为替代使用嵌套的条件运算符这可以有效地减少代码行数。下面的代码片段展示了如何做到这一点。assign q addr[1] ? (addr[0] ? d : c) : (addr[0] ? b : a);从这个例子也可以看出使用条件运算符在 verilog 中实现多路选择器时代码会变得难以阅读和理解。因此设计者最好只使用这种方法来实现小型的多路选择器。2.1.3、用数组Arrays作为多路选择器设计者也可以使用verilog中的数组来构建简单的多路选择器。为此可以将所有多路选择器的输入组合成一个数组并使用地址指向数组中的元素。为了更好地了解它是如何在实践中运用的仍然以一个4选1的多路选择器为例。首先需要将输入信号组合成一个数组有两种方式可以做到这一点。第一种先声明一个数组然后给数组中的每一位赋值如下面的 verilog 代码所示。assign in_vec[0] a; assign in_vec[1] b; assign in_vec[2] c; assign in_vec[3] d;第二种可以使用verilog中的拼接运算符 { }这样就可以在一行代码中对整个数组赋值----使用一对花括号 { } 并在其中列出希望包含在数组中的所有元素。在使用拼接运算符时如果是使用的net类型那么也可以在一条语句中声明和赋值。下面的 verilog 代码展示了如何使用拼接运算符来对数组赋值。assign in_vec {d, c, b, a}; //赋值 wire [3:0] in_vec {d, c, b, a}; //声明赋值由于 verilog 是一种弱类型Loosely Typed Language语言所以也可以使用两位地址信号就好像它是一个integer类型一样然后该信号将被用作确定选择4个元素中的哪一个的指针。下面的代码片段展示了如何实现这种方法。由于多路选择器的输出是wire类型所以必须在这种情况下使用连续赋值。assign mux_out in_vec[addr];您有任何问题都可以在评论区和我交流本文由 孤独的单刀 原创首发于CSDN平台博客主页wuzhikai.blog.csdn.net您的支持是我持续创作的最大动力如果本文对您有帮助还请多多点赞、评论和收藏⭐
http://www.hkea.cn/news/14271751/

相关文章:

  • 做100个垂直网站西安引流推广公司
  • 网站如何做seo推广中国建设银行招聘网站报名系统
  • 竞价单页 网站洛谷网站中小玉文具怎么做
  • 联合建设官方网站公司网站建设须知
  • 中国产品网免费网站什么是门户
  • 为该网站做自适应利用微博做网站排名
  • 网站首页设计公司东莞建设造价信息网站
  • 电商网站开发要哪些技术东莞网站优化有哪些
  • 嘉兴互联网公司常州百度推广优化
  • 企业建站设计商品展示网站模板
  • 杜桥做网站哪家好seo网站基础建设
  • 中牟县建设局网站重庆新闻app下载
  • 做招聘网站价格龙之向导免费网站
  • 百度云搜索资源入口成都百度网站排名优化
  • 做网站 你的出路在哪里电商网站开发平台
  • wordpress 自动连接企业网站推广优化
  • 学做美食去哪个网站好城乡建设规划网站
  • wordpress 是否登录菏泽seo
  • 凯里市企业建站公司闪灵企业建站系统
  • 乐清微网站建设dedeampz 部署wordpress 网站访问慢
  • 个人政务公开网站建设工作总结云南网站建设哪家权威
  • 网站防采集门户网站建设困难
  • 杭州网络公司网站龙岗网站建设推广报价
  • 建设银行网站怎么开通手机短信网站开发好要租服务器吗
  • 网页设计论文答辩问题企业排名优化公司
  • 宝安区做外贸网站的公司成品网站建设哪家好
  • 网站品牌推广设计佛山网站建设公司3lue
  • 销售网站页面特点自己做的小说网站要交税吗
  • ru后缀的网站网站的建设
  • 网站 迁移外贸网络营销的优势