0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

二十进制编码器及Verilog HDL描述 Verilog HDL程序的基本结构及特点

FPGA之家 来源:头条号电子工程师小李 2023-08-28 09:54 次阅读

节通过硬件描述语言Verilog HDL对二十进制编码器的描述,介绍Verilog HDL程序的基本结构及特点。

二十进制编码器及Verilog HDL描述

二十进制编码器是数字电路中常用的电路单元,它的输入是代表0~9这10个输入端的状态信息。输入信号为高电平时,输出相应的BCD码,因此也称为10线4线编码器。其功能表及电路符号如图3-1所示。

ed0f3586-453a-11ee-a2ef-92fbcf53809c.jpg

图3-1二十进制编码器

【例3-1】利用Verilog HDL对二十进制编码器进行设计。

ed2b10bc-453a-11ee-a2ef-92fbcf53809c.jpg

Verilog HDL程序的基本构成

从例3-1可以看出,一个完整的Verilog HDL程序由3个基本部分构成,分别是:模块端口定义部分、信号类型说明部分和逻辑功能描述语句部分。其结构图如3-2所示。

ed4dc9ea-453a-11ee-a2ef-92fbcf53809c.jpg

图3-2Verilog HDL程序基本结构

模块端口定义部分

对于硬件描述语言来说,一个程序代表了一个具有某种逻辑功能的电路,模块端口定义部分描述了该电路的接口部分的信息,即输入输出信号的信息。

模块端口定义部分的语法结构如下:

module模块名(端口信号1,端口信号2,端口信号3,端口信号4,……);

input[width:0]端口信号1,端口信号3,……;

output[width:0]端口信号2,端口信号4,……;

程序以关键词module引导,模块名是设计者对于设计的电路所取的名字,在模块端口定义的第1行列出了所有进出该电路模块的端口信号,在第2行和第3行中定义了各端口信号流动方向。流动方向包括输入(input)、输出(output)和双向(inout),[width:0]表示信号的位宽,如果位宽没有特别说明,则系统默认为1位宽度。

【例3-2】模块端口定义举例。

ed5ef968-453a-11ee-a2ef-92fbcf53809c.jpg

信号类型说明部分

在Verilog HDL语法中,信号共有两种数据类型,分别为:网线类型(net型)和寄存器类型(register型)。在信号类型说明部分除了要对输入/输出端口的信号类型进行说明之外,还要对程序中定义的中间量的数据类型进行说明。

信号类型说明部分的语法结构如下:

wire[width:0]信号1,信号2,……;

reg[width:0]信号3,信号4,……;

【例3-3】信号类型说明举例。

ed7059d8-453a-11ee-a2ef-92fbcf53809c.jpg

ed82b1c8-453a-11ee-a2ef-92fbcf53809c.jpg

逻辑功能描述语句部分

逻辑功能描述语句部分对输入/输出信号之间的逻辑关系进行了描述,是Verilog HDL程序设计中最主要的部分,在电路上相当于器件的内部电路结构。在Verilog HDL语言中,常用的逻辑功能描述语句可以分为以下3种:

例化语句:调用已进行元件化封装的程序。这种语句常应用于层次化设计的顶层文件设计中。

【例3-4】例化语句举例。

ed954a0e-453a-11ee-a2ef-92fbcf53809c.jpg

该语句分别调用了一个非门和与门电路模块。

连续赋值语句:描述信号之间简单的赋值关系。在连续赋值语句中,右边表达式使用的操作数无论何时发生变化,右边表达式都重新计算。这类描述通常以关键词assign引导。

【例3-5】连续赋值语句举例。

eda3a8f6-453a-11ee-a2ef-92fbcf53809c.jpg

该语句描述了输出信号与输入信号的赋值关系。

过程语句:以关键词always、initial等关键词引导的语句,描述了一定条件下信号之间的赋值关系。这种变量数据被赋值后,其值保持不变,直到下一次条件具备时对它们重新赋值。

【例3-6】过程语句举例。

edb3dda2-453a-11ee-a2ef-92fbcf53809c.jpg

与连续赋值语句一样,always和initial也描述了输出信号与输入信号的赋值关系,但是这种赋值往往是一种比较复杂的条件赋值,例如,例3-6就用了if……else语句描述了输出信号与输入信号的条件关系。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3584

    浏览量

    134105
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109970
  • HDL
    HDL
    +关注

    关注

    8

    文章

    327

    浏览量

    47336
  • 程序
    +关注

    关注

    116

    文章

    3773

    浏览量

    80830

原文标题:逻辑功能描述语句部分

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【FPGA学习】Verilog HDL有哪些特点

    Verilog HDL特点Verilog HDL 语言不仅定义了语法,而且对每个语法结构都定
    发表于 09-18 09:33

    Verilog-HDL实践与应用系统设计

    Verilog-HDL实践与应用系统设计本书从实用的角度介绍了硬件描述语言Verilog-HDL。通过动手实践,体验Verilog-HDL的语法结构
    发表于 11-14 22:57 147次下载
    <b class='flag-5'>Verilog-HDL</b>实践与应用系统设计

    什么是Verilog HDL

    什么是Verilog HDLVerilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建
    发表于 01-18 14:53 4137次阅读
    什么是<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>?

    Verilog HDL程序基本结构程序入门

    Verilog HDL程序基本结构程序入门 Verilog
    发表于 02-08 11:43 2291次阅读

    Verilog HDL语言简介

    Verilog HDL语言简介 1.什么是Verilog HDLVerilog HDL是硬件描述语言的一种,用于数
    发表于 02-09 08:59 3892次阅读

    Verilog HDL程序设计教程_王金明

    Verilog HDL 程序设计教程》对Verilog HDL程序设计作了系统全面的介绍,以可
    发表于 09-22 15:53 0次下载
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b><b class='flag-5'>程序</b>设计教程_王金明

    Verilog HDL程序设计与实践

    Verilog HDL程序设计与实践着重介绍了Verilog HDL语言
    发表于 10-29 14:45 21次下载

    Verilog HDL硬件描述语言_结构建模

    本章讲述Verilog HDL中的结构建模方式。结构建模方式用以下三种实例语句描述verilog
    发表于 04-25 14:58 14次下载

    Verilog HDL程序设计教程

    Verilog HDL程序设计教程-人邮
    发表于 05-11 11:30 35次下载

    Verilog HDL入门教程之Verilog HDL数字系统设计教程

    本文档的主要内容详细介绍的是Verilog HDL入门教程之Verilog HDL数字系统设计教程。
    发表于 09-20 15:51 83次下载
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>入门教程之<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>数字系统设计教程

    Verilog HDL的基础知识详细说明

    硬件描述语言基本语法和实践 (1)VHDL 和Verilog HDL的各自特点和应用范围 (2)Verilog
    发表于 07-03 17:36 54次下载
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>的基础知识详细说明

    Verilog教程之Verilog HDL程序设计语句和描述方式

    本文档的主要内容详细介绍的是Verilog教程之Verilog HDL程序设计语句和描述方式。
    发表于 12-09 11:24 47次下载
    <b class='flag-5'>Verilog</b>教程之<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b><b class='flag-5'>程序</b>设计语句和<b class='flag-5'>描述</b>方式

    如何使用Verilog HDL描述可综合电路?

    1、如何使用Verilog HDL描述可综合电路 Verilog 有什么奇技淫巧?我想最重要的是理解其硬件特性。Verilog
    的头像 发表于 04-04 11:19 4167次阅读
    如何使用<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b><b class='flag-5'>描述</b>可综合电路?

    Verilog HDL verilog hdl和vhdl的区别

    Verilog HDL是一种以文本形式描述数字系统硬件的结构和行为的硬件描述语言,也可描述逻辑电
    的头像 发表于 07-23 14:36 1.1w次阅读

    Verilog HDL入门教程-Verilog HDL的基本语法

    Verilog HDL入门教程-Verilog HDL的基本语法
    发表于 01-07 09:23 178次下载