服务好的南昌网站制作,php网站开发实例电子版,云购网站建设,登烈建站1 Verilog常用关键字
大概知道以下哪些是关键字就好#xff0c;如何使用还是得在编写代码中来学习。 2 Verilog注释方法
Verilog有两种注释方式#xff1a;
2.1 “ // ”
单行。 2.2 “ /* ... */ ”
可扩展多行。 3 Verilog程序基本框架
Verilog 的基本设计单元是“…1 Verilog常用关键字
大概知道以下哪些是关键字就好如何使用还是得在编写代码中来学习。 2 Verilog注释方法
Verilog有两种注释方式
2.1 “ // ”
单行。 2.2 “ /* ... */ ”
可扩展多行。 3 Verilog程序基本框架
Verilog 的基本设计单元是“模块”( block)模块就类似于C语言中的函数。
每个Verilog程序包括4个主要的部分端口定义、IO说明、内部信号声明、逻辑功能定义。 module 模块名字(端口定义) ...IO说明 ...内部信号声明主要描述一些内部可能用到的信号定义出来 ...逻辑功能描述 endmodule PS其中端口定义可以省略或者说与IO说明合在一起见例子1中abcd为端口定义内部信号声明依具体情况而定也不一定存在。因此其实一个模块主要的部分是一部分描述接口IO说明即端口说明另一部分描述逻辑功能 。 3.1 例子1
这个例子没有内部信号声明这一块给出了对应的硬件电路图和模块图比较简单易于理解。 1看上图左侧图为一个模块的程序
module开始endmodule结束。IO说明描述接口部分红色框用关键字input定义ab为模块的输入用关键字output定义ab为模块的输出。逻辑功能定义描述逻辑功能部分绿色框用关键字assign描述逻辑功能。
2看上图中间图和右侧图。
中间图就可以看作是你编写的这个程序的模块描述接口的情况一个黑匣子输入为你定义的a、b输出为你定义的c、d。右侧图就是描写的这个程序实现的硬件电路程序中assign描述的就是ab连接一个或门输出为cab连接一个与门输出为d。注意当程序编写的是可综合模块能够生成对应的硬件电路不可综合的模块则不行但可以在仿真中使用不可综合的模块程序。这个不太懂后续学了再补
3.2 例子2 以上例子省略了端口定义这一部分
module开始endmodule结束。IO说明描述接口部分黄色框。内部信号声明粉色框这里定义了一个寄存器类型的计数器。逻辑功能定义描述逻辑功能部分蓝色框这里有两个always描述了两个逻辑功能。 3.3 总结
以上两个例子总结出Verilog程序框架的一些特点吧。
每个Verilog程序包括4个主要的部分端口定义、IO说明、内部信号声明、逻辑功能定义。IO说明默认端口是wire类型如果要改成reg类型要写出来如例子2程序中的output定义。逻辑功能定义可多个且多个逻辑功能是并行的即例子2中的两个always逻辑功能段谁前谁后无所谓是同时编译完成逻辑功能的这和C语言不一样C语言要强调顺序问题。 另外逻辑功能定义部分有三种方法。 1、assign语句描述组合逻辑。 2、always语句描述组合/时序逻辑。 3、例化实例元件可理解为画出一个逻辑单元 比如这个例子就是先了一个二输入的与门。 PS组合逻辑电路的输出仅取决于当前的输入状态与电路之前的状态无关时序逻辑电路的输出不仅取决于当前的输入还受到电路原来状态的影响。 注本文学习及图片来源于哔哩哔哩“正点原子”如有侵权请联系我欢迎指正~