OpenCores
URL https://opencores.org/ocsvn/xulalx25soc/xulalx25soc/trunk

Subversion Repositories xulalx25soc

[/] [xulalx25soc/] [trunk/] [rtl/] [wbudecompress.v] - Diff between revs 14 and 109

Show entire file | Details | Blame | View Log

Rev 14 Rev 109
Line 1... Line 1...
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
//
// Filename:    wbudecompress.v
// Filename:    wbudecompress.v
//
//
// Project:     XuLA2 board
// Project:     FPGA library
//
//
// Purpose:     Compression via this interface is simply a lookup table.
// Purpose:     Compression via this interface is simply a lookup table.
//              When writing, if requested, rather than writing a new 36-bit
//              When writing, if requested, rather than writing a new 36-bit
//      word, we may be asked to repeat a word that's been written recently.
//      word, we may be asked to repeat a word that's been written recently.
//      That's the goal of this routine: if given a word's (relative) address
//      That's the goal of this routine: if given a word's (relative) address
Line 15... Line 15...
// Creator:     Dan Gisselquist, Ph.D.
// Creator:     Dan Gisselquist, Ph.D.
//              Gisselquist Technology, LLC
//              Gisselquist Technology, LLC
//
//
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
//
// Copyright (C) 2015, Gisselquist Technology, LLC
// Copyright (C) 2015-2016, Gisselquist Technology, LLC
//
//
// This program is free software (firmware): you can redistribute it and/or
// This program is free software (firmware): you can redistribute it and/or
// modify it under the terms of  the GNU General Public License as published
// modify it under the terms of  the GNU General Public License as published
// by the Free Software Foundation, either version 3 of the License, or (at
// by the Free Software Foundation, either version 3 of the License, or (at
// your option) any later version.
// your option) any later version.
Line 92... Line 92...
        reg     [9:0]    rd_len;
        reg     [9:0]    rd_len;
        always @(posedge i_clk)
        always @(posedge i_clk)
                if (~r_word[34])
                if (~r_word[34])
                        rd_len <= 10'h01 + { 6'h00, r_word[33:31] };
                        rd_len <= 10'h01 + { 6'h00, r_word[33:31] };
                else
                else
                        rd_len <= 10'h08 + { 1'b0, r_word[33:31], r_word[29:24] };
                        rd_len <= 10'h09 + { 1'b0, r_word[33:31], r_word[29:24] };
 
 
        // Clock three, read the table value
        // Clock three, read the table value
        //      { o_stb, r_stb } = 4'h4 when done
        //      { o_stb, r_stb } = 4'h4 when done
        // Maintaining ...
        // Maintaining ...
        //      r_word (clock 1)
        //      r_word (clock 1)

powered by: WebSVN 2.1.0

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