有没有大佬可以帮我优化一下这块代码啊

module gen_prod1(
input [7:0] A,
input neg,
input zero,
input one,
input two,
output [10:0] prod1
);
reg [7:0] D;
reg [10:0] prod_pre;
wire [3:0] m;

assign m={{neg},{zero},{one},{two}};

always @ (*) begin
  casex(m)
  4'b01xx: prod_pre <={{1{1'b1}},{!neg},{9{1'b0}}};
  4'b0x1x: prod_pre <= {{1'b1} ,{{!neg}},{1'b0}, A};
  4'b0xx1: prod_pre <= {{1'b1} ,{{!neg}}, A, {1'b0}};
  4'b1x1x:begin
            D[0]=A[0];
            D[1]=A[1]^A[0];
            D[2]=A[2]^(A[1]||A[0]);
            D[3]=A[3]^(A[2]||A[1]||A[0]);
            D[4]=A[4]^(A[3]||A[2]||A[1]||A[0]);
            D[5]=A[5]^(A[4]||A[3]||A[2]||A[1]||A[0]);
            D[6]=A[6]^(A[5]||A[4]||A[3]||A[2]||A[1]||A[0]);
            D[7]=A[7]^(A[6]||A[5]||A[4]||A[3]||A[2]||A[1]||A[0]);

   prod_pre <= {{1'b1} ,{{!neg}},{1'b1}, D};
   end
  4'b1xx1:begin
            D[0]=1'b0;
            D[1]=A[0]^{1'b0};
            D[2]=A[1]^A[0];
            D[3]=A[2]^(A[1]||A[0]);
            D[4]=A[3]^(A[2]||A[1]||A[0]);
           
全部评论

相关推荐

05-25 10:45
门头沟学院 Java
Frank_zhang:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务