版主: 51FPGA

分享到:
共4条 1/1 1   

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

    [您是本帖的第1973位阅读者]
minisnowy
我是MM
高级会员

最后登陆时间:2014-05-19 20:26:32

直达楼层
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




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

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

xiaochu312
我是GG
高级会员

最后登陆时间:2015-01-14 18:16:56

2# 发表于 2012-03-26 17:31:59

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


量的积累,质的飞跃。

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

xie0jing0
我是MM
高级会员

最后登陆时间:2014-11-14 00:56:50

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

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

芯创电子工作室
我是GG
高级会员

最后登陆时间:2013-08-13 12:24:36

4# 发表于 2012-05-31 11:48:57
可以参考一下代码在试试;
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   
快速回复主题
  • 匿名不能发帖!请先 [ 登陆 注册 ]