#Verilog学习笔记
1.什么是Verilog?
verilog是一种硬件描述语言,我们在写verilog 代码时,首先要有所要写的module在硬件上如何实现的概念,而不是去想编译器如何解释这个module。比如在决定是否使用 reg 定义时,要问问自己物理上是不是真正存在这个 register, 如果是,它的clock 是什么? D 端是什么?Q 端是什么?有没有清零和置位?同步还是异步?再比如上面讨论的三态输出问题,首先想到的应该是在 register 的输出后面加一个三态门,而不是如何才能让编译器知道要“赋值”给一个信号为三态。同样,Verilog 中没有“编译”的概念,而只有综合的概念,我们只有综合工具,而没有所谓的编译器。
2.quartus lite版本只支持Arria、Cyclone以及MAX系列,并不支持Stratix系列。
3.从模块内部看,只有端口类型为output时,端口声明才能为reg数据类型。详情见《Verilog HDL数字设计与综合》例4.4,4.6。
4.ANSI C风格的端口声明:在列举端口列表时直接进行端口声明。
例: module fulladd4(output reg [3:0] sum,output reg c_out, input [3:0] a,b,input c_in);
…
<模块内容>
…
endmodule
5.verilog之可综合与不可综合?
答:可综合的意思是说所编写的代码可以对应成具体的电路,不可综合就是所写代码没有对应
Verilog学习笔记1
最新推荐文章于 2022-08-23 14:01:23 发布
本文是关于Verilog学习的笔记,介绍了Verilog作为硬件描述语言的基本概念,强调了可综合性和不可综合语句的区别,包括initial、real、time等的使用限制。此外,还讨论了数据流建模与行为建模在数字电路设计中的应用,以及D锁存器与D触发器的差异。特别指出,在使用Verilog进行FPGA设计时,应注意避免某些特定语法,以确保代码能成功综合。
摘要由CSDN通过智能技术生成