|  | 
 
| 
本帖最后由 小yz 于 2016-6-13 23:04 编辑
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册  
 求助如下代码中20行和22行两行的具体含义?为啥可以完成gray码与二进制码的转换??
 麻烦仔细说明一下那两行代码
 
 
 
    
        复制代码
 `define width 4
module graycounter(clk,rst,gray);
  input     clk       ;
  input     rst       ;
  output  reg  [`width-1:0] gray         ;
   reg  [`width-1:0]  gnxt,bnxt,bin;
   integer i;
   
always@(posedge clk or negedge rst) //寄存器输出
if(!rst)
gray <= 0;
else
gray <=gnxt;        //gray码寄存器
always@(gray)
begin
        for(i = 0;i<`width;i= i+1)
        bin[i] = ^(gray>>i);  //gray_to_bin
        bnxt = bin+1;
        gnxt = (bnxt>>1) ^ bnxt; //bin_to_gray
end
endmodule
        
        
        
        
 
 | 
 |