- 博客(8)
- 收藏
- 关注
原创 测试文件的编写 及 相关循环语句
在 Verilog 代码设计完成后,我们还需要进行一项重要的步骤:仿真。一般来说,仿真阶段花费的时间会比设计花费的时间更多,因为需要根据各种可能的应用场景设计各式各样的样例,对应的代码编写也更加复杂。Testbench 的中文释义是试验台、测试架、试样、试验工作台,TestBench 是用于硬件设计中验证和测试设计模块的仿真环境,它可以生成输入信号并模拟设计模块的输出,进而测试设计电路的功能、性能与设计的预期是否相符。首先,我们需要区分测试和 Debug 的概念。
2025-04-02 21:46:52
928
原创 Verilog语言中,关于always的详细介绍
当时我会深究这个现象问题,是因为我认为,既然always的敏感变量在0时刻的初始值就是1,没有电平变化(甚至持续数ns),那么按理来说就不会进入always内,更不会执行q的赋值操作,那么reg型q就没有存储任何值,那就应该是默认的X。在延时后,如果按照我错误的想法,q的值应该为X,但实际上可以很明显的看出,在0时刻的时候q的取值是en为X的情况,也就是进入了else内。但真实情况是q的值和data的值一样,那就表明我的认为是错的,在0时刻之前或许就已经进入了always内。
2025-03-16 22:16:05
331
原创 Verilog HDL语法(下)
Verilog 可以使用三种不同的方式描述模块实现的逻辑功能。调用其他已经定义过的低层次模块对整个电路的功能进行描述,或者直接调用 Verilog 内部预先定义的基本门级元件描述电路的结构进行描述。使用连续赋值语句 assign 对电路的逻辑功能进行描述。该方式特别适合于对组合逻辑电路建模。使用过程块语句结构 always 和比较抽象的高级程序语句对电路的逻辑功能进行描述。例子:对下面的电路分别使用三种不同的方式进行描述。请写出该电路的逻辑表达式。(数字电路知识)
2025-03-02 17:48:27
685
原创 Verilog HDL语法(上)
对verilog进行了入门级别的介绍。重点需要区分开wire型和reg型的不同,像是它们在声明,赋值,模块例化等地方。还需要注意在时序逻辑电路和组合逻辑电路,它们在赋值,条件语句中的特殊缺省情况等,避免出现latch。
2025-02-21 22:26:13
617
原创 在顺序块begin...end中,需要注意end前不能时延,否则会编译报错。
我想着多添加一下延时的数自己测试看看,结果不小心在end前也添加了时延,导致我反复检查都没查出问题,最后去看顺序块的定义,才发现end前不能添加时延!点醒了我!
2024-12-26 23:54:41
279
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人