数字电路基础:逻辑门实验与FPGA仿真入门
创作时间:
作者:
@小白创作中心
数字电路基础:逻辑门实验与FPGA仿真入门
引用
CSDN
1.
https://m.blog.csdn.net/weixin_64593595/article/details/145532812
基础逻辑门是数字电路设计的核心元件,它们执行的是基本的逻辑运算。通过这些基本运算,可以构建出更为复杂的逻辑功能。常见的基础逻辑门包括与门(AND)、或门(OR)、非门(NOT)、异或门(XOR)、与非门(NAND)和或非门(NOR)。这些逻辑门广泛应用于计算机、嵌入式系统以及各种数字电子设备中。
与门
符号
与门(AND gate),又称逻辑积电路。 只有当输入都为高电平(逻辑1)时,输出才为高电平(逻辑1),否则输出为低电平(逻辑0),与门逻辑符号(矩形国标符号与形状特征符号)如下所示。
与门真值表
输入 A | 输入 B | 输出 X(A & B) |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
与门波形图
本质其实就是都是1就是1。
我们为什么在写 FPGA 时要先进行仿真,主要原因如下:
- 验证设计正确性:仿真可以在硬件实现之前验证逻辑设计的正确性。通过模拟输入信号并观察输出,设计者可以确保设计按照预期工作,及时发现并纠正逻辑错误。
- 减少硬件调试时间:在实际硬件上测试发现问题,调试往往非常耗时且复杂。通过在仿真环境中提前发现问题,可以大幅减少在FPGA硬件上的调试时间和成本。
- 功能验证:设计过程中,仿真可以用于验证各个功能模块的交互和整体系统的功能。确保模块之间的数据传输和控制信号的正确性。
提供的仿真例程文件都在对应工程的 sim
文件夹里面,如果想跟着一起写的话,先创建一个工程,工程里面包含 doc
、rtl
、sim
。
仿真文件 logical_and_mod.v
例程
`timescale 1ns / 1ns // 定义时间单位为1纳秒,时间精度也为1纳秒
module logical_and_mod(); // 模块定义,名称为logical_and_mod
//reg define
reg A; // 定义A,作为输入信号
reg B; // 定义B,作为输入信号
//wire define
wire X; // 定义逻辑与运算的输出
// 初始化信号
initial begin
A = 1'b0; // 将寄存器A初始化为0
B = 1'b0; // 将寄存器B初始化为0
#200; // 等待200纳秒
A = 1'b0; // 设置A为0
B = 1'b1; // 设置B为1
#200; // 等待200纳秒
A = 1'b1; // 设置A为1
B = 1'b0; // 设置B为0
#200; // 等待200纳秒
A = 1'b1; // 设置A为1
B = 1'b1; // 设置B为1
#200; // 等待200纳秒
end
// 例化
logical_and u_logical_and(
.A(A), // 输入A
.B(B), // 输入B
.X(X) // 输出X,存储逻辑与运算结果
);
endmodule // 模块结束
initial begin
表示初始化过程,在 initial
块内,给 A
和 B
分别赋值,并使用 #200
来表示等待 200 纳秒。1'b0
表示 1 位的二进制值 0。1'b1
表示 1 位的二进制值 1。总共进行 4 次信号的变化,每次设置不同的值,然后等待 200 纳秒。
- 第一次:A = 0, B = 0
- 第二次:A = 0, B = 1
- 第三次:A = 1, B = 0
- 第四次:A = 1, B = 1
Verilog 模块实现
module logical_and(
input A, //输入 A
input B, //输入 B
output X //输出 X
);
assign X = A & B; //将输入 A & B 的结果直接赋值给 输出 X
endmodule
这是一个名为 logical_and
的 Verilog 模块定义。这个模块实现了逻辑与(AND)运算。
input A
:定义了输入端口 A,它是一个 1 位二进制输入信号。input B
:定义了输入端口 B,它也是一个 1 位二进制输入信号。output X
:定义了输出端口 X,它是一个 1 位二进制输出信号,用于存储逻辑与运算的结果。
assign X = A & B;
是 Verilog 中的连续赋值语句,表示将 A 和 B 进行按位与(AND)运算的结果直接赋值给输出端口 X。
- A & B:对输入信号 A 和 B 进行按位与(AND)运算,运算规则如下:
- 0 AND 0 = 0
- 0 AND 1 = 0
- 1 AND 0 = 0
- 1 AND 1 = 1
结果 X 只会在 A 和 B 都为 1 时为 1,否则为 0。
热门推荐
佳能单反镜头超详细的知识讲解,让你一次学个够
中盐集团董事长李耀强:红四方上市开启农肥板块资本新征程
探秘赤玉土的功效与作用(硬度与软度的比较及选择技巧)
纯净水揭秘:它到底是纯净物还是混合物?
Excel表格中怎么设置表格颜色
龙门石窟美食探秘:品味石窟旁的舌尖盛宴
碰碰香(一抹香)的介绍与养护知识
碰碰香喜阴还是喜阳?(探究室内植物的光照需求及种植技巧)
入户门“内开”改“外开”侵权了吗?一业主被邻居告上法庭
新云医疗亮相国际疼痛领域学术盛会,展示中国医疗科技创新实力
财务基础知识全解析,掌握这些关键点,让你成为理财高手
黄兴:笃实前行,一生“无我”
幽门螺杆菌天敌:这些食物助你抑菌
中医治疗幽门螺杆菌感染的三个典型方剂
什么是金本位?了解金本位制度及其在现代货币系统中的影响
为什么金本位受到关注?金本位的影响范围有多大?
社保卡有有效期吗?到期会影响使用吗?
自闭症孩子的情绪管理和行为干预策略
工资“白菜价”,但特斯拉仍能吸引10万打工人奔赴的秘密
光伏运维工程师有前途吗?薪资待遇怎么样?
租赁合同能分户吗?解除租赁合同需要公示吗?晚签租赁合同合法吗?
如何理性研究购买老房子作为投资的优劣?这种投资方式有哪些风险因素?
豆角可以生吃吗?生吃豆角的安全性和营养价值如何?
豆角可以生吃吗?生吃豆角的安全性和营养价值如何?
在线绘制带颜色标注的大脑脑区图
代码审查规范:提升代码质量与团队协作效率
美元指数波动加剧呈现贬值趋势 专家:与市场担忧美国经济前景有关
如何建立高效的问题追踪机制
宣传片制作:10种开场策略助你轻松吸引客户
初一初二初三分别有哪些课程?各年级学习特点与要求全解析