OpenCores
URL https://opencores.org/ocsvn/csa/csa/trunk

Subversion Repositories csa

[/] [csa/] [trunk/] [bench/] [decrypt_tb.v] - Diff between revs 40 and 41

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 40 Rev 41
Line 11... Line 11...
 
 
 
 
 
 
integer bytes;
integer bytes;
integer out_bytes;
integer out_bytes;
 
integer offset;
 
 
reg      [  8*8-1   : 0]  even_cw;
reg      [  8*8-1   : 0]  even_cw;
reg      [  8*8-1   : 0]  odd_cw;
reg      [  8*8-1   : 0]  odd_cw;
reg      [188*8-1   : 0]  encrypted;
reg      [    8-1   : 0]  encrypted_byte;
reg      [188*8-1   : 0]  decrypted;
 
 
 
reg      [8*8-1:0]    ck;
reg      [8*8-1:0]    ck;
reg                   even_odd;
reg                   even_odd;
reg                   en;
reg                   en;
reg                   key_en;
reg                   key_en;
reg      [  8-1:0]    enc;
reg      [  8-1:0]    enc;
wire     [  8-1:0]    dec;
wire     [  8-1:0]    dec;
wire                  invalid;
wire                  valid;
 
 
initial
initial
begin
begin
        $read_data(
        $read_data(
                                "../test_dat/decrypt.in"
                                "../test_dat/decrypt.in"
Line 38... Line 38...
                                "../test_dat/decrypt.in"
                                "../test_dat/decrypt.in"
                               ,8
                               ,8
                               ,even_cw
                               ,even_cw
                  );
                  );
 
 
        $read_data(
        encrypted_byte=8'h00; // or can not read data
                                "../test_dat/decrypt.in"
 
                               ,16
 
                               ,encrypted
 
                  );
 
 
 
        out_bytes = 1;
        out_bytes = 1;
 
 
        en=0;
        en=0;
        key_en=0;
        key_en=0;
 
 
Line 71... Line 66...
        en=0;
        en=0;
        even_odd=1;
        even_odd=1;
        @(posedge clk);
        @(posedge clk);
        key_en=0;
        key_en=0;
        repeat (11)@(posedge clk);
        repeat (11)@(posedge clk);
 
 
        repeat(4)@(posedge clk);
        repeat(4)@(posedge clk);
 
 
        // decrypt
        // decrypt
        for(bytes=1;bytes<=188;bytes=bytes+1)
        for(bytes=1;bytes<=188;bytes=bytes+1)
        begin
        begin
 
                offset=16+(bytes-1);
 
                $read_data(
 
                                   "../test_dat/decrypt.in"
 
                                ,  offset
 
                                ,  encrypted_byte
 
                        );
 
                enc=encrypted_byte;
                en=1;
                en=1;
                enc=encrypted[bytes];
              //  @(posedge clk);
                @(posedge clk);
              //  en=0;
                en=0;
 
                @(posedge clk);
                @(posedge clk);
        end
        end
 
 
        repeat(44) @(posedge clk);
        repeat(44) @(posedge clk);
 
 
        // output result
 
 
        $stop;
 
 
 
end
 
 
 
always @(posedge clk)
 
        if(valid)
 
        begin
 
                if(out_bytes==1)
 
                begin
        $write_data(
        $write_data(
                                 "../test_dat/decrypt.out.v"
                                 "../test_dat/decrypt.out.v"
                                ,decrypted[1]
                                ,dec
                   );
                   );
        for(out_bytes=2;out_bytes<=188;out_bytes=out_bytes+1)
                end
 
                else
        begin
        begin
        $write_data(
        $write_data(
                                 "../test_dat/decrypt.out.v"
                                 "../test_dat/decrypt.out.v"
                                ,"a"
                                ,"a"
                                ,decrypted[out_bytes]
                                ,dec
                   );
                   );
        end
        end
 
 
 
 
        $stop;
 
 
 
end
 
 
 
always @(posedge clk)
 
        if(invalid)
 
        begin
 
                decrypted[out_bytes]=dec;
 
                out_bytes=out_bytes+1;
                out_bytes=out_bytes+1;
        end
        end
 
 
 
 
decrypt b(
decrypt b(
Line 121... Line 123...
                , .key_en     (key_en)
                , .key_en     (key_en)
                , .even_odd   (even_odd)
                , .even_odd   (even_odd)
                , .en         (en)
                , .en         (en)
                , .encrypted  (enc)
                , .encrypted  (enc)
                , .decrypted  (dec)
                , .decrypted  (dec)
                , .invalid    (invalid)
                , .valid      (valid)
                );
                );
 
 
 
 
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.