首页 > 其他分享 >FPGA Verilog基本语句(语法)FPGA入门

FPGA Verilog基本语句(语法)FPGA入门

时间:2024-09-25 20:48:52浏览次数:14  
标签:语句 wire FPGA always Verilog 信号 赋值

本篇文章主要写了在Verilog环境下,FPGA基本语法和数据类型。

可以通过导航键快速进入assign语句、always语句等其他内容!


对于Verilog(FPGA):

module

         ...                                    ==》构成主体

endmodule

module 模块名(【端口列表】);

【端口信号声明;】    <= 输入输出属性  数据类型  位宽  名称

【参数声明;】     <= parameter 数据类型 参数名=初值       

注释:

· 模块名

· 端口列表指  电路的输入/输出信号,信号名由用户指定,中间用逗号隔开。

· 端口信号声明是要说明端口信号的输入输出属性,信号的数据类型,以及信号的位宽。

输入输出属性有 : input,output,inout(双向)

信号的数据类型常用的有: wire,reg

信号的位宽用[n1:n2]表示;同一信号之间用逗号隔开。

· 参数声明说明参数的名称和初值。

示例:

input [3:0] A,B;

input CIN;                              ===>位宽不说明默认是1位。数据类型不说明,默认是wire型。

output reg [3:0] S;

output COUT;

assign 语句         (后跟的是wire型  --- 信号型)

基本格式:    assgin 赋值目标 = 表达式

例:   assgin y = a;                                          assgin y = a &b;

特点:之所以称为连续赋值语句是指其总是处于激活状态,只要表达式中的操作数有变化,立即进行计算和赋值。(与连续赋值语句对应的另一种语句称为过程赋值语句 --- always @)

注意:赋值目标必须是wire型,wire(电路)表示电路间的连线(硬件中的连线)

                                                  wire型的值由驱动它的逻辑决定,不能存储值。

对比:

reg(寄存器)型 ->always @      在 always 块中,reg类型的变量用于表示状态或存储数据。


always语句块

基本格式:      always @ (敏感信号条件列表)

                                ...各类顺序语句

例:       always @(posedge clk)

                        Q =D;

特点:赋值目标必须是reg型

只有满足信号条件才执行(两种)    ----边沿敏感 

                                                     ----电平敏感

边沿敏感: (posedge 信号名)  信号上升沿到来

                   (negedge 信号名)  信号下降沿到来

电平敏感: (信号名列表)  信号列表中的任一个信号有变化

                    当(a,b,c)中有一个发生变化

举例:

边沿敏感:  always @(posedge clk) 

                        ...

电平敏感:  always @(D)   -->变化执行  看D是否变化

                       Q = D;


其他:

RST 复位信号  (按下复位键) 寄存器清零 

 阻塞赋值       =

非阻塞赋值    <=        (相当于同时进行)

对于端口信号来说,input信号和inout信号必须是net型(如:wire),output信号可以是net型可以是variable型(如:reg)的,决定于如何对其赋值。


Verilog <reg>中数字的表示格式

无符号的表示方法         <位宽>'<进制><数字>

例:      2'b00      ->  (00)2                     2表示进制

             5'd8        ->   (01000)2

有符号数的表示方法    <位宽>'<sb><数字>

例: 8'sb10111011   ->(-69)10

符号数是按照补码表示,即有效7位,第一位为符号位。


本篇关于FPGA(Verilog语言)的语句语法分享就到这里了,如果觉得文章还不错,请给我点个赞~~

如果有需要条件语句与循环语句的语法使用请留言,我将会补充。

ps:没有FPGA标签,我自己打一下,请谅解~

FPGA   FPGA  FPGA   嵌入式系统  嵌入式硬件  嵌入式系统 并行处理  并行处理  并行处理 

标签:语句,wire,FPGA,always,Verilog,信号,赋值
From: https://blog.csdn.net/m0_73640343/article/details/142467612

相关文章

  • mysql优化之sql语句优化、以及mysql一些高频面试题
    文章目录一、索引1、什么是索引2、添加索引的原则3、索引的优缺点4、索引分类5、mysql存储过程(方法)二、MySQL的逻辑架构1、逻辑架构2、MyISAM和InnoDB的区别三、mysql的索引数据结构1、BTree2、B+Tree四、缓冲池BufferPool1、预读机制2、预读失效3、淘汰策略五......
  • goto语句与标号
    在C语言中提供goto语句与跳转标号,他们可以在同一函数内跳转位置。#include<stdio.h>intmain(){inta=1;intd=4;gotoww;printf("a=%d",a);printf("hhhhh");ww:printf("d=%d",d);return0;}goto语句后面的单词只是跳转标号,可以是随意的字母组成特殊字......
  • SQL Server 语句日期格式查找方法
    SQLServer语句日期格式查找方法 1.SQLServer中,处理日期格式和查找特定日期格式方法示例在SQLServer中,处理日期格式和查找特定日期格式的记录是一个常见的需求。SQLServer提供了多种函数和格式选项来处理和比较日期。以下是一个详细的示例,展示了如何根据特定日期格式查......
  • 数据库系统------sql语句
    创建以上的图就是sql中创建表的大致使用方法啦,每一个椭圆或者圆就是sql固定的语法,然后矩形就是我们自己自定义的,然后箭头代表着输入的顺序,如果箭头又回到某个起始处,表示这可以是一个循环,比如定义多个列,以下就带大家一起走一遍这个流程吧我们按照这个图的输入顺序一个一个写ok,......
  • 简单说说MySQL中 SELECT 语句执行流程
    流程讲解MySQL中SELECT语句的执行流程分为多个步骤,通常从用户发出查询请求到MySQL返回结果包含以下过程:客户端/服务器通信:用户向MySQL服务器发送SELECT查询语句。查询解析(Parser):MySQL收到SQL语句后,会将查询语句进行词法和语法分析。词法分析器将SQL语句拆解为关键......
  • 我找不到一种方法让我的 python print 语句在几秒钟后自行删除
    我正在尝试制作一款基于文本的冒险游戏,我希望能够让文本自行删除。举个例子,游戏将使用print()语句打印文本,5秒后文本将被删除或对玩家隐藏。我试图找到其他人与此问题相关的问题,并且我找不到任何信息。我不知道该使用什么命令或与之相关的任何内容,请帮忙。Ivetriedtof......
  • C语言中的转向语句
    在C语言中,转向语句用于改变程序的执行流。主要的转向语句包括goto、break和continue。它们各自有不同的用途和特性,能够在特定情况下简化或优化代码。本文将深入探讨这些语句,并通过复杂示例展示其应用。1.goto语句goto语句允许程序无条件跳转到程序中的某个标签。标......
  • go基础-5.判断语句
    if语句以年龄为例,输入的年龄在某一个区间,就输出对应的提示信息<=0未出生1-18未成年18-35青年>=35中年很明显,这是一个多选一的情况我们有很多中方式来实现中断式packagemainimport"fmt"funcmain(){fmt.Println("请输入你的年龄:")varagei......
  • SQL进阶技巧:如何利用if语句简化where或join中的条件 | if条件语句的优雅使用方法
    目录0问题场景1数据准备2问题分析2.1需求一2.2需求二3小结想要进一步了解SQL这门艺术语言的,可以订阅我的专栏数字化建设通关指南,将在该专栏进行详细解析。专栏原价99,现在活动价39.9,按照阶梯式增长,还差3个名额将上升至59.9,直到恢复原价。数字化建设通关指南0......
  • C语言分支语句和循环语句
     目录选择语句if-else语句if嵌套switch语句逻辑操作符!逻辑非&&逻辑与||  逻辑或循环语句while循环do-while循环for循环break和continue语句 break语句continue语句选择语句if-else语句if语句的语法形式if(表达式){语句}在C语言中非0为真,0为......