Verilog HDL中的数字进制(Verilog数字表示方法&&X/Y态解析)

这篇具有很好参考价值的文章主要介绍了Verilog HDL中的数字进制(Verilog数字表示方法&&X/Y态解析)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.数字表示方式

在Verilog中的数字表示方式,最常用的格式是:
<位宽>'<基数><常量>,如4’b1011

位宽:描述常量所含位数的十进制整数。注意,位宽是将进制转化为二进制之后的位数。(如4’d10,表示十进制的10,转换为二进制就是4’b1010,其常量的二进制是4位)
例如4’b1011中的4就是位宽,通俗理解就是4根线。如果没有位宽这一项可以通过常量的值进行推断;例如’b1011可知位宽是4,而’b10010可知位宽为5。

基数:表示常量为什么进制。可以是二进制(b/B)、十进制(d/D)、八进制(o/O)、十六进制(h/H)。如果没有此项,则缺省默认为十进制。例如二进制的4’b1011,可以写成十进制的4’d11,可以写成十六进制的4’hb,可以写成八进制的4’o13,也可以不写基数直接写成11。

常量:由基数决定的一串ASCII码。如果基数为B/b,其常量每一位数值可以为0/1/x/z;如果基数为o/O,其常量每一位数值可以为0-7;如果基数为h/H,其常量每一位数值可以为0-9或a-f;如果基数为d/D,其常量每一位数值可以为0-9。

举例
4’b12 //错误,二进制每一位只能为0/1/x/z
32’h12 //等同于32’h00000012,即数值未写完整时,高位补0。(32位二进制转换为十六进制就是8位)
4’b1000100 //此时后面常量的位数已经超过了位宽,此时相当于4’b0100,也就是说当常量位数超过位宽时,从后向前保留。

2.不定态&&高阻态

2.1 不定态(X态)

X态,又名不定态,其常用于判断条件,主要目的就是告诉设计者不关心它的电平是多少,是0还是1都可以。

举例: if (din == 4’b10x0)
上述例子可以看出判断条件是din==4’b10x0,该条件等价于din== 4’b1010||din== 4’b1000

注:在自己设计的过程中,不建议使用不定态,容易给自己徒增麻烦。

2.2 高阻态(Z态)

Z态,又名高阻态,表示设计者不驱动这个信号(既不给0又不给1 ),通常用于三态门接口当中。

如下图为三态总线的应用案例,图中的连接总线对于CPU和FPGA来说既为输入又为输出,是双向接口。一般的硬件电路会将该线接上一个上拉电阻(弱上拉)或下拉电阻(弱下拉)。
当CPU和FPGA都不驱动该总线时,A点保持为高电平;当FPGA不驱动该总线而CPU驱动该总线时,A点的值就由CPU决定;当CPU不驱动该总线而FPGA驱动该总线时,A点的值就由FPGA决定。但FPGA和CPU不能同时驱动该总线,否则A点的电平就不确定了,通常FPGA和CPU何时驱动总线是按照事先协商的协议进行工作的。
Verilog HDL中的数字进制(Verilog数字表示方法&&X/Y态解析)

而FPGA在设计中可以做到“不驱动”这一行为,就是因为其内部存有三态门,其结构如下图所示:
Verilog HDL中的数字进制(Verilog数字表示方法&&X/Y态解析)
三态门是一个硬件,上图是它的典型结构。三态门有四个接口,如上图所示的写使能wr_en、写数据wr_data、读数据rd_data、与外面器件相连的三态信号data。
需要注意的是写使能信号,当该信号有效时三态门会将wr_data的值赋给三态线data,此时data的值由wr_data决定,即当wr_data为0时data值为0,当wr_data为1时data值为1。而当写使能信号无效时,则无论wr_data 的值是多少都不会对外面的data的值产生影响,也就是不驱动。

在Verilog中以上功能通过如下的代码实现:

assign data = (wr_en==1)?wr_data:1'bz;
assign rd_data = data;

注:在FPGA设计的过程中同样不建议使用高阻态,会徒增麻烦。

Tip:如果您在阅读的过程中发现任何的问题,欢迎前来指正!!文章来源地址https://www.toymoban.com/news/detail-501504.html

到了这里,关于Verilog HDL中的数字进制(Verilog数字表示方法&&X/Y态解析)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • [蔡觉平老师主讲] Verilog HDL数字集成电路设计原理与应用

    硬件描述语言,Hardware Description Language (HDL)。利用HDL,可以根据电路结构的特点,采用层次化的设计结构,将抽象的逻辑功能用电路的方式进行实现。之后通过EDA(电子设计自动化)工具,可以将HDL程序综合成网表,通过自动布线工具把网表转换为具体电路布线结构,用于

    2024年04月12日
    浏览(44)
  • FPGA实验报告 Verilog HDL:7人表决器 巴克码信号发生器 FPGA数字时钟

    写在前面:本文提供以下三个任务的思路讲解和代码实现, 如需参考引脚配置说明,可以点击下方链接跳转查看完整实验报告 ;本实验使用的是Altera公司的cycloneⅢ类型的芯片。 Verilog HDL实现:7人表决器 信号发生器 多功能数字时钟 实验目标:实现7人投票表决电路,支持人

    2024年02月05日
    浏览(46)
  • Verilog HDL中模块参数传递的方法

    “parameter”是Verilog HDL中的一个,代表着参数型常量,即用parameter来定义一个标识符代表一个常量,这样可以提高程序的可读性与可维护性。 例如: parameter max_time = 10; //定义参数max_time为常量10 参数型常量在Verilog HDL中通常用来定义时间延迟和数据位宽。 一方面,对于

    2024年02月11日
    浏览(36)
  • Verilog数字系统设计——10进制计数器,具有异步复位功能

    编程实现10进制计数器,具有异步复位功能,十位和个位用8421BCD码表示,各端口定义如下图所示: 仔细考虑端口定义中每个端口的含义; 要求完成程序编辑、编译、时序仿真; 实验提交Verilog设计文件(.v文件)、仿真波形截图以及对于第3个步骤所提出问题的回答,文件打包

    2024年02月11日
    浏览(35)
  • 深入解析位运算算法:探索数字的二进制秘密

    位运算是计算机科学中的重要概念,用于在二进制数字层面进行各种操作。本文将深入介绍位运算的基本操作,以及它在判断、计算和处理数字中的应用,包括判断2的幂次方、位图法、位掩码和寻找缺失数字等。 位操作是通过对数字的二进制表示进行操作,实现各种功能。

    2024年02月11日
    浏览(42)
  • Verilog HDL笔记

    1. 逻辑值         0:逻辑低电平,条件为假         1:逻辑高电平,条件为真         z:高阻态,无驱动         x:未知逻辑电平 2. 归约运算符,按位运算符         以为例,当作为一元运算符时表示归约与,m是将m中所有比特位相与,最后的结果为1bit         例如

    2024年02月03日
    浏览(45)
  • Verilog概述一:Verilog HDL和 VHDL详细对比

    当前比较流行的硬件设计语言有两种,即 VHDL 与 Verilog HDL,两者各有优劣,也各有相当多的拥护者。 VerilogHDL和VHDL都是完备的HDL设计和验证语言,具有完整的设计方法和设计规范。 HDL (hardware description language) 硬件描述语言 具有特殊功能结构能够对硬件逻辑电路的功能进行描

    2024年02月02日
    浏览(57)
  • 有限状态机设计(Verilog HDL)

    一、有限状态机 - 基本概念 有限状态机(Finite State Machine, FSM)是电路设计的经典方法,通常可以认为是组合逻辑和寄存器逻辑的组合,其中组合逻辑用于状态译码和产生输出信号,寄存器用于存储状态。 - Moore和Mealy型状态机 摩尔型(Moore)状态机: 输出只是当前状态的函数

    2024年02月16日
    浏览(38)
  • Verilog HDL语言基础知识

    目录 Verilog HDL语言基础知识  6.1.2  Verilog HDL模块的结构 6.1.3 逻辑功能定义 6.2.1  常量 6.3 运算符及表达式 6.4.2 条件语句 先来看两个Verilog HDL程序。 例6.1    一个8位全加器的 Verilog HDL源代码 【例6.2】一个8位计数器的Verilog HDL源代码     从上面的例子可以看出:     ①

    2024年02月05日
    浏览(41)
  • 【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法

    就是用代码来描述硬件结构 语言有VHDL与Verilog HDL Verilog HDL 是从C语言来的,学的快 ###例子 也叫保留字,一般是小写 module 表示模块的开始 endmodule 模块的结束 模块名 一般与.v文件的名字一致 输入信号 input 输出信号 output 既做输入也做输出 inout 需要一些变量和参数对输

    2024年02月21日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包