欢迎来到天天文库
浏览记录
ID:39469720
大小:35.00 KB
页数:4页
时间:2019-07-04
《vreilog基本语法知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章条件语句、循环语句、块语句和生成语句一、条件语句:1,if;if_else;if/elseif/else;2,case/casez/casex_default_endcase;例:case(rega)16'd0:result=10'b0111111111;16'd1:result=10'b1011111111;...............16'd9:result=10'b10111111110;default:result=10'bx;endcase二、循环语句:1,forever+语句;或:forever+begin_
2、end;forever与always不同之处,在于forever必须写在initial模块中。2,repeat(表达式)+语句;注:表达式通常为循环的次数或repeat(表达式)+begin_end;3,while:while(表达式)+语句;注:当表达式为真时,则循环一直继续begin:countsreg[7:0]tempreg;count=0;tempreg=rega;while(tempreg)beginif(tempreg[0])count=count+1;tempreg=tempreg>>1;endend4,for(表
3、达式1;表达式2;表达式3)+语句;begin:countsreg[7:0]tempreg;count=0;for(tempreg=rega;tempreg;tempreg=tempreg>>1)if(tempreg[0])count=count+1;end三、语句块:1,串行快(顺序块):begin_end,(特殊情况:带有延迟特性的非阻塞式赋值语句)2,并行快:fork_join;对于并行语句,当同一语句块中同一时刻,同一变量出现在两个不同的语句,则会引入隐形竞争。如:initialforkx='b0;y='b1;z={x,
4、y};w={y,x};join3,语句块的嵌套:begin_end与fork_join之间可以相互嵌套。initialbeginx=1'b0;fork#5y=1'b1;#10z={x,y};join#20w={y,x};end4,语句块的命名:begin:块名·······End5,命名块的禁用:disable可以禁止任何语句块;例:reg[7:0]flag;integeri;initialbeginflag=8'b00001000;i=0;begin:blockwhile(i<8)beginif(flag[i])begin$d
5、isplay("truebitatelementnumber%d",i);disableblock;endi=i+1;endendend第六章结构语句、系统任务、函数语句和现实系统任务一、结构语句1,常用四种结构语句:initial,always,task,function。注:@*或@(*)表示任意一输入都作为敏感事件。wait常用来表示电平敏感触发。二、函数function与任务task的区别1,目的不同:函数function通过返回一个值来响应输入值,task支持多种目的;2,function只能与主模块公用同一个仿真时间
6、单位,task可以定义自己的仿真时间单位;3,函数不可以启动任务,而任务可以启动其他函数或任务;4,函数至少要有一个输入量,而任务可以没有或有多个输入量;5,函数返回一个值,而任务不返回值。三、task语句1,定义及语法:task<任务名>;<端口与数据类型说明>;<语句1>;<语句2>;······<语句n>;endtask2,任务的调用及变量的传递:6第八章语法练习1,{1,0}=64’b00000000000000000000000000000001000000000000000000000000000000.(注:位拼接
7、符必须指明位数,否则按32位二进制计。)2,对于integer型,数值可以为负值,如i=-1,对于reg型,若a[3:0]=I,则a为1111。3,如果一个模块要调用另一个模块的参数时,需在这在参数的前面加上另一个参数所在的模块名。如:moduleM;`include“defs.v”…………….If(op==)//调用defs模块中的rest参数。Bus=0;Endmodule4,数的扩展:Reg[7:0]v;InitialBeginv=8’b0;//v=00000000v=8’b1;//v=0000000
8、1v=8’bX;//v=xxxxxxxx;v=8’BZX;//v=zzzzzzzx;v=8’b1zx;//v=000001zx;end
此文档下载收益归作者所有