verilog

  1. 电路:
    模拟信号: 连续
    数字信号:离散

2.可编程逻辑器件

CPLD:基于"乘积项"的与或逻辑阵列

FPGA:基于"查找表"的CLB阵列

  1. verilog和c

    verilog:硬件描述语言,会生成电路,并行

    c:软件编程语言,串行

    即FPGA和单片机的区别

  2. 数字电路基础知识

0:低电平

1:高电平

X:未知,可能是高电平也可能是低电平

Z:高阻态,悬空状态

二进制:b, 4'b0101

八进制:o

十进制:d, 4'd2: 4位十进制2

十六进制:h, 4'ha

默认是32位,十进制

可通过添加下划线增加可读性,如: 16'b1001_1010_1010_1001

标识符:用于定义模块名,端口名,信号名。标识符第一个字符必须是字母或下划线,区分大小写

5.数据类型

寄存器数据类型reg

复制代码
reg [31:0] delay_cnt; // 32位延时技术
reg key_reg;

只在always和initial语句中被赋值,默认初始值为不定值X,不可在定义寄存器时赋值。

时序逻辑即always语句带有时钟信号,则该寄存器变量对应为触发器

组合逻辑即always语句不带时钟信号,则改寄存器对应硬件连线

线网数据类型

表示结构实体(例如门)之间的物理连线,不能存储值,它的值由驱动它的元件所决定。

驱动线网类型变量的元件有门、连续赋值语句、assign等

如果没有驱动元件连接到线网类型的变量上,则该变量就是高阻的,其值为z.

wire和tri

复制代码
wire key_flag;

参数数据类型

常量,parameter定义

复制代码
parameter H_SYNC = 11'd41;

常用于定义状态机状态、数据位宽和延迟大小等。

  1. 运算符
    算数运算符
    关系运算符
    逻辑运算符
    条件运算符: ?:
    位运算符
    移位运算符
相关推荐
星夜离尘565 小时前
FPGA 复位回归实验:双时钟停钟、释放中重入与消费端首拍自检
fpga开发
szxinmai主板定制专家6 小时前
ZYNQ 数据采集方案踩坑总结:电力强电磁干扰、工业现场多协议适配优化
运维·人工智能·fpga开发·机器人·zynq
幻智星科技8 小时前
一个开源的纯FPGA网口采集卡
网络协议·fpga开发·udp
bobuddy8 小时前
硬件加速三件套:emulator-FPGA 原型-云仿真
fpga开发
szxinmai主板定制专家13 小时前
软硬协同!ZYNQ 高速多通道同步采集,变电站 / 工厂设备状态监测方案详解
人工智能·深度学习·机器学习·fpga开发·zynq·rk3576
FPGA小徐13 小时前
FPGA 8阶LFSR加扰/解扰器设计
fpga开发
逐光者93315 小时前
超前进位加法器:原理、推导与 Verilog 实现
fpga开发
szxinmai主板定制专家16 小时前
ZYNQ PL+PS 架构拆解|工业自动化与电力物联网高速数据采集、预处理与协议上云
arm开发·人工智能·物联网·fpga开发·数据采集卡·rk3576
szxinmai主板定制专家17 小时前
告别 ARM 实时性短板:基于 ZYNQ 的电力故障录波 + 工业振动数据采集系统设计
arm开发·人工智能·fpga开发·zynq·数据采集卡·arm+fpga·rk3588+fpga
FPGA小徐19 小时前
FPGA 实现 Canny 边缘检测|大白话原理 + 专业工程解析
fpga开发