新建项目

操作步骤

按下列图例操作

image-20250306051754103

image-20250306051859585

特别注意

这一步这里先不要点,这个地方需要注意!

image-20250306052015471

框框 1里的位置可以改,但是特别注意要保证满足以下条件,否则后续很可能因此报错!!

  • 路径里所有文件夹、文件的名字:

    • 只能由大写字母、小写字母、数字、下划线 _, 短横线-,这五种字符组成
    • 不能包含空格
    • 尤其不要有中文,虽然在第一条已经限制了,但是特别提一下

错误的路径示例:

❌ C:\Program Files\my-code      -- 含有空格
❌ C:\Users\用户的名字\my-code     -- 含有中文
❌ D:\我的代码\project-1           -- 含有中文
❌ D:\code\verilog proj\proj-1    -- 含有空格

框框 2框框 3里,2是指项目名,3是指项目中的根级模块实体名,

初期学习阶段,比如说刚开始写你的第一个模块,或者还一个模块都没写过,甚至不知道模块是什么,

请保持 2 和 3 中的内容完全相同,

此外,请保证 2 和 3 中的内容都满足以下条件,否则后续很可能因此报错!!

  • 字母开头:模块名必须以字母(A-Z 或 a-z)开头。
  • 字符组成:

    • 可以包含字母(A-Z, a-z)、数字(0-9)、下划线 _
    • 不能包含空格、短横线 -、特殊符号(如 !, @, # 等)。
  • 大小写敏感:Verilog 是大小写敏感的语言,MyModulemymodule 是两个不同的模块名。
  • 保留字:模块名不能是 Verilog 的保留字(如 moduleendmodulewirereg 等)。

官方文档

官方的 Verilog 标准文档是由 IEEE 维护的。以下是相关的标准文档:

  • IEEE Std 1364-2005:这是 Verilog HDL 的经典标准版本。
  • IEEE Std 1800-2017:这是 SystemVerilog 的标准,SystemVerilog 是 Verilog 的超集,包含了更多的功能和特性。

你可以通过 IEEE 官网购买这些标准文档,或者在一些开源资源网站上找到免费的草稿版本。此外,许多大学和研究机构也会提供这些标准的访问权限。

如果你需要更详细的语法和语义说明,可以参考以下资源:

这些文档提供了 Verilog 和 SystemVerilog 的完整规范,包括模块命名规则在内的所有语言细节。

继续操作

根据自己的情况,输入三个框框的内容,然后点Next下一步,

(对于本文章的情况来说,下面三个填完直接点Finish也是可以的)

image-20250306054053061

image-20250306054154976

image-20250306054226362

image-20250306054248701

image-20250306054258035

创建Verilog源代码文件和编译

按照下列图例操作

image-20250306054531604

image-20250306054612014

复制下面的代码粘贴到新的Verilog1.v里面,

注意:要确保模块名和之前创建项目时设置的保持一致,比如我这里是my_mod,

(下面有几张图的模块名是dff,那是我打错了的时候截的图,运行报错了才发现的😂)

module my_mod (
    input  clk,
    input  D,
    output reg Q
);
    always @(posedge clk) begin
        Q <= D;  // 非阻塞赋值
    end
endmodule

image-20250306055355444

然后按Ctrl+S或点文件菜单命令来保存文件,

image-20250306055054575

image-20250306055140085

保存后点击编译,

image-20250306055514315

编译的时候,在IDE右下角能看到进度,

image-20250306055505709

编译成功会看到提示 was successful

image-20250306055802526

运行仿真

按照下列图例运行

image-20250306060946933

image-20250306061017342

在框内空白处双击

image-20250306061054242

image-20250306061127668

image-20250306061146836

image-20250306061213947

image-20250306061230429

image-20250306061434363

输入周期、偏移、占空比

image-20250306061453090

为输入信号生成随机信号

image-20250306061728441

然后会弹出一个对话框,这里的第一项和第二项分别是指每一个和每半个随机生成,在图上,

一个就是

(我这里这个图只是用来表示一个grid有在图里有多长,但是我这个波形图的输入信号D并不是用grid生成的而是half grid)

image-20250306070620468

半个就是

image-20250306070640343

第三项和第四项分别是完全随机重复和固定重复

image-20250306061823575

时钟信号和输入信号都有了,点下图中标注的按钮,运行时序仿真,

如果没有手动保存,这里会弹出一个对话框是正常的,点Yes

image-20250306062310479

image-20250306062424544

image-20250306065347382

我这里报了一个错误,

image-20250306062727961

根据报错消息操作如下,

image-20250306062816082

image-20250306062850730

image-20250306062915375

每次运行前记得保存文件嗷

image-20250306062310479

成功运行仿真就能看到输出信号的波形图了,

可以点快捷工具栏里第二个放大镜来辅助观察,

选了放大镜后,点击内部波形图,左键放大右键缩小,

或者按住Ctrl时,鼠标浮在波形图上,滚动鼠标滚轮来控制缩放,这个比较方便快捷,

image-20250306065503970

观察仿真输出波形图

image-20250306070243079

最后修改:2025 年 03 月 11 日
如果觉得我的文章对你有用,请随意赞赏