URL
https://opencores.org/ocsvn/csa/csa/trunk
[/] [csa/] [trunk/] [rtl/] [ts_sync.v] - Diff between revs 41 and 42
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 41 |
Rev 42 |
Line 7... |
Line 7... |
, input rst
|
, input rst
|
, input en
|
, input en
|
, input [8-1:0] datain
|
, input [8-1:0] datain
|
, output reg valid
|
, output reg valid
|
, output reg head // find ts packet head
|
, output reg head // find ts packet head
|
|
, output reg init // the first dec ts packet
|
, output reg dec // this ts group need decrypt
|
, output reg dec // this ts group need decrypt
|
, output reg evenodd // the current key type
|
, output reg evenodd // the current key type
|
, output reg [8*8-1:0] group
|
, output reg [8*8-1:0] group
|
, output reg [3:0] bytes // valid bytes in group
|
, output reg [3:0] bytes // valid bytes in group
|
);
|
);
|
reg sync;
|
reg sync;
|
reg valid_s;
|
|
reg need_dec; // current packet need decrypt;
|
reg need_dec; // current packet need decrypt;
|
reg [8*8-1:0] group_d;
|
reg [8*8-1:0] group_d;
|
reg [7:0] ts_cnt; //
|
reg [7:0] ts_cnt; //
|
|
|
always @(posedge clk)
|
always @(posedge clk)
|
if(rst)
|
if(rst)
|
begin
|
begin
|
valid<=1'h0;
|
valid<=1'h0;
|
head<=1'h0;
|
head<=1'h0;
|
dec<=1'h0;
|
dec<=1'h0;
|
sync<=1'h0;
|
sync<=1'h0;
|
need_dec<=1'h0;
|
need_dec<=1'h0;
|
ts_cnt=8'h0;
|
ts_cnt=8'h0;
|
|
init<=1'h0;
|
end
|
end
|
else
|
else
|
begin
|
begin
|
head<=1'h0;
|
head<=1'h0;
|
dec<=1'h0;
|
dec<=1'h0;
|
valid_s<=1'h0;
|
valid<=1'h0;
|
valid<=valid_s;
|
init<=1'h0;
|
|
|
if(en)
|
if(en)
|
begin
|
begin
|
group_d <= {datain, group_d[8*8-1:1*8] };
|
group_d <= {datain, group_d[8*8-1:1*8] };
|
group <={datain, group_d[8*8-1:1*8] } ;
|
|
end
|
end
|
if(sync)
|
if(sync)
|
begin
|
begin
|
if(ts_cnt==8'h1&&en)
|
if(ts_cnt==8'h1&&en)
|
begin
|
begin
|
need_dec<=1'h0;
|
need_dec<=1'h0;
|
sync<=1'h0; // ts packet end
|
sync<=1'h0; // ts packet end
|
valid_s<=1'h1;
|
|
end
|
end
|
if(ts_cnt[2:0]==3'h1&&en)
|
if(ts_cnt[2:0]==3'h1&&en)
|
begin
|
begin
|
valid_s<=1'h1;
|
valid<=1'h1;
|
dec<=need_dec;
|
dec<=need_dec;
|
bytes<=4'h8;
|
bytes<=4'h8;
|
|
group <={datain, group_d[8*8-1:1*8] } ;
|
|
|
end
|
end
|
|
if(ts_cnt==8'hb1&en)
|
|
init<=1'h1;
|
if(en)
|
if(en)
|
ts_cnt <= ts_cnt - 8'h1;
|
ts_cnt <= ts_cnt - 8'h1;
|
end
|
end
|
if(en)
|
if(en)
|
begin
|
begin
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.