📄 dcdiff_htable.v
字号:
`timescale 1ns/10ps
//Luminance Chrominance DC difference Humffman Table
module dcdiff_htable(
//input
size,lumenb,chromenb,
//output
lcode,llength,
ccode,clength);
input [3:0] size;
input lumenb,chromenb;
output [8:0] lcode;
output [3:0] llength;
output [8:0] ccode;
output [3:0] clength;
reg [8:0] ccode,lcode;
reg [3:0] clength,llength;
always @(size)
begin
if (lumenb) begin
case(size)
0: begin
lcode =9'b0000_0000_0;
llength=2;
end
1: begin
lcode =9'b0100_0000_0;
llength=3;
end
2: begin
lcode =9'b0110_0000_0;
llength=3;
end
3: begin
lcode =9'b1000_0000_0;
llength=3;
end
4: begin
lcode =9'b1010_0000_0;
llength=3;
end
5: begin
lcode =9'b1100_0000_0;
llength=3;
end
6: begin
lcode =9'b1110_0000_0;
llength=4;
end
7: begin
lcode =9'b1111_0000_0;
llength=5;
end
8: begin
lcode =9'b1111_1000_0;
llength=6;
end
9: begin
lcode =9'b1111_1100_0;
llength=7;
end
10: begin
lcode =9'b1111_1110_0;
llength=8;
end
11: begin
lcode =9'b1111_1111_0;
llength=9;
end
default: begin
lcode =9'b0000_0000_0;
llength=0;
end
endcase
end
end
always @(size)
begin
if (chromenb) begin
case(size)
0: begin
ccode =9'b0000_0000_0;
clength=2;
end
1: begin
ccode =9'b0100_0000_0;
clength=2;
end
2: begin
ccode =9'b1000_0000_0;
clength=2;
end
3: begin
ccode =9'b1100_0000_0;
clength=3;
end
4: begin
ccode =9'b1110_0000_0;
clength=4;
end
5: begin
ccode =9'b1100_0000_0;
clength=3;
end
6: begin
ccode =9'b1110_0000_0;
clength=4;
end
7: begin
ccode =9'b1111_0000_0;
clength=5;
end
8: begin
ccode =9'b1111_1000_0;
clength=6;
end
9: begin
ccode =9'b1111_1100_0;
clength=7;
end
10: begin
ccode =9'b1111_1110_0;
clength=8;
end
11: begin
ccode =9'b1111_1111_0;
clength=9;
end
default: begin
ccode =9'b0000_0000_0;
clength=0;
end
endcase
end
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -