这是我的程序
module signalcreat(clk,out);
input clk;
reg[5:0] data;
reg a;
output out;
reg out;
initial
begin
a=1;
data=6'b100111;
out=1;
end
always@(posedge clk)
begin
a<=data[5];//记录data移位之前的最高位
data<=(data<<1);
data[0]<=a;//将data原来的最高位反馈到移位后的data的最低位
out<=data[5];
end
initial #1000 $stop;
endmodule
测试模块是
`timescale 10ns/1ns
module signalcreat_tb;
reg clk;
wire out;
initial
clk=0;
always
#5 clk=~clk;
signalcreat U(clk,out);
initial $monitor($time,,,"clk=%d out=%d",clk,out);
endmodule |