讨论下这两种写法的优劣
时间:10-02
整理:3721RD
点击:
(1)
wire [31:0]code;
wire code_is_mov;
assign code_is_mov =(code[28:27]==2'b00)&(code[25:22]==4'b0000);
(2)
wire [31:0]code;
wire code_is_mov;
wire type_is_dp;
wire opcode_mov;
assign type=code[28:27]==2'b00;
assign opcode_is_mov=code[25:22]==4'b0000;
assign code_is_mov=type&opcode_is_mov;
从资源,速度,功耗,延时来比较。
wire [31:0]code;
wire code_is_mov;
assign code_is_mov =(code[28:27]==2'b00)&(code[25:22]==4'b0000);
(2)
wire [31:0]code;
wire code_is_mov;
wire type_is_dp;
wire opcode_mov;
assign type=code[28:27]==2'b00;
assign opcode_is_mov=code[25:22]==4'b0000;
assign code_is_mov=type&opcode_is_mov;
从资源,速度,功耗,延时来比较。
一样的
应该是一样的,你的第二种方法中,这些多出的变量,由于是wire类型,对应物理实现中的连线,这就好比你在一根连线上加上名字或不加,实际中,所占的资源并没任何变化。所以,是一样的。
应该是一样的
我觉得这样可能资源消耗要少一点,不过让人不容易理解为什么要这么做
assign code_is_mov =(~|code[28:27])&(~|code[25:22]);
你这方法绝妙啊!不过经过综合器后应该资源是一样多的。但风格很好。简约
晕,这有什么讨论的
应该一样的
It depends on your Tools
学习了
