MyHDL: Унарный XOR

Как написать код myhdl для реализации унарного XOR в verilog

reg [63:0] large_bus;
wire xor_value;
assign xor_value = ^large_bus;

не работает для меня.

@block
def dataVecXor(large_bus, xor_value):
    @always_comb
    def outputlogic():
        xor_value.next = ^large_bus
return instances()

person Abhisheietk    schedule 15.12.2018    source источник


Ответы (2)


В системе отслеживания проблем MyHDL есть решение:

large_bus = Signal(intbv(0)[128:0])
xor_value = Signal(bool(0))

@always_comb
def beh_reduction_xor():
    x = large_bus[0]
    for ii in range(1, len(large_bus)):
        x = x ^ large_bus[ii]
    xor_value.next = x
person betontalpfa    schedule 12.04.2020

Вы можете построить то, что хотите, используя for.

person strannyi    schedule 18.12.2018