![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Verilog
文章平均质量分 75
爱吃羊的老虎
这个作者很懒,什么都没留下…
展开
-
【Verilog入门】常见的可用于仿真不能综合成硬件的语句及其原因
这些不可综合的语句和结构主要是因为它们在仿真环境中有特定的用途,但在实际硬件中没有对应的实现方式。为了确保代码可综合,设计时应避免使用这些语句,并专注于用结构级和RTL(寄存器传输级)描述硬件行为。如果需要在仿真中使用这些不可综合的语句,应将其限定在仅用于仿真的代码块中,并确保在综合时被忽略。原创 2024-07-23 16:58:45 · 231 阅读 · 0 评论 -
【verilog入门】赋值运算符‘<=‘和‘=‘
执行顺序:立即赋值并更新变量,阻塞后续语句的执行。<=:在时间步结束时赋值,不阻塞后续语句的执行。适用场景:适用于组合逻辑和需要立即更新变量的情况。<=:适用于时序逻辑,特别是寄存器行为的建模。使用非阻塞赋值 (<=) 可以确保在一个时钟周期内所有的赋值操作同时发生,这对于时序逻辑的正确建模是非常重要的。而使用阻塞赋值 () 则可以确保在组合逻辑中,前一个赋值操作完成后,后续操作才能进行。原创 2024-07-23 16:29:43 · 108 阅读 · 0 评论 -
【Verilog入门】基础的Verilog代码的结构(看完迅速上手写代码)
一个基础的 Verilog 模块结构包括模块声明、端口声明、内部信号声明、初始化块和过程块。初始化块用于仿真开始时的初始化,过程块用于在指定事件发生时执行特定操作。通过这些基本部分,可以构建和描述各种数字电路和系统。原创 2024-07-16 08:47:36 · 422 阅读 · 0 评论 -
【Verilog入门】模块的实例化(巨巨巨巨详细讲解)
顶层模块top_module定义了三个端口:两个 32 位的输入端口a和b,以及一个 32 位的输出端口sum。模块实例化是 Verilog 中将一个模块嵌入到另一个模块中的过程。它使得设计更具层次性和可复用性。通过端口映射,可以灵活地将顶层模块的信号连接到子模块的端口,从而实现复杂设计的模块化。原创 2024-07-12 12:16:57 · 413 阅读 · 0 评论 -
【Verilog入门】生动形象讲解wire与reg
wire 是一个直接传输信号的管道,而 reg 是一个可以存储信号的水桶。在组合逻辑中,信号直接传递,因此使用 wire;在时序逻辑中,信号在时钟或控制信号的作用下存储和更新,因此使用 reg。原创 2024-07-12 09:27:07 · 351 阅读 · 0 评论