大家可以来讨论下在always块里面用for语句实现串行数据转bi.
时间:10-02
整理:3721RD
点击:
先上代码:
//WIDTH=8;reg [7:0]data_out;reg srial_data_in;
always @(posedge sys_clk or negedge sys_rst_n) begin
if (sys_rst_n ==1'b0)
begin
data_out <= 8'b0;
end
else if (shift_en == 1'b1) begin
for (i = 1'b0;i<WIDTH;i = i +1'b1)
data_out[i] <= srial_data_in;
end
else
data_out <= data_out;
end
试问在for语句中,怎么样才能使得srial_data_in跟上for语句的速度?
其实就是这个一位的串行数据转八位的并行数据怎么写testbench~想请教一下,因为我不知道for语句里面的执行速度,怎样才能给出srial_data_in时序。不然出来的就都是一个值了,比如11111111
额,第一次发帖,我说清楚了吗?
//WIDTH=8;reg [7:0]data_out;reg srial_data_in;
always @(posedge sys_clk or negedge sys_rst_n) begin
if (sys_rst_n ==1'b0)
begin
data_out <= 8'b0;
end
else if (shift_en == 1'b1) begin
for (i = 1'b0;i<WIDTH;i = i +1'b1)
data_out[i] <= srial_data_in;
end
else
data_out <= data_out;
end
试问在for语句中,怎么样才能使得srial_data_in跟上for语句的速度?
其实就是这个一位的串行数据转八位的并行数据怎么写testbench~想请教一下,因为我不知道for语句里面的执行速度,怎样才能给出srial_data_in时序。不然出来的就都是一个值了,比如11111111
额,第一次发帖,我说清楚了吗?
用时钟做个计数器,用计数器来控制串转并!
对,那样是可以的。
我上面贴出来的那段代码能写testbench吗