一生一芯E阶段学习笔记

本文最后更新于 2026年4月15日 晚上

Verilog基础

原件声明:

1
2
3
4
module (input a,b,c,output x,y,z,t)
assign {x,y,z,t}={a,b,c,c};
//这个是**确定位宽时**的赋值语法糖
endmodule

Reset: Sync vs. Async

被这个整懵了,记录一下。

简单来说就是 sync reset 只需要在正常的时序逻辑里单独判断一下就行了。

Async还要再在always块里面加上 pos/negedge areset, 然后再判断。同时 if...else 逻辑还要和检测的边缘类型相对应。

State Machine 相关

注意, State Machine的输出一般都是 “是否是某个状态”。编码时记得以此为基础。

One Hot Encode 相关

题目要求 Logic Expression 的时候,是想要形如

1
2
3
4
5
6
7
8
9
module top_module (
input [6:1] y,
input w,
output Y2,
output Y4);
parameter A=6'b000001,B=6'b000010,C=6'b000100,D=6'b001000,E=6'b010000,F=6'b100000;
assign Y2 = (~w)&&(y&A);
assign Y4 = w && (y&(B|C|E|F));
endmodule

里面, assign 后面那样的柿子。


一生一芯E阶段学习笔记
https://chenxizhou233.github.io/posts/7323425a.html
作者
Xizhou Chen
发布于
2026年2月27日
许可协议