文档详情

Verilog Chapter 5.ppt

发布:2016-09-12约1.73万字共73页下载文档
文本预览下载声明
第四章: verilog HDL 行为描述 4.1 verilog 行为描述概要 4.1.1 过程块 Verilog HDL 行为描述的模块 4.1.2过程语句initial 和 always: 4.3赋值语句 4.4 高级程序语句 分别写出二选一MUX功能模块的Verilog HDL 的行为描述和结构描述 module mux_beh (out, a, b, sel); output out; input a, b, sel; assign out=(sel==0)? a: b; endmodule 二选一MUX逻辑图 结构描述 module mux_str (out, a, b, sel); output out; input a, b, sel; not gate1(net1,sel); and gate2(net2, a, net); and gate3(net3, b, sel); or gate4(out, net2, net3); endmodule module test_for_mux; reg a, b,s; //调用DUT mux_str mux1(out,a,b,s); //产生测试激励信号 initial begin A=0; b=1; s=0; #10 a=1; #10 b=0; #10 s=1 ; #10 b=1; #10 a=0; #10 finish; end initial $monitor($time, “a=%b b=%b s=%b out=%b”, a,b,s,out); endmodule 第五章 Verilog系统函数与编译向导 两部分内容: 5.1 Verilog系统任务与系统函数 5.1 Verilog系统任务与系统函数 Verilog HDL 的系统任务和系统函 数分成以下几类: 1.输出控制类系统任务 2.模拟时标类系统函数 3.进程控制类系统任务 4.文件读写类系统任务 5.其它类 1.输出控制类系统任务: $display,$write 模拟过程的状态信息以及模拟结果的输出都必须按一定的格式进行表示, Verilog 所提供输出控制类系统任务的目的就是完成对输出量的格式控制。 属于这一类的有:,$monitor。 2.模拟时标类系统函数:$time和$realtime Verilog 中有一组与模拟时间定标相关的系统任务与系统函数,我们只选择其中的两个系统函数介绍。 5.1.1 $display 与 $write (系统任务 ) 输出控制类系统任务,它们的调用形式为: $display (“格式控制字符串”,输出变量名表项); $write (“格式控制字符串”,输出变量名表项); 上面的表示形式中,输出变量名表项就是指要输出的变量,各变量名之间以逗号相隔。格式控制字符串的内容包括两部分,一部分是需要与输出变量一起在输出时一并显示的普通字符。另一部分是对输出变量显示形式进行控制的格式说明符,有几个变量需要输出,就应当有同样数目的格式说明符与之一一对应。 $display与$write间的区别: 1.前者在输出结束后会自动换行,而后者不会。2.如果要想在同一行中显示多次输出的信息,就应该选用$write,需自动换行使用$display。 上例中,由于$display本身带了一个换行,因而它的输出将在this is a demo for output 后换行两次。 $write的输出则只因为“\ n”的存在产生一次换行。如果上面的两个表达中,园括号内没写任何东西, $display将输出一个空行,而$write什么也不输出。
显示全部
相似文档