付哥说:一步一步来吧。
付哥和庆哥都推荐我看《Verilog数字程序设计教程》——夏宇闻,接下来会用好几篇博客记录我在基本概念学习中遇到的困惑以及对于困惑的回答。
第二章《Verilog语法的基本概念》
1、模块:用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型,简称模块。
2、怎么理解“Verilog既是一种行为描述的语言也是一种结构描述的语言。”?
因为“Verilog语言可以用来建立电路模型,这里说的电路模型既可以是描述电路功能行为的模块,也可以是描述元器件或较大部件互联的模块。
而且,如果按照一定的规则和风格编写,功能行为模块可以通过工具自动转换为门级互联的结构模块。
3、抽象级别与模型类型
(1)系统级(system-level):用语言提供的高级结构能够实现待设计模块的外部性能的模型。
(2)算法级(algorithm-level):用语言提供的高级结构能够实现算法运行的模型。
(3)RTL级(register transfer level):描述数据在寄存器之间的流动和如何处理、控制达到数据流动的模型。
以上三种都属于(电路功能)行为描述,仅RTL级与逻辑电路有明确的对应关系。
(4)门级(gate-level):描述逻辑门与逻辑门之间连接的模型。
与逻辑电路有确定的连接关系,以上4中是数字系统设计师必须掌握的。
(5)开关级(switch-level):描述器件中三极管和储存节点以及它们之间连接的模型。
与具体的物理电路有对应关系,工艺库元件和宏部件设计人员必须掌握。
4、always@(sl or a or b)表示的意义是什么?
只要sl或a或b,其中若有一个变化时就执行下面的语句
5、综合:如果在编写Verilog模块时,不但符合语法,还符合一些基本规则,就可以通过计算机上运行的工具把......(还不太懂,继续学习)
6、一个重要的问题:可综合性
(1)何种风格的Verilog模块是可综合的
(2)何种风格的模块是不可综合的
(3)不可综合的模块有什么作用
7、前仿真、逻辑网表仿真、后仿真
(1)前仿真(RTL仿真):在功能级行为上进行的测试
(2)逻辑网表仿真:逻辑布尔表达式级上进行的测试
(3)后防真(门级仿真):门级结构模块与具体的工艺技术对应起来,并加入布局布线引入的延迟模型,此时进行的仿真称为布线后仿真,这种仿真与实际电路情况非常接近。
答案见《Verilog数字系统设计教程》课后习题答案
1、Verilog语言有什么作用?
2、构成模块的关键词是什么?
3、为什么说可以用Verilog构成非常复杂的电路结构?
4、为什么可以用比较抽象的描述来设计具体的电路结构?
5、是否任意抽象的符合语法的Verilog模块都可以通过综合工具转变为电路结构?
6、什么叫综合?
通过综合工具把行为级描述的模块通过逻辑网表自动转化为门级形式的模块叫做综合。
7、综合是由什么工具完成的?
8、通过综合产生的是什么?产生的结果有什么用处?
9、仿真是什么?为什么要进行仿真?
10、仿真可以在几个层面上进行?每个层面上的仿真有什么意义?
11、模块的端口是怎么描述的?
12、在引用实例模块的时候,如何在主模块中连接信号线?
13、如何产生连续的周期性测试时钟?
14、如果不用initial块,能否产生测试时钟?
不能,没有initial块,就不知道时钟信号的初始值。
15、从本讲的简单例子,是否能明白always块与initial块有什么不同/
16、为什么说Verilog可以用来设计数字逻辑电路和系统?
我几乎以为我找不到课后答案了,结果多找了一会会,换了下关键词就找到了。多坚持一下下就好