verilog相关知识
来源:互联网 发布:民治单片机培训 编辑:程序博客网 时间:2024/05/21 06:20
语法知识:
1. 顶层模块的输入输出必须是wire类型,因为需要与开发板的引脚绑定。其他部分的模块则没有这个需求。
2. 模块:模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。
一个模块可以在另一个模块中使用。
多使用模块化设计。
3. 4'b0000: segment <= 8'b11000000;
要显示的将小数点设置为0,或者直接不定义管脚。
digit_anode <= 4'b1110;
如果是
digit_anode <= 0;四位会一起显示出来。
4. 在verilog中使用for语句出现错误。
错误信息:expecting 'endmodule', found 'for'
建议你除了testbench,不要使用for
5. verilog中赋值有用assign a=b和a<=b和a=b这三种赋值方法
assign 语句后的赋值会生成组合逻辑,也就是从b到a会生成一条导线,将他们连接,b的值如果改变,a的值同时也会改变;
在Verilog中有两种类型的赋值语句:阻塞赋值语句(“=”)和非阻塞赋值语句(“<=”)。正确地使用这两种赋值语句对于Verilog的设计和仿真非常重要。
阻塞:在本语句中“右式计算”和“左式更新”完全完成之后,才开始执行下一条语句;
非阻塞:当前语句的执行不会阻塞下一语句的执行。
6. wire是线网,就是相当于实际中的连接线,你想assign的话就是直接连接,就是用wire型,他的值是随时变化的。比如你想寄存一下,让他在时钟边沿才变化就需要reg类型了
reg相当于存储单元,wire相当于物理连线
Verilog 中变量的物理数据分为线型和寄存器型。这两种类型的变量在定义时要设置位宽,缺省为1位。wire表示直通,即只要输入有变化,输出马上无条件地反映;reg表示一定要有触发,输出才会反映输入。
reg必须在clock的作用下赋值。
7. `timescale是Verilog HDL 中的一种时间尺度预编译指令,它用来定义模块的仿真 时的时间单位和时间精度。格式如下:
`timescale 仿真时间单位/时间精度
- verilog相关知识
- 【知乎】verilog相关知识杂谈
- verilog入门知识【1】
- verilog入门知识【2】
- verilog入门知识小结
- Verilog 语法入门知识
- verilog 显示相关
- verilog $fscanf相关讲解
- verilog编码风格 --- 与综合相关
- verilog
- verilog
- Verilog
- 相关reactjs的相关知识
- OPC的相关知识
- ActiveX控件相关知识~
- JDBC的相关知识
- 事务的相关知识
- 数据迁移相关知识
- C语言中的__FILE__、__LINE__和#line
- 设计模式C++实现(16)——状态模式
- 据说看完这21个故事的人,30岁前都成了亿万富!
- 查看Memcached服务状态
- java如何调用exe文件
- verilog相关知识
- C# 获取CPU 温度 的两种方式
- SAP和Java系统的Webservice实例
- 弱校ACM奋斗史
- Hive 随谈(一)– Hive 入门
- 学习内容
- Myeclipse不能和tomcat同步的问题解决
- Printing with String Literals
- java 内存