张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

数字电路里面有什么元素需要被描述?

2018-09-07 14:47 次阅读
初识Verilog描述-1 “ Verilog不同于C,Python,JAVA等软件语言,Verilog是以数字电路知识为背景支撑,以对数字电路系统进行描述的一门语言。因此用Verilog描述数字电路,必须要有数字电路知识为背景支撑。否则描述出来的电路性能将会很差。本篇我们先了解一下最基本的Verilog对数字电路描述的方法与代码风格,具体语法细节在这不做过多解释。” 在了解Verilog基本构成之前,先要了解数字电路里面有什么元素需要被描述。 如下图所示,为一个实例电路外部原理图: 从外部看一个电路需要描述的元素如下: 电路名字 输入端口以及位宽     输出端口以及位宽 端口描述有两种方式。 以上图为例: (1) module share_1(         clk,                  rst_n,                                  a,                    b,                                   data_out                                 );                                       input clk;             input rst_n;                        input[7:0]  a;         input[7:0]  b;                         output[8:0] data_out;  (2) module share_1(             input        clk,          input        rst_n,                                input [7:0]  a,            input [7:0]  b,                                output [8:0] data_out                          );       下图为其内部电路结构: 电路内部需要描述元素有: 信号的类型:reg型(所有在always电路里面将要做改变的信号),wire型(电路信号连线) 如上例电路:输入信号本来就为电路信号连线,且在端口声明中已经声明,无需再做wire 声明。 输出信号data_out是寄存器的输出,因此声明为: reg[8:0] data_out; 节点信号add_out(对应电路上的OUT),为加法器的输出。如果加法器是用always块实现的,如下: always @( * ) begin  add_out = a+b;     end                  则声明为reg型: reg[8:0]  add_out; 如果加法器是用assign语句实现的,如下: assign add_out = a+b;  则声明为wire型: wire[8:0] add_out; 注意:所有声明必须带上位宽,否则系统工具将其默认为单位宽,如上信号add_out为9位宽,因此声明为 reg [8:0]  add_out; 组合逻辑电路: 可以利用 assign 或者 always @(*)  语句描述。一般复杂的组合逻辑电路利用 always @(*)语句块描述。如上加法器的实现既可以用always语句实现,也可以利用assign语句实现。 寄存器(有如下几种常用的不同的寄存器模型): (1) 时钟信号上升沿驱动,复位信号低电平有效,与时钟异步复位: always @( posedge clk or negedge rst_n ) begin if( !rst_n ) data_out <= 8h00; else  data_out <= data_in; end (2) 时钟信号上升沿驱动,复位信号高电平有效,与时钟异步复位: always @( posedge clk or posedge rst ) begin if( rst ) data_out <= 8h00; else  data_out <= data_in; end (3) 时钟信号下降沿驱动,复位信号高电平有效,与时钟同步复位: always @( negedge clk ) begin if( rst_n ) data_out <= 8h00; else  data_out <= data_in; end (4) 时钟信号上升沿驱动,复位信号低电平有效,与时钟同步复位,并且带有高电平使能信号: always @( posedge clk ) begin if( !rst_n ) data_out <= 8h00; else  if( enable ) data_out <= data_in; else data_out <= data_out; end 给出两种完整的描述方式,大家自行体会,电路功能为带寄存器输出的8位无符号数加法器: (1) module share_1(                                   clk,                                            rst_n,                                          a,                                              b,                                              data_out                                        );                                                input clk;                                       input rst_n;                                     input[7:0]  a;                                   input[7:0]  b;                                   output[8:0] data_out;                            reg[8:0]    data_out;                            wire[8:0]   add_out;                              assign add_out = a+b;                            always @( posedge clk or negedge rst_n ) begin   if( !rst_n )                                   data_out <= 9h00;                           else                                           data_out <= add_out;                         end                                              endmodule      (2) module share_1(                                 input        clk,                              input        rst_n,                            input [7:0]  a,                                input [7:0]  b,                                output [8:0] data_out                          );                                              reg[8:0] data_out ;                            reg[8:0]   add_out;                            always @( * ) begin                            add_out = a+b;                              end                                            always @( posedge clk or negedge rst_n ) begin if( !rst_n )                                 data_out <= 9h00;                         else                                         data_out <= add_out;                       end                                            endmodule      注:这里只是带着大家从电路入手,宏观的了解一下Verilog描述数字电路的结构与注意事项,具体语法可自行学习。 
原文标题:初识Verilog描述-1 文章出处:【微信号:LF-FPGA,微信公众号:小鱼FPGA】欢迎添加关注!文章转载请注明出处。
收藏 人收藏
分享:

评论

相关推荐

基于Quartus的黑盒设计与使用

本课程以一个简单的二输入与门工程为例,采用手把手教学的方式,带大家学习如何使用Quartus为FPGA设计产生黑子子文件
发表于 05-01 00:00 28144次 阅读
基于Quartus的黑盒设计与使用

怎么使用基于可逆对比度映射与verilog或vhdl编码的可逆水印

任何人都可以帮助我使用基于可逆对比度映射与verilog或vhdl编码的可逆水印。 以上来自于谷歌翻译 以下为原文 can anyon...
发表于 04-22 10:42 9次 阅读
怎么使用基于可逆对比度映射与verilog或vhdl编码的可逆水印

如何将.bin或.hex文件等用户数据存储在spartran 3a fpga的闪存中以及如何从闪存中访问数据?

海全, 我想知道,如何将用户数据(如.bin或.hex文件)存储在闪存中以及如何从闪存中访问相同的数据,将其提供给用Verilog编写...
发表于 04-22 06:49 12次 阅读
如何将.bin或.hex文件等用户数据存储在spartran 3a fpga的闪存中以及如何从闪存中访问数据?

如何设计可综合的Verilog代码和应该遵循什么原则

在接触Verilog 语法参考手册的时候,我们发现其提供了一组非常丰富的功能来描述硬件。所以大家往往....
发表于 04-20 10:59 29次 阅读
如何设计可综合的Verilog代码和应该遵循什么原则

PCB设计的接地问题总结

这样区分是为了将数字部分和模拟部分隔离开,减小数字部分带给模拟电路部分的干扰。但这两部分不可能完全隔....
发表于 04-19 14:52 54次 阅读
PCB设计的接地问题总结

怎么在verilog中实现一个相当大的LUT

大家好, 我正在做一个项目,要求我在verilog中实现一个相当大的LUT。 我想在MATLAB中生成值,然后使用.csv或类似文件...
发表于 04-19 13:54 44次 阅读
怎么在verilog中实现一个相当大的LUT

请问怎么用FPGA控制OV7670采集图像?

哪位大神能给个Verilog语言的控制OV7670采集图像的程序,我研究研究啊...
发表于 04-19 01:14 49次 阅读
请问怎么用FPGA控制OV7670采集图像?

有关Verilog中I2C地址转换代码的问题

大家好, 我正在尝试使用Verilog设计I2C地址转换器。 因此,例如当I2C主设备尝试访问0x7x从设备时,我的转换器将激活一个...
发表于 04-18 07:01 10次 阅读
有关Verilog中I2C地址转换代码的问题

资料分享:电子科大Verilog教案

发表于 04-17 21:52 129次 阅读
资料分享:电子科大Verilog教案

Verilog函数中function里的过程语句该怎么写

Verilog用函数方式描述一个4选1选择器,function里的过程语句该怎么写啊我这么写报错:functions can't contain non-blocking ...
发表于 04-17 06:35 14次 阅读
Verilog函数中function里的过程语句该怎么写

资料共享:北大微电子学Verilog讲义

发表于 04-16 23:29 166次 阅读
资料共享:北大微电子学Verilog讲义

如何使用verilog为FPGA制作通用字节写

喜 我知道如何使用verilog为FPGA制作通用字节写,字写存储器模型。 但有没有办法制作一点写内存模型? 我在网上看了很多但...
发表于 04-16 10:48 27次 阅读
如何使用verilog为FPGA制作通用字节写

FPGA的代码书写规范

代码书写规范 本文节选自特权同学的图书《FPGA设计实战演练(逻辑篇)》 配套例程下载链接:http://pan.baidu.com/s/1pJ5...
发表于 04-16 04:08 37次 阅读
FPGA的代码书写规范

阻抗匹配对波形和辐射噪声的影响

由于特性阻抗没有发生变化,信号的反射量和信号波形未有变化。总体而言,辐射噪声下降5至10dB。基板进....
的头像 村田中文技术社区 发表于 04-15 15:10 249次 阅读
阻抗匹配对波形和辐射噪声的影响

PCB设计中常见的错误与解决方法

在PCB设计中,布线是完成产品设计的重要步骤,可以说前面的准备工作都是为它而做的, 在整个PCB中,....
发表于 04-12 15:27 124次 阅读
PCB设计中常见的错误与解决方法

数字电路中抑制EMI的方法介绍

EMI的产生是由于电磁干扰源通过耦合路径将能量传递给敏感系统造成的。它包括经由导线或公共地线的传导、....
发表于 04-04 13:34 509次 阅读
数字电路中抑制EMI的方法介绍

模电数电的快速入门教程资料免费下载

本文档的主要内容详细介绍的是模电数电的快速入门教程资料免费下载。 1、电路中二极管导通之后,所分电....
发表于 04-03 16:54 219次 阅读
模电数电的快速入门教程资料免费下载

噪声干扰产生的条件是?如何解决噪声问题?

要解决噪声问题有2种方法。一种是抑制噪声源的设备发射噪声,称为辐射对策。另一种是防止设备受噪声影响或....
的头像 村田中文技术社区 发表于 04-03 11:19 562次 阅读
噪声干扰产生的条件是?如何解决噪声问题?

VERILOG HDL硬件描述语言PDF电子书合集免费下载

Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模....
发表于 04-03 08:00 60次 阅读
VERILOG HDL硬件描述语言PDF电子书合集免费下载

PCB layout模数接地的详细资料说明

如果没有注意数字地和模拟地分割情况,直接分割成两部分,会引起多种始料未及的情况,甚至会产生分割后出现....
发表于 04-01 08:00 86次 阅读
PCB layout模数接地的详细资料说明

数字地和模拟地有什么区别详细资料说明

只要是地,最终都要接到一起,然后入大地。如果不接在一起就是“浮地”,存在压差,容易积累电荷,造成静电....
发表于 04-01 08:00 183次 阅读
数字地和模拟地有什么区别详细资料说明

地线干扰与抑制的详细资料说明

什么是地线?大家在教科书上学的地线定义是:地线是作为电路电位基准点的等电位体。这个定义是不符合实际情....
发表于 04-01 08:00 74次 阅读
地线干扰与抑制的详细资料说明

高质量Verilog代码有什么特点

高质量的verilog代码主要包含以下几个要素:可读性、功能、性能、标准化、稳定性、可定位。
发表于 03-30 10:12 100次 阅读
高质量Verilog代码有什么特点

周立功专访:周立功和他的团队已经找到了属于自己的道路

周立功一直渴望得到深造,就在1992年机会到来了。国家选拔各地省以上的先进工作者去中国纺织大学(现在....
的头像 周立功单片机 发表于 03-27 13:40 665次 阅读
周立功专访:周立功和他的团队已经找到了属于自己的道路

FPGA视频教程之为什么Verilog能支持大型设计的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之为什么Verilog能支持大型设计的详细资料说明。
发表于 03-27 11:25 50次 阅读
FPGA视频教程之为什么Verilog能支持大型设计的详细资料说明

FPGA视频教程之Verilog模块的种类和用途详细资料说明

在仿真时其表现的功能与某实体逻辑电路完全一致的Verilog HDL模块,但并没有手段生成对应的门级....
发表于 03-27 11:25 36次 阅读
FPGA视频教程之Verilog模块的种类和用途详细资料说明

FPGA视频教程之Verilog中两种不同的赋值语句的资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog中两种不同的赋值语句的资料说明免费下载。
发表于 03-27 10:55 34次 阅读
FPGA视频教程之Verilog中两种不同的赋值语句的资料说明

FPGA的视频教程之Verilog中阻塞与非阻塞的详细资料说明

本文档的主要内容详细介绍的是FPGA的视频教程之Verilog中阻塞与非阻塞的详细资料说明。
发表于 03-26 17:16 36次 阅读
FPGA的视频教程之Verilog中阻塞与非阻塞的详细资料说明

FPGA的视频教程之Verilog模块中的信号详细资料说明

本文档的主要内容详细介绍的是FPGA的视频教程之Verilog模块中的信号详细资料说明。
发表于 03-26 16:55 43次 阅读
FPGA的视频教程之Verilog模块中的信号详细资料说明

FPGA的视频教程之Verilog中reg和wire的不同点详细资料说明

本文档的主要内容详细介绍的是FPGA的视频教程之Verilog中reg和wire的不同点详细资料说明....
发表于 03-26 16:55 44次 阅读
FPGA的视频教程之Verilog中reg和wire的不同点详细资料说明

FPGA的视频教程之Verilog模块的基本构成要素资料说明

本文档的主要内容详细介绍的是FPGA的视频教程之Verilog模块的基本构成要素资料说明。
发表于 03-26 16:55 41次 阅读
FPGA的视频教程之Verilog模块的基本构成要素资料说明

FPGA视频教程之Verilog模块的编写和验证详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog模块的编写和验证详细资料说明资料免费下载....
发表于 03-26 16:23 35次 阅读
FPGA视频教程之Verilog模块的编写和验证详细资料说明

FPGA视频教程之Verilog中行为级和RTL级的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog中行为级和RTL级的详细资料说明。
发表于 03-26 16:23 36次 阅读
FPGA视频教程之Verilog中行为级和RTL级的详细资料说明

FPGA视频教程之学习FPGA选择verilog还是vhdl详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之学习FPGA选择verilog还是vhdl详细资料说明....
发表于 03-22 14:00 58次 阅读
FPGA视频教程之学习FPGA选择verilog还是vhdl详细资料说明

FPGA视频教程之Verilog HDL有什么用处详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog HDL有什么用处详细资料说明免费下载。....
发表于 03-22 13:57 47次 阅读
FPGA视频教程之Verilog HDL有什么用处详细资料说明

FPGA视频教程之Verilog基础的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog基础的详细资料说明包括了:1.Veril....
发表于 03-21 15:02 51次 阅读
FPGA视频教程之Verilog基础的详细资料说明

2220-30-1在自动测试系统如何配置并联操作(2)

2220-30-1可编程三通道直流电源将三通道电源输出用于经济有效地分析和测试需要一种以上电源的宽范....
的头像 EE techvideo 发表于 03-21 06:14 110次 观看
2220-30-1在自动测试系统如何配置并联操作(2)

ESD断路过压保护,ESD产生的高压和高峰值电流会损坏IC

对于设计工程师或技师来说,ESD损坏最常见的表现是IC发生灾难性故障。然而,暴露在ESD之下也可能导....
的头像 电机控制设计加油站 发表于 03-12 15:53 528次 阅读
ESD断路过压保护,ESD产生的高压和高峰值电流会损坏IC

Verilog语法基础

Verilog HDL是一种用于数字系统设计的语言。用Verilog HDL描述的电路设计就是该电路....
的头像 发烧友学院 发表于 03-08 14:29 733次 阅读
Verilog语法基础

电子工程师自学速成 提高篇PDF版电子书免费下载

《电子工程师自学速成—提高篇》的内容包括模拟电路和数字电路两大部分,其中模拟电路部分的内容有电路分析....
发表于 03-06 14:37 333次 阅读
电子工程师自学速成 提高篇PDF版电子书免费下载

FPGA视频教程之BJ-EPM240学习板SRAM读写实验的详细资料说明

SRAM芯片时字操作大同小异,在这里总结一一些它们共性的东西,也提一些用Verilog简单的快速操作....
发表于 03-05 10:30 41次 阅读
FPGA视频教程之BJ-EPM240学习板SRAM读写实验的详细资料说明

如何区分数字地和模拟地及信号地、交流地、直流地又怎么破

数字地、模拟地互相会影响不是因为一个叫数字,一个叫模拟,而是他们用了同一部电梯--地,而这部电梯所用....
的头像 玩转单片机 发表于 03-03 11:38 907次 阅读
如何区分数字地和模拟地及信号地、交流地、直流地又怎么破

FPGA视频教程之Verilog语法基础的详细资料说明

本文档的主要内容详细介绍的是FPGA视频教程之Verilog语法基础的详细资料说明资料免费下载
发表于 03-01 11:35 80次 阅读
FPGA视频教程之Verilog语法基础的详细资料说明

开关电源PCB排版技术规则及应用

电解电容器一般都有很大电容量和很大等效串联电感。由于它的谐振频率很低,所以只能使用在低频滤波上。钽电....
发表于 02-28 14:36 397次 阅读
开关电源PCB排版技术规则及应用

时序逻辑电路的分析方法

将驱动方程代入相应触发器的特性方程中,便得到该触发器的次态方程。时序逻辑电路的状态方程由各触发器次态....
的头像 发烧友学院 发表于 02-28 14:06 445次 阅读
时序逻辑电路的分析方法

Verilog HDL视频教程的详细资料合集免费下载

本文档的主要内容详细介绍的是Verilog HDLl视频教程的详细资料合集免费下载。
发表于 02-26 16:56 58次 阅读
Verilog HDL视频教程的详细资料合集免费下载

什么是时序逻辑电路

数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻....
的头像 发烧友学院 发表于 02-26 15:22 310次 阅读
什么是时序逻辑电路

电路理论基础知识点PPT课件资料免费下载

电路理论基础是本科生接触的首门电技术基础课,是电路理论的入门课。它是研究电网络分析、设计与综合的基础....
发表于 02-25 08:00 86次 阅读
电路理论基础知识点PPT课件资料免费下载

电子技术基础教程之同步时序逻辑电路的设计资料说明

时序逻辑电路的设计是分析的逆过程,其任务是根据实际逻辑问题的要求,设计出能实现给定逻辑功能的电路。 ....
发表于 02-22 08:00 78次 阅读
电子技术基础教程之同步时序逻辑电路的设计资料说明

单片机教程之单片机硬件基础学习资料免费下载

本文档的主要内容详细介绍的是单片机教程之单片机硬件基础学习资料免费下载。通常,单片机系统是将硬件与软....
发表于 02-21 10:37 116次 阅读
单片机教程之单片机硬件基础学习资料免费下载

PIC单片机轻松入门电子书PDF版免费下载

虽说现在社会上最为普及的是MCS-51系列的单片机,但在实际应用中,特别是- - 些简易而又轻小的应....
发表于 02-15 15:16 177次 阅读
PIC单片机轻松入门电子书PDF版免费下载

EDA技术在数字电路设计中的应用

EDA(电子线路设计座自动化)是以计算机为工作平台、以硬件描述语言(VHDL)为设计语言、以可编程器....
发表于 02-15 15:11 185次 阅读
EDA技术在数字电路设计中的应用

EDA技术在数字电路中的应用

EDA技术涉及面很广,内容丰富,从教学和实用角度看,主要应掌握如下4个方面内容:一是大规模可编程逻辑....
发表于 02-14 15:45 148次 阅读
EDA技术在数字电路中的应用

如何学习FPGA学习FPGA的一些建议和总结资料合集

有些人比较差,做了一些介绍,有误导成分。有些人水平太高,介绍的很好,但是很多人依旧听不懂,得到的肯定....
发表于 02-11 16:50 115次 阅读
如何学习FPGA学习FPGA的一些建议和总结资料合集

基于用于列车正常运行的PCB电路板抗干扰设计

PCB 电路板上干扰主要有共模干扰和差模干扰。差模干扰是由信号回路产生的,共模干扰是由电缆上的共模电....
发表于 02-11 16:12 120次 阅读
基于用于列车正常运行的PCB电路板抗干扰设计

详解Verilog的一些基本要素

前面已经说到,模块名的定义要符合标识符的定义,那么什么是标识符呢?它的语法是什么呢?
的头像 电子发烧友网工程师 发表于 02-11 13:42 369次 阅读
详解Verilog的一些基本要素

Verilog HDL入门教程

本文主要介绍了Verilog HDL 语言的一些基本知识,目的是使初学者能够迅速掌握HDL 设计方法....
发表于 02-11 08:00 148次 阅读
Verilog HDL入门教程

电子技术数字逻辑基础第5版电子书免费下载

本书主要介绍了:数字逻辑概论,逻辑代数和Verilog硬件描述语言,逻辑门电路,组合逻辑电路,锁存器....
发表于 01-29 14:36 180次 阅读
电子技术数字逻辑基础第5版电子书免费下载

单片机的逻辑电路与逻辑运算的介绍

在数字电路,我们经常会遇到逻辑电路,而在 C 语言中,我们则经常用到逻辑运算,二者在原理上是相互关联....
的头像 EDA365 发表于 01-29 12:52 611次 阅读
单片机的逻辑电路与逻辑运算的介绍

三种基本逻辑电路运算比较

逻辑常量与变量:逻辑常量只有两个,即0和1,用来表示两个对立的逻辑状态。逻辑变量与普通代数一样,也可....
的头像 EDA365 发表于 01-28 10:40 658次 阅读
三种基本逻辑电路运算比较