Verilog学习笔记
文章目录
前言
因为参与的新项目需要用fpga,所以自己学了一下verilog语言。整理一些比较基础的内容。
一、Verilog语言相关
Verilog是一种硬件描述语言,与C语言不同,Verilog通常操作的对象是数字硬件系统,Verilog可以表示逻辑电路或是有逻辑电路组成的一个复杂电路。它与VHDL是目前最为常用的两种硬件语言。Verilog可以从开关级,门级直到算法级对于硬件进行控制,具有很高的灵活性,可以充分发掘硬件的计算性能。但是在功能实现的过程中需要付出比高级语言更多的精力去设计整个系统。
二、Verilog基本结构
Verilog程序最重要的结构就是模块module,它在形式上与C语言的函数很像,但是由于Verilog是面向硬件的语言,因此在设计思想上与C语言是有一定的差别的。
一个Verilog模块通常必须有的变量:clk时钟,rst置位,input输入,output输出。 下面是一些verilog中常用的声明:
Parameter常量
Wire输入输出信号缺省时默认是wire,是assign关键字指定的组合逻辑信号
Wire [n:1] a1,…,ai 每个总线有n个线路,共i个总线
Reg 在always块里的指定信号,常代表触发器寄存器
Reg[4:1] a 一个