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

Subversion Repositories apbtoaes128

[/] [apbtoaes128/] [trunk/] [rtl/] [host_interface.v] - Diff between revs 8 and 10

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

Rev 8 Rev 10
Line 197... Line 197...
reg dma_req;
reg dma_req;
wire enable;
wire enable;
 
 
// Write and read enable signals
// Write and read enable signals
assign write_en = PSEL & PENABLE & PWRITE;
assign write_en = PSEL & PENABLE & PWRITE;
assign read_en  = (PSEL & ~PWRITE & (ccf_set | ccf))?1'b1:
assign read_en  = (PSEL & ~PWRITE)?1'b1:1'b0;
                  ((PSEL & ~PWRITE)&(PADDR >= AES_KEYR0 & PADDR <= AES_IVR3 ))?1'b1:1'b0;
                  //((PSEL & ~PWRITE)&(PADDR >= AES_KEYR0 & PADDR <= AES_IVR3))?1'b1:1'b0;
 
 
// Configuration Register Logic
// Configuration Register Logic
assign dma_out_en = aes_cr[10];
assign dma_out_en = aes_cr[10];
assign dma_in_en  = aes_cr[9];
assign dma_in_en  = aes_cr[9];
assign err_ie     = aes_cr[8];
assign err_ie     = aes_cr[8];
Line 271... Line 271...
 
 
                                // Computation Complete Flag
                                // Computation Complete Flag
                                if(ccf_set)
                                if(ccf_set)
                                        ccf <= 1'b1;
                                        ccf <= 1'b1;
                                else
                                else
                                        if(ccfc && aes_cr_wr_en)// && access_permission)
                                        if(ccfc && aes_cr_wr_en && access_permission)
                                                ccf <= 1'b0;
                                                ccf <= 1'b0;
                        end
                        end
        end
        end
// Interruption on erros Signals
// Interruption on erros Signals
assign int_ccf = ccf_ie & ccf_set;
assign int_ccf = ccf_ie & ccf_set;
Line 427... Line 427...
                bus_out_mux = 32'd0;
                bus_out_mux = 32'd0;
                case(PADDR)
                case(PADDR)
                        AES_CR:
                        AES_CR:
                                bus_out_mux = {{19{1'b0}}, aes_cr[10:7], 2'b00, aes_cr[6:0]};
                                bus_out_mux = {{19{1'b0}}, aes_cr[10:7], 2'b00, aes_cr[6:0]};
                        AES_SR:
                        AES_SR:
                                bus_out_mux = {{29{1'b0}}, wr_err, rd_err, (ccf && ~PENABLE)?1'b1:((ccf_set && PENABLE))?1'b0:(ccfc && aes_cr_wr_en)?1'b0:1'b1};
                                bus_out_mux = {{29{1'b0}}, wr_err, rd_err, (ccf_set && ~PENABLE)? 1'b1:(ccfc && aes_cr_wr_en)?1'b0:ccf};
                        AES_DINR, AES_DOUTR:
                        AES_DINR, AES_DOUTR:
 
                        begin
 
                                if(~PWRITE && PADDR == AES_DOUTR && (ccf_set || ccf ))
                                bus_out_mux = col_bus;
                                bus_out_mux = col_bus;
 
                        end
                        AES_KEYR0, AES_KEYR1, AES_KEYR2, AES_KEYR3:
                        AES_KEYR0, AES_KEYR1, AES_KEYR2, AES_KEYR3:
                                if(!enable)
                                if(!enable)
                                        bus_out_mux = key_bus;
                                        bus_out_mux = key_bus;
                        AES_IVR0, AES_IVR1, AES_IVR2, AES_IVR3:
                        AES_IVR0, AES_IVR1, AES_IVR2, AES_IVR3:
                                if(!enable)
                                if(!enable)

powered by: WebSVN 2.1.0

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