请给下列代码添加注释:module ajishuqi(sw,seg_led1,seg_led2); input[3:0]sw; output reg[8:0]seg_led1; output reg[8:0]seg_led2; reg[8:0]seg[9:0]; initial begin seg[0]=9'h3f; seg[1]=9'h06; seg[2]=9'h5b; seg[3]=9'h4f; seg[4]=9'h66; seg[5]=9'h6d; seg[6]=9'h7d; seg[7]=9'h07; seg[8]=9'h7f; seg[9]=9'h6f; end always@(sw) begin case(sw) 4'b0000:begin seg_led1=seg[0]; seg_led2=seg[0];end 4'b0001:begin seg_led1=seg[0]; seg_led2=seg[1];end 4'b0010:begin seg_led1=seg[0]; seg_led2=seg[2];end 4'b0011:begin seg_led1=seg[0]; seg_led2=seg[3];end 4'b0100:begin seg_led1=seg[0]; seg_led2=seg[4];end 4'b0101:begin seg_led1=seg[0]; seg_led2=seg[5];end 4'b0110:begin seg_led1=seg[0]; seg_led2=seg[6];end 4'b0111:begin seg_led1=seg[0]; seg_led2=seg[7];end 4'b1000:begin seg_led1=seg[0]; seg_led2=seg[8];end 4'b1001:begin seg_led1=seg[0]; seg_led2=seg[9];end 4'b1010:begin seg_led1=seg[1]; seg_led2=seg[0];end 4'b1011:begin seg_led1=seg[1]; seg_led2=seg[1];end 4'b1100:begin seg_led1=seg[1]; seg_led2=seg[2];end 4'b1101:begin seg_led1=seg[1]; seg_led2=seg[3];end 4'b1110:begin seg_led1=seg[1]; seg_led2=seg[4];end 4'b1111:begin seg_led1=seg[1]; seg_led2=seg[5];end default:; endcase end endmodule module jishuqi( r,rb,clk,data,rst ); output reg r,rb; input wire data,clk,rst; //wire load; //and a1(load,clk,ena); always @(posedge clk or negedge rst) if(~rst) begin r <= 1'b0; rb <= 1'b1; end else begin r <= data; rb <= ~data; end endmodule
时间: 2024-03-19 17:40:45 浏览: 66
// 模块定义
module ajishuqi(sw,seg_led1,seg_led2);
// 输入端口
input[3:0]sw;
// 输出端口
output reg[8:0]seg_led1;
output reg[8:0]seg_led2;
// 内部寄存器
reg[8:0]seg[9:0];
// 初始化段码
initial begin
seg[0]=9'h3f;
seg[1]=9'h06;
seg[2]=9'h5b;
seg[3]=9'h4f;
seg[4]=9'h66;
seg[5]=9'h6d;
seg[6]=9'h7d;
seg[7]=9'h07;
seg[8]=9'h7f;
seg[9]=9'h6f;
end
// 组合逻辑
always@(sw) begin
case(sw)
4'b0000:begin seg_led1=seg[0]; seg_led2=seg[0];end
4'b0001:begin seg_led1=seg[0]; seg_led2=seg[1];end
4'b0010:begin seg_led1=seg[0]; seg_led2=seg[2];end
4'b0011:begin seg_led1=seg[0]; seg_led2=seg[3];end
4'b0100:begin seg_led1=seg[0]; seg_led2=seg[4];end
4'b0101:begin seg_led1=seg[0]; seg_led2=seg[5];end
4'b0110:begin seg_led1=seg[0]; seg_led2=seg[6];end
4'b0111:begin seg_led1=seg[0]; seg_led2=seg[7];end
4'b1000:begin seg_led1=seg[0]; seg_led2=seg[8];end
4'b1001:begin seg_led1=seg[0]; seg_led2=seg[9];end
4'b1010:begin seg_led1=seg[1]; seg_led2=seg[0];end
4'b1011:begin seg_led1=seg[1]; seg_led2=seg[1];end
4'b1100:begin seg_led1=seg[1]; seg_led2=seg[2];end
4'b1101:begin seg_led1=seg[1]; seg_led2=seg[3];end
4'b1110:begin seg_led1=seg[1]; seg_led2=seg[4];end
4'b1111:begin seg_led1=seg[1]; seg_led2=seg[5];end
default:;
endcase
end
// 模块定义
endmodule
// 模块定义
module jishuqi(r,rb,clk,data,rst);
// 输出端口
output reg r,rb;
// 输入端口
input wire data,clk,rst;
// 可选线声明
// wire load;
// 时序逻辑
always @(posedge clk or negedge rst)
if(~rst)
begin
r <= 1'b0;
rb <= 1'b1;
end
else begin
r <= data;
rb <= ~data;
end
// 模块定义
endmodule
阅读全文