Verilog HDL与FPGA
文章平均质量分 73
硬件设计语言Verilog HDL学习、FPGA学习
以及爬坑记录
CC_且听风吟
行百里者半九十
展开
-
vivado:mixed level sensitive and edge triggered event controls are not supported for synthesis
环境:vivado2018.2如下主要部分代码里的always块报错:[Synth 8-434] mixed level sensitive and edge triggered event controls are not supported for synthesisalways@(posedge clk or rst) begin ...代码内容endstackoverflow上的解释大致为:Mixed sensitive list of levels and edges is not原创 2020-05-31 15:06:47 · 5665 阅读 · 0 评论 -
Verilog 位拼接运算符 { }
虽然Verilog HDL和C语言长得很像,但是在学习verilog的过程中还是遇到了一些和C完全不同的语法,比如拼接运算符 { }注意: 这个{ }的使用跟C语言一点关系没有,Verilog语言表示代码区块是用begin-end来表示1. 定义位拼接运算符{ }用于将两个或多个信号拼接起来,表示一个整体的信号例如一个一位全加器可以将进位输出和结果拼接在一起:module fulla...原创 2020-01-05 01:22:46 · 49780 阅读 · 6 评论 -
Verilog 三种变量类型
1. nets型变量输出始终随输入变化的变量重点关注wire型的使用常用于和assign语句使用表示组合逻辑模块中的输入/输出信号类型都为wire型定义方法:wire param;// 同时定义m个wire类型变量wire [n:1] name1, name2, ..., name_m; // 每条总线位宽为nwire [n-1:0] name1, name2, ..., ...原创 2020-01-05 00:55:46 · 7173 阅读 · 0 评论 -
Verilog 阻塞赋值和非阻塞赋值
1. 阻塞赋值使用一般使用的=进行赋值always@(clk) begin b = a; c = b;end在前面的a赋值给b的语句没有完成之前,后面的赋值语句不进行操作,就像被阻塞了一样,称为阻塞赋值以上代码会产生的电路结构:2. 非阻塞赋值使用一般使用的<=进行赋值always@(clk) begin b <= a; c <= b;end...原创 2020-01-05 00:16:17 · 441 阅读 · 0 评论