这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » Xilinx » 实现并转串,调试结果不对,找不到问题,请教大家

共4条 1/1 1 跳转至

实现并转串,调试结果不对,找不到问题,请教大家

菜鸟
2012-03-24 16:17:50     打赏

module Pal_serial(clk,rst,din,dout,databuff);

input clk,rst;
input[6:0] din;
output dout;
output databuff;
wire dout;
reg [6:0]dbuff;
reg [6:0] databuff;
integer ii;
always @(posedge clk)
 begin
  if(!rst)
   begin
        databuff=7'b000_0000;
        dbuff=din;
      end         
   else
  for (ii=1;ii<7;ii=ii+1)
 
  databuff=dbuff<<ii; 
 end

assign dout=databuff[6];

endmodule




关键词: 实现     并转     调试     结果     不对     不到     问题     请教         

菜鸟
2012-03-26 17:31:59     打赏
2楼

一个时钟上升沿移位6次,最终输出的结果只能是并行数据的最低位;应该是一个时钟上升沿移位移位一次,并把结果输出


工程师
2012-03-27 23:08:09     打赏
3楼
lz应该学学阻塞赋值、非阻塞赋值的区别; 还有for循环的用法在fpga里和c语言差别很大,for循环在这不可综合了,意义也不对

菜鸟
2012-05-31 11:48:57     打赏
4楼
可以参考一下代码在试试;
always @ (posedge clk  or negedge  rst)   begin
           if (!rst)     begin
                     data_out  <= 1'b0;
                     data <= din ;
           end
           else begin
                  data <= {data[5:0],data[6]};
                   data_out<= data [6] ;
           end
end

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]