1 / 34
文档名称:

硬件描述语言.ppt

格式:ppt   大小:3,231KB   页数:34页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

硬件描述语言.ppt

上传人:卓小妹 2022/5/3 文件大小:3.16 MB

下载得到文件列表

硬件描述语言.ppt

相关文档

文档介绍

文档介绍:硬件描述语言
*
GUET School of Information & Communications
*
第1页,共34页,编辑于2022年,星期一
第二讲 Verilog语法
Verilog模块module
Ve10页,共34页,编辑于2022年,星期一
在调用模块时,可以用顺序连接和按名连接把模块定义的端口与外部信号连接起来
顺序连接:需要连接的信号需要与模块声明的端口列表一致;
D_FF d0 (d[ 0], clk, clr, q[ 0], qb[ 0]);
D_FF d1 (d[ 1], clk, clr, q[ 1], qb[ 1]);
D_FF d2 (d[ 2], clk, clr, q[ 2], qb[ 2]);
D_FF d3 (d[ 3], clk, clr, q[ 3], qb[ 3]);
调用模块名
例化名
第11页,共34页,编辑于2022年,星期一
当设计大规模系统时,端口太多,记住端口顺序不大可能,可以采用按名连接方法。
不需要连接的端口直接忽略掉即可
D_FF d0 (.d(d[ 0]), .clk(clk), .clr(clr), .q(q[ 0]), .qb(qb[ 0]));
D_FF d0 (.d(d[ 0]), .clk(clk), .clr(clr), .q(q[ 0]));
第12页,共34页,编辑于2022年,星期一
Verilog 语法要素
标识符
关键词
空白和注释
常量
字符串
延时#
操作符
第13页,共34页,编辑于2022年,星期一
(identifiers)
标识符是用户在描述时给Verilog对象起的名字
标识符必须以字母(a-z, A-Z)或( _ )开头,后面可以是字母、数字、( $ )或( _ )。
最长可以是1023个字符
标识符区分大小写,sel和SEL是不同的标识符
模块、端口和实例的名字都是标识符
module MUX2_1 (out, a, b, sel);
output out;
input a, b, sel;
not not1 (sel_, sel);
and and1 (a1, a, sel_);
and and2 (b1, b, sel);
or or1 (out, a1, b1);
endmodule
Verilog标识符
第14页,共34页,编辑于2022年,星期一
合法和非法标识符
合法的:
shift_reg_a
busa_index
bus263
非法的:
34net //不能用数字开头
a*b_net //不能含有非字母符号*
******@263 //不能含有非字母符号@
1、用有意义的有效的名字如Sum 、CPU_addr等。
2、用下划线区分词。
3、采用一些前缀或后缀,如
时钟采用Clk 前缀:Clk_50,Clk_CPU;
低电平采用_n 后缀:Enable_n;
4、统一一定的缩写如全局复位信号Rst。
5、同一信号在不同层次保持一致性,如同一时钟信号必须在各模块保持一致。
6、参数采用大写,如SIZE 。
标识符书写注意事项:
第15页,共34页,编辑于2022年,星期一

Verilog HDL 定义了一系列保留字,叫做关键词。注意只有小写的关键词才是保留字。例如,标识符always (这是个关键词)与标识符ALWAYS(非关键词)是不同的。
always and assign begin buf buf if0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endmodule endfunction endprimitive endspecify endtable endtask event for force forever fork function highz0 highz1 if ifnone initial inout input integer join large macrmodule medium module
nand negedge nmos nor not notif0 notif1 or output parameter pmos posedge