Encryption Decryption Controller: Pci

always @(posedge clk) begin case(state) IDLE: if(doorbell) state <= FETCH_DESC; FETCH_DESC: begin pcie_mrd_req(desc_addr, 4'd4); // read 32B desc state <= WAIT_DESC; end WAIT_DESC: if(desc_valid) state <= READ_SRC; READ_SRC: begin pcie_mrd_req(src_addr, len); crypto_input <= pcie_rx_data; state <= CRYPTO; end ... endcase end

Abstract —This paper presents the architecture of a PCI Express (PCIe) integrated controller capable of performing real-time AES-256-GCM encryption and decryption. The controller operates as a PCIe Endpoint, presenting a memory-mapped interface to the host. By utilizing Direct Memory Access (DMA) and pipeline cryptography, the design achieves a throughput of >10 Gbps with sub-100µs latency. Implementation on a Xilinx Kintex UltraScale FPGA demonstrates robust side-channel resistance and full compliance with the PCIe 3.0 x4 standard. 1. Introduction Modern data centers and secure embedded systems require line-rate cryptographic processing without burdening the CPU. Traditional software-based encryption (e.g., dm-crypt, IPsec) suffers from high context-switch overhead. A dedicated PCIe encryption controller offloads the entire cipher operation, acting as a cryptographic coprocessor. pci encryption decryption controller