当前位置: 首页 > news >正文

VHDL基础知识笔记(1)

1.实体:其电路意义相当于器件,它相当于电路原理图上的元器件符号。它给出了器件的输入输出引脚。实体又被称为模块。

2.结构体:这个部分会给出实体(或者说模块)的具体实现,指定输入和输出的行为。结构体的begin后面是一组并行语句,它的执行是不以书写顺序为准的。

3.数据对象:
(1)常量一旦赋值就不会发生变化,格式为:
constant 常数名:数据类型:=表达式;

(2)变量声明的示例:
在这里插入图片描述
(3)对信号赋值使用<=,允许产生延时。

总结一下,变量只能在进程语句中说明和使用;信号、常量可以在结构体和进程语句中使用,变量、常量用:=赋值,无延时;信号用<=赋值,有延时。

(4)枚举类型(用户自定义)
例如:
type color is (blue, green, yellow, red) ;
编码顺序是默认的,左边的第一个元素编码为0,以后自动加1,每个元素都是位矢量,位矢量的长度由所列元素的个数决定。比如说上面的例子中有四个元素,位矢量的长度就是2.

(5)自定义整数、实数类型:它们是标准实数、整数类型的的子类型。书写格式为:
type 数据类型名称 is integer range 整数范围 ;
type 数据类型名称 is real range 实数范围 ;

(6) 数组类型:
第一种是限定数组,例如:
type stb is array (7 downto 0) of bit ;
variable addend: stb ; – 变量addend定义为stb数组
第二种是非限定数组,例如:
type bit_vector is array (integer range <>) of bit ;
variable my_vector: bit_vector (5 downto -5) ;
–数组的下标排序是从5到-5

(7) 逻辑运算符:
NOT – 取反
AND – 与
OR – 或
NAND – 与非
NOR – 或非
XOR – 异或(不同为1,相同为0)

(8) 算术运算符中,只有加减乘除能编译成逻辑电路,其他的就很困难甚至不可能。

(9)<=在VHDL中有两种可能,一种用来给信号赋值,另一种表示小于等于。

(10)并置运算符用于位或位矢量的连接。例如:
signal a,b,c : bit ;
signal x,y : bit_vector(2 downto 0)
z <= a&b&c ; – z是3位位矢量
w <= x&y ; – w是6位位矢量

http://www.lryc.cn/news/220764.html

相关文章:

  • volatile-日常使用场景
  • 策略模式在数据接收和发送场景的应用
  • 学习LevelDB架构的检索技术
  • Docker Swarm实现容器的复制均衡及动态管理:详细过程版
  • Proteus仿真--1602LCD显示仿手机键盘按键字符(仿真文件+程序)
  • Rust语言和curl库编写程序
  • FSDiffReg:心脏图像的特征和分数扩散引导无监督形变图像配准
  • 音视频技术开发周刊 | 318
  • asp.net docker-compose添加sql server
  • uniapp 微信小程序 uni-file-picker上传图片报错 chooseAndUploadFile
  • 《向量数据库指南》——用 Milvus Cloud和 NVIDIA Merlin 搭建高效推荐系统结论
  • 致:CSGO游戏搬砖人的一封信
  • MuLogin浏览器如何在一台设备上安全登录和管理多个LinkedIn账户?
  • STM32_project:led_beep
  • [go 反射] 入门
  • 【计算机网络】数据链路层-MAC和ARP协议
  • 本周三商店更新:多款套装下线,四款升级武器带异色皮肤返厂
  • WindowsServer2019-搭建FTP服务器
  • 国际阿里云服务器买哪种好用点?
  • 2023NOIP A层联测25 总结
  • Thread类的基本操作(JAVA多线程)
  • Redis 的三种部署模式
  • 【ArcGIS Pro二次开发】(73):使用NPOI库操作Excel
  • python获取电脑所连接的wifi密码
  • 动态壁纸软件Live Wallpaper HD mac中文版功能特色
  • Spring Boot 配置主从数据库实现读写分离
  • 【MongoDB】索引 - 单字段索引
  • 评估大型语言模型:综述
  • 设计模式之工厂模式(Factory)
  • 2023/11/6 JAVA学习