新建项目
操作步骤
按下列图例操作
特别注意
这一步这里先不要点,这个地方需要注意!
框框 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)、下划线
_
。 - 不能包含空格、短横线
-
、特殊符号(如!
,@
,#
等)。
- 可以包含字母(A-Z, a-z)、数字(0-9)、下划线
- 大小写敏感:Verilog 是大小写敏感的语言,
MyModule
和mymodule
是两个不同的模块名。 - 保留字:模块名不能是 Verilog 的保留字(如
module
、endmodule
、wire
、reg
等)。
官方的 Verilog 标准文档是由 IEEE 维护的。以下是相关的标准文档:
- IEEE Std 1364-2005:这是 Verilog HDL 的经典标准版本。
- IEEE Std 1800-2017:这是 SystemVerilog 的标准,SystemVerilog 是 Verilog 的超集,包含了更多的功能和特性。
你可以通过 IEEE 官网购买这些标准文档,或者在一些开源资源网站上找到免费的草稿版本。此外,许多大学和研究机构也会提供这些标准的访问权限。
如果你需要更详细的语法和语义说明,可以参考以下资源:
这些文档提供了 Verilog 和 SystemVerilog 的完整规范,包括模块命名规则在内的所有语言细节。
继续操作
根据自己的情况,输入三个框框的内容,然后点Next下一步,
(对于本文章的情况来说,下面三个填完直接点Finish也是可以的)
创建Verilog源代码文件和编译
按照下列图例操作
复制下面的代码粘贴到新的Verilog1.v
里面,
注意:要确保模块名和之前创建项目时设置的保持一致,比如我这里是my_mod,
(下面有几张图的模块名是dff
,那是我打错了的时候截的图,运行报错了才发现的😂)
module my_mod (
input clk,
input D,
output reg Q
);
always @(posedge clk) begin
Q <= D; // 非阻塞赋值
end
endmodule
然后按Ctrl
+S
或点文件菜单命令来保存文件,
保存后点击编译,
编译的时候,在IDE右下角能看到进度,
编译成功会看到提示 was successful
运行仿真
按照下列图例运行
在框内空白处双击
输入周期、偏移、占空比
为输入信号生成随机信号
然后会弹出一个对话框,这里的第一项和第二项分别是指每一个和每半个随机生成,在图上,
一个就是
(我这里这个图只是用来表示一个grid有在图里有多长,但是我这个波形图的输入信号D并不是用grid生成的而是half grid)
半个就是
第三项和第四项分别是完全随机重复和固定重复
时钟信号和输入信号都有了,点下图中标注的按钮,运行时序仿真,
如果没有手动保存,这里会弹出一个对话框是正常的,点Yes
我这里报了一个错误,
根据报错消息操作如下,
每次运行前记得保存文件嗷
成功运行仿真就能看到输出信号的波形图了,
可以点快捷工具栏里第二个放大镜来辅助观察,
选了放大镜后,点击内部波形图,左键放大右键缩小,
或者按住Ctrl
时,鼠标浮在波形图上,滚动鼠标滚轮来控制缩放,这个比较方便快捷,