网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61EDA中国电子网 >> 技术文库 >> HDL语言 >> 正文
  TESTBENCH语法参考           ★★★ 【字体:
TESTBENCH语法参考
作者:Free    文章来源:本站原创    点击数:    更新时间:2008-2-4    

TESTBENCH 语法参考

always
module clock_gen;

reg clock;

//Initialize clock at time zero
initial
clock = 1'b0;

//Toggle clock every half cycle (time period = 20)
always
#10 clock = ~clock;

initial
#1000 $finish;

endmodule


forever
module synchronize;
//Example 2: Synchronize two register values at every positive edge of
//clock
reg clock;
reg x, y;

initial
begin
clock = 1'b0;
x = 1'b0;
y = 1'b0;
#100000 $finish;
end

always #5 clock = ~clock;
always #11 y = ~y;

initial
forever @(posedge clock) x = y;

endmodule


initial
module stimulus;
reg x,y, a,b, m;

initial
m = 1'b0; //single statement; does not need to be grouped

initial
begin
#5 a = 1'b1; //multiple statements; need to be grouped
#25 b = 1'b0;
end

initial
begin
#10 x = 1'b0;
#25 y = 1'b1;
end

initial
#50 $finish;

endmodule
 

repeat
//Illustration 2 : Data buffer module example
//After it receives a data_start signal.
//Reads data for next 8 cycles.

module data_buffer(data_start, data, clock);

parameter cycles = 8;
input data_start;
input [15:0] data;
input clock;

reg [15:0] buffer [0:7];
integer i;

always @(posedge clock)
begin
if(data_start) //data start signal is true
begin
i = 0;
repeat(cycles) //Store data at the posedge of next 8 clock
//cycles
begin
@(posedge clock) buffer[i] = data; //waits till next
// posedge to latch data
i = i + 1;
end
end
end

endmodule

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    基于SOPC的多功能车辆息线控…
    基于VHDL状态机设计的智能交…
    基于梯形图-VHDL的CPLD开发方…
    半整数分频的VHDL程序
    学写Testbench-结构篇
    编写高效的测试设计(testben…
    测试向量(Test Bench)和波…
    Verilog 编码原则…
    一个简单的总线轮询仲裁器Ve…
    VHDL秒表计时器
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    湘ICP备08001332号 站长:61EDA