微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 下面这段Verilog代码如何用其它语句化简?

下面这段Verilog代码如何用其它语句化简?

时间:10-02 整理:3721RD 点击:
下面这段Verilog代码如何用其它语句化简?
always @ (posedge clk or negedge rst_n)
       if (enable == 1'd1 || oneByteOk == 1'd1) begin
           case(Bcnt) //!改长度标记
           6'd0:d<=indata[7:0];
           6'd1:d<=indata[15:8];
           6'd2:d<=indata[23:16];
           6'd3:d<=indata[31:24];
           6'd4:d<=indata[39:32];
           6'd5:d<=indata[47:40];
           6'd6:d<=indata[55:48];
           6'd7:d<=indata[63:56];
           6'd8:d<=indata[71:64];
           6'd9:d<=indata[79:72];
           6'd10:d<=indata[87:80];
           6'd11:d<=indata[95:88];
           6'd12:d<=indata[103:96];
           6'd13:d<=indata[111:104];
           6'd14:d<=indata[119:112];
           6'd15:d<=indata[127:120];
        default: d <= 8'h00;
            endcase
现在15行还好,要是150行的话我该怎么办?
还请各位前辈赐教!

always @ (posedge clk or negedge rst_n)
       if (enable == 1'd1 || oneByteOk == 1'd1) begin
         d_tmp <= indata >> {bcnt,3'h0};
end
assign d = d_tmp[7:0];



    学到了,谢谢您!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top