原创 Verilog简要知识

2009-12-3 11:11 2701 2 3 分类: FPGA/CPLD
一个模块的基本语法如下:

module module_name (port_list);
Declarations:
reg, wire, parameter,
input, output, inout,
function, task, . . .
Statements:
Initial statement
Always statement
Module instantiation
Gate instantiation
UDP instantiation
Continuous assignment
endmodule


数据流描述方式


  用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个值被指派给线网变量。 连续赋值语句的语法为:


assign [delay] LHS_net = RHS_ expression;


行为描述方式


  设计的行为功能使用下述过程语句结构描述:
  1) initial语句:此语句只执行一次。
  2) always语句:此语句总是循环执行, 或者说此语句重复执行。
  只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原有值不变。所有的初始化语句和always语句在0时刻并发执行


结构化描述形式


  在Verilog HDL中可使用如下方式描述结构:
  1) 内置门原语(在门级);
  2) 开关级原语(在晶体管级);
  3) 用户定义的原语(在门级);
  4) 模块实例 (创建层次结构)。
  通过使用线网来相互连接。下面的结构描述形式使用内置门原语描述的全加器电路实例。


module FA_Str (A, B, Cin, Sum, Cout);
input A, B, Cin;
output Sum, Cout;
wire S1, T1, T2, T3;


xor
X1 (S1, A, B),
X2 (Sum, S1, Cin);


and
A1 (T3, A, B),
A2 (T2, B, Cin),
A3 (T1, A, Cin),


or
O1 (Cout, T1, T2, T3);
endmodule


基数表示法


5'O37   5位八进制数
4'D2   4位十进制数
4'B1x_01    4位二进制数
7'Hx    7位x(扩展的x), 即x x x x x x x
4'hZ    4位z(扩展的z) , 即z z z z
4'd-4    非法:数值不能为负
8'h 2 A    在位长和字符之间,以及基数和数值之间允许出现空格
3'b001    非法: ` 和基数b之间不允许出现空格
(2+3)'b10    非法:位长不能够为表达式


 


Verilog HDL 有两大类数据类型。
1) 线网类型。net type 表示Ve r i l o g结构化元件间的物理连线。它的值由驱动元件的值决定,
例如连续赋值或门的输出。如果没有驱动元件连接到线网,线网的缺省值为z。
2) 寄存器类型。register type表示一个抽象的数据存储单元,它只能在a l w a y s语句和i n i t i a l
语句中被赋值,并且它的值从一个赋值到另一个赋值被保存下来。寄存器类型的变量具有x
的缺省值。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户905586 2009-11-28 17:29

不错
相关推荐阅读
用户1267625 2011-04-06 11:02
BMP格式图像文件详析
工具软件:工具软件:Hex Workshop 或 UltraEdit 首先请注意所有的数值在存储上都是按“高位放高位、低位放低位的原则”,如12345678h放在存储器中就是7856 3412)。下图...
用户1267625 2010-11-23 10:58
MATLAB实用短程序积累
我不是很坚持写日志的人,偶尔上来逛一逛写一写,这个帖子留着添加一些小程序的。1.如何用MATLAB得到FIR滤波器的窗函数实现系数,例子是实现带通滤波器N=30;   %阶数FS=20*10^6;  ...
用户1267625 2010-04-28 16:24
高手经验:我的FPGA学习历程
高手经验:我的FPGA学习历程(注意:是别人写的,不是我写的)回想起自己学FPGA,已经有一段时间了,从开始的茫然,到后来的疯狂看书,设计开发板,调电路,练习各种FPGA实例,到最后能独立完成项目,一...
用户1267625 2009-12-24 10:46
顶层文件调用子文件的例子
LIBRARY ieee;USE ieee.std_logic_1164.all; LIBRARY work;ENTITY test IS  port (  clk :  IN  STD_LOGIC;...
用户1267625 2009-11-23 16:47
关于FPGA设计者(转载)
    在我看来,成为一名说得过去的FPGA设计者,需要练好5项基本功:仿真、综合、时序分析、调试、验证。     需要强调的一点是,以上基本功是针对FPGA设计者来说的,不是针对IC设计者的。对于I...
EE直播间
更多
我要评论
1
2
关闭 站长推荐上一条 /3 下一条