OpenCores
URL https://opencores.org/ocsvn/hdl-deflate/hdl-deflate/trunk

Subversion Repositories hdl-deflate

[/] [hdl-deflate/] [trunk/] [deflate.py] - Diff between revs 3 and 4

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

Rev 3 Rev 4
Line 154... Line 154...
 
 
    filled = Signal(bool())
    filled = Signal(bool())
 
 
    ob1 = Signal(intbv()[8:])
    ob1 = Signal(intbv()[8:])
    copy1 = Signal(intbv()[8:])
    copy1 = Signal(intbv()[8:])
 
    copy2 = Signal(intbv()[8:])
    flush = Signal(bool(0))
    flush = Signal(bool(0))
 
 
    adler1 = Signal(intbv()[16:])
    adler1 = Signal(intbv()[16:])
    adler2 = Signal(intbv()[16:])
    adler2 = Signal(intbv()[16:])
    ladler1 = Signal(intbv()[16:])
    ladler1 = Signal(intbv()[16:])
Line 1147... Line 1148...
                        state.next = d_state.HEADER
                        state.next = d_state.HEADER
                    else:
                    else:
                        o_oprogress.next = do # + 1
                        o_oprogress.next = do # + 1
                        o_done.next = True
                        o_done.next = True
                        state.next = d_state.IDLE
                        state.next = d_state.IDLE
                elif cur_i < length + 1:
                elif cur_i < length + 2:
                    oraddr.next = offset + cur_i
                    oraddr.next = offset + cur_i
                    if cur_i == 1:
                    if cur_i == 1:
                        copy1.next = orbyte
                        copy1.next = orbyte
 
                        # print("c1", cur_i, length, offset, do, orbyte)
 
                    if cur_i == 3:
 
                        copy2.next = orbyte
                    if cur_i > 1:
                    if cur_i > 1:
 
                        # Special 1 byte offset handling:
                        if offset + cur_i == do + 1:
                        if offset + cur_i == do + 1:
                            obyte.next = copy1
                            obyte.next = copy1
                        else:
                        elif cur_i == 3 or offset + cur_i != do:
                            obyte.next = orbyte
                            obyte.next = orbyte
 
                        # Special 2 byte offset handling:
 
                        elif cur_i > 2:
 
                            if cur_i & 1:
 
                                obyte.next = copy2
 
                            else:
 
                                obyte.next = copy1
 
                        else:  # cur_i == 2
 
                            obyte.next = copy1
                        oaddr.next = do
                        oaddr.next = do
                        o_oprogress.next = do + 1
                        o_oprogress.next = do + 1
                        do.next = do + 1
                        do.next = do + 1
                    cur_i.next = cur_i + 1
                    cur_i.next = cur_i + 1
                else:
                else:
                    oaddr.next = do
 
                    if offset + cur_i == do + 1:
 
                        obyte.next = copy1
 
                    else:
 
                        obyte.next = orbyte
 
                    do.next = do + 1
 
                    o_oprogress.next = do + 1
 
                    cur_next.next = 0
                    cur_next.next = 0
                    state.next = d_state.NEXT
                    state.next = d_state.NEXT
 
 
            else:
            else:
 
 

powered by: WebSVN 2.1.0

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