自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 测试文件的编写 及 相关循环语句

在 Verilog 代码设计完成后,我们还需要进行一项重要的步骤:仿真。一般来说,仿真阶段花费的时间会比设计花费的时间更多,因为需要根据各种可能的应用场景设计各式各样的样例,对应的代码编写也更加复杂。Testbench 的中文释义是试验台、测试架、试样、试验工作台,TestBench 是用于硬件设计中验证和测试设计模块的仿真环境,它可以生成输入信号并模拟设计模块的输出,进而测试设计电路的功能、性能与设计的预期是否相符。首先,我们需要区分测试和 Debug 的概念。

2025-04-02 21:46:52 928

原创 避免锁存器

锁存器是新手容易犯的错误,阅读后自己总结一下。

2025-03-24 18:28:13 859

原创 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

原创 FPGA开发流程

为了方便文件管理,在文件夹内建立几个子文件夹,并把相关的项目资料统一收纳在内。

2025-01-12 23:41:19 602

原创 在顺序块begin...end中,需要注意end前不能时延,否则会编译报错。

我想着多添加一下延时的数自己测试看看,结果不小心在end前也添加了时延,导致我反复检查都没查出问题,最后去看顺序块的定义,才发现end前不能添加时延!点醒了我!

2024-12-26 23:54:41 279

原创 我的学习记录

因为想记录一下自己的学习经过,虽然我知道可能也是半途而废,但是就当体验一下吧!

2024-12-26 21:56:10 84

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除