Download bit_accelerator/rtl/bit_address_generator.sv from Snapkitty/rust-opencl-gpu: direct link, hf CLI and curl.
- Browser
- Download file 774 Bytes
-
https://huggingface.co/Snapkitty/rust-opencl-gpu/resolve/main/bit_accelerator/rtl/bit_address_generator.sv
- Command line
-
hf download hf://Snapkitty/rust-opencl-gpu/bit_accelerator/rtl/bit_address_generator.sv
-
curl -L -o bit_address_generator.sv https://huggingface.co/Snapkitty/rust-opencl-gpu/resolve/main/bit_accelerator/rtl/bit_address_generator.sv
774 Bytes
| // Bit Address Generator | |
| // Computes: effective_bit_address = base_bit_address + bit_offset | |
| // Implementation: 64-bit Kogge-Stone parallel-prefix adder | |
| module bit_address_generator ( | |
| input logic clk, | |
| input logic rst_n, | |
| // Operands | |
| input logic [63:0] base_addr, | |
| input logic [63:0] bit_offset, | |
| // Control | |
| input logic enable, | |
| // Output | |
| output logic [63:0] eff_bit_addr, | |
| output logic carry_out | |
| ); | |
| import bit_accelerator_pkg::*; | |
| // Stage 1: Ripple-carry adder (simplified for synthesis) | |
| // For timing closure, use built-in + operator which synthesizes to optimized adder | |
| logic [64:0] sum; | |
| assign sum = {1'b0, base_addr} + {1'b0, bit_offset}; | |
| assign eff_bit_addr = sum[63:0]; | |
| assign carry_out = sum[64]; | |
| endmodule : bit_address_generator | |