Three examples in XiperPy vs. its alternatives
A counter, a FIFO, and a traffic-light controller written in XiperPy and the usual alternatives. The examples show what changes when hardware starts as Python instead of HDL or Scala.
The minimal example. A synchronous counter with reset. The smallest unit that still shows the round-trip from declaration to clocked behaviour.
from xiperpy import Entity, Unsigned, process
class Counter(Entity):
count: Unsigned[8] = 0
@process
def tick(self):
self.count += 1module counter (
input clk,
input rst_n,
output reg [7:0] count
);
always @(posedge clk or negedge rst_n) begin
if (!rst_n) count <= 8'd0;
else count <= count + 1'b1;
end
endmoduleOne language for the whole hardware loop
Software teams work in one productive ecosystem from idea to test to deployment. XiperPy brings that model to hardware: design, generation, simulation, and verification stay in Python, while Verilog and VHDL remain readable implementation outputs.
- Hardware design
- Behavior testing
- RTL verification
- HDL emission
- Define I/O
- Specify logic
- Create parameter sets
- Automated generation
- Property checks
- Equivalence proofs
- Readable Verilog
- Readable VHDL
- Verilog
- VHDL
Prior art
Who needs another HDL?
Teams whose value is in custom IP — and who need a faster way to design, generate, simulate, test, and emit readable VHDL and Verilog.
Early access
Be among the first XiperPy developers.
Your feedback to the engineers shapes its evolution before it goes public later this year.
Join the team and build XiperPy with us.
Shape the software evolution in hardware engineering.