首页 > 其他分享 >Verilog语言学习(自用

Verilog语言学习(自用

时间:2024-04-20 09:00:10浏览次数:30  
标签:语言 C语言 语法 集成电路 自用 Verilog 设计

HDR:硬件描述语言

高级程序语言,通不过对数字电路和系统描述,可以对数字集成电路进行设计和验证

主要功能:数字集成电路设计工程师可以根据电路的特点,采用层次化的设计结构,将抽象的逻辑功能用电路的方式进行实现。

 

VerilogHDL(美):思维开放-->语法形式比较灵活,宽松度高(不适合大规模集成设计,容易出问题):开关级强,系统级弱,要辅助

VHDL(欧洲 ):思维严谨-->语法要求严格(合适):不具备开关级别,但是系统级有优势

目前主要的两种HDL语言,均被采纳为ieee国际标准

 

目前基本上都是联合设计,高层次和关键部分用VHDL

中规模用VERILOG HDL,联合两方的优势

 

 

 

VerilogHDL:

 

2001:语言的一个固定过程

2005:提出的东西,解决集成电路的系统级的问题:

数学问题变成数字和模型的问题:数字仿真,集合算法和硬件

 

 

两个重要标准:1995/2001标准

集成电路的生命周期18个月

 

verilog:

 

 

Verilog的30%语言用于设计,其余的语言基本都是在功能仿真阶段

不是跟C语言一样可以用所有的语法

 

设计过程中对语法风格有要求,不同分支对语法集有区别

 

语言正式学习:

  1. 出身来源于C语言,设计方法与C完全不一样
  2. 语法形态和C语言很相似,设计方法在根本上与C完全不一样

语言要素:

  1. 空白符(空格符\b,制表符\t,换行符和换页符):程序易读性
  2. 注释符:同C语言  //单行注释  /*多行注释*/:eda所有的注释和命名方式全部写成英文:保证兼容性
  3. 标识符:用来命名信号名,模块名和参数名等,只能用字母,数字,$和下划线:对字母的大小写敏感,第一个字符必须是字母和下划线
  4. 转移标识符:\后面可以加非法字符,来通过系统的识别
  5. 关键字:always等(存留):所有的关键字是小写的
  6. 不同颜色的提示为不同的关键字:保留or自定义
  7. 信号线:基本逻辑数值状态

 

 

高于0.7v:1   低于0.7v:0

两个逻辑灯对其驱动:不定状态x

只有总线形式,对外呈现高阻状态:高阻态z

 

 

 

 

整型:

 

 

Size:表示有多少位,几根线,2的几次方,规模:要写,确立具体形态

用的最多:二进制和十六进制(忽略八进制和十进制):十六进制集成度高

<位宽>`<几进制数><数值本身>

 

整数和小数部分分开:二进制表示法:2** n.2**-n

小数点:定点和浮点两种表示法

 

实数及其表示:十进制表示法/科学计数法7.5e10

非法形式:小数点左边或者右边没有数

 

 

 

驱动能力不同,连接的器件不同(本科阶段可省)

 

 

 

 

 

 物理数据类型:wor/ tri

Range1:存储位宽

Range2:存储深度

Range[7:0]mem1[255:0]:定义了一个有256个8位存储器mem1;

 

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

标签:语言,C语言,语法,集成电路,自用,Verilog,设计
From: https://www.cnblogs.com/Rooya/p/18147176

相关文章

  • Go语言高并发与微服务实战专题精讲——远程过程调用 RPC——实践案例:Go 语言 RPC 过程
    远程过程调用RPC——实践案例:Go语言RPC过程调用实践 Go语言的官方RPC库/net/rpc为开发者提供了实现远程过程调用的强大功能,使得通过网络访问对象的方法成为可能。这种机制极大地促进了分布式系统的构建,让不同的服务能够轻松地进行相互通信和协作。 在使用Go的RPC库时,服务......
  • protobuf 在嵌入式ARM平台的应用(c语言版)
    一、PC上安装protobuf和protobuf-c1.安装protobuf protocolbuffers仓库地址:https://github.com/protocolbuffers/protobuf 本文选择下载v21.12版本(太新版本protobuf-c可能不支持)$cdprotobuf-21.12$./autogen.sh$./configure#默认安装路径/usr/local/$make......
  • Go语言高并发与微服务实战专题精讲——远程过程调用 RPC
    远程过程调用RPC 在微服务架构中,每个服务实例负责某一单一领域的业务实现,不同服务实例之间需要进行频繁的交互来共同实现业务。服务之间通过轻量级的远程调用方式进行通信。比如说RPC和HTTP。两者虽然同为微服务实例之间远程调用的方式,但是HTTP调用是应用层协议,而RPC的......
  • SystemVerilog -- 6.2 Interface Bundles
    Introduction涵盖了对接口的需求,如何实例化接口并将其与设计连接起来。设计有两种编写方式:通过使用现有接口名称专门使用该接口通过使用可以将任何接口传递到的泛型接口句柄显然,当接口定义更新到具有不同名称的较新版本时,泛型方法效果最佳,并且需要支持使用它的旧设计。Examp......
  • 现有的后端开发语言有哪些?哪种语言用的广泛?
    在探讨后端开发语言时,我们首先要明确,这些语言是用于服务器端编程的工具,它们能够支持数据库管理、执行服务器逻辑以及维护安全性等关键功能。在这个领域,有多种语言可供选择,每种都有其独特的优势和适用场景。首先,我们要提到的是Java。这种语言的成熟度和广泛应用性使其在企业级应用......
  • 鸿蒙开发TypeScript语言:【Number】
    TypeScript与JavaScript类似,支持Number对象。Number对象是原始数值的包装对象。语法varnum=newNumber(value);注意: 如果一个参数值不能转换为一个数字将返回NaN(非数字值)。Number对象属性下表列出了Number对象支持的属性:序号属性&描述1.MAX......
  • HarmonyOS NEXT应用开发之使用AKI轻松实现跨语言调用
    介绍针对JS与C/C++跨语言访问场景,NAPI使用比较繁琐。而AKI提供了极简语法糖使用方式,一行代码完成JS与C/C++的无障碍跨语言互调,使用方便。本示例将介绍使用AKI编写C++跨线程调用JS函数场景。通过调用C++全局函数,创建子线程来调用JS函数,实现对变量value的加10操作,为开发者使用AKI提......
  • C语言笔记
    C语言相关知识太多的缺省可见性定义C函数时,在缺省情况下函数的名字是全局可见的。可以在函数的名字前加个冗余的extern关键字。这个函数对于链接到他所在的目标文件的任何东西都是可见的。如果想限制对这个函数的访问,就必须加个static关键字。functionapple()//在任何地方均......
  • 利用C语言进行常见的数学运算:一元二次方程求根
    从键盘输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根并保留两位小数.#include<stdio.h>//使用printf,scanf函数.#include<math.h>......
  • 学废 C 语言——指针
    指针是C语言的基本类型之一。因为某个红书的缘故,指针作为一个“教材难点”撂倒了无数大学新生,但C语言的使用不可能绕开指针,甚至我可以断言不会用指针就不要用C。我希望这篇文章能帮你搞懂指针这个概念。函数处理参数的方式我们首先写一个改变指定变量的函数:voidadd(doubl......