Commit 00e7a575 authored by Andrey Filippov's avatar Andrey Filippov

Modified headers to work with doxverilog2.5/doxygen1.7.0

parent 1df762e6
......@@ -18,8 +18,12 @@ x393.prj
*.bad
*.pyc
*.pickle
*.tmp
py393/dbg*
debug
debug/*
html/*
man/*
includes/x393_cur_params_sim.vh
includes/x393_cur_params_target_*.vh
py393/exp_gpio.py
......
/*******************************************************************************
* Module: axibram_read
* Date:2014-03-18
* Author: Andrey Filippov
* Description: Read block RAM memory over AXI PS Master GP0
/*!
* <b>Module:</b>axibram_read
* @file axibram_read.v
* @date 2014-03-18
* @author Andrey Filippov
*
* @brief Read block RAM memory over AXI PS Master GP0
*
* @copyright Copyright (c) 2014 Elphel, Inc.
*
* <b>License:</b>
*
* Copyright (c) 2014 Elphel, Inc.
* axibram_read.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
// Check that this fix did not break anything:
`include "system_defines.vh"
`define USE_SHORT_REN_REGEN
......@@ -227,8 +232,7 @@ module axibram_read #(
assign bram_reg_re_w= dev_ready && read_in_progress_or && (!rvalid || rready); // slower/simplier
// assign bram_reg_re_w= rready? read_in_progress : bram_reg_re_0; // faster - more verification
assign last_in_burst_w=bram_reg_re_w && (read_left==4'b0); // slower/simplier
assign last_in_burst_w=bram_reg_re_w && (read_left==4'b0); // slower/simplier
// assign last_in_burst_w=rready? (read_in_progress && (read_left==4'b0)): (bram_reg_re_0 && (read_left==4'b0));
// assign last_in_burst_w=rready? last_in_burst_1: last_in_burst_0; // faster (unfinished) - more verification
......@@ -250,7 +254,7 @@ module axibram_read #(
// assign start_read_burst_w= ar_nempty && (rready?start_read_burst_1:start_read_burst_0);
fifo_same_clock #( .DATA_WIDTH(ADDRESS_BITS+20),.DATA_DEPTH(4))
raddr_i (
raddr_i (
.rst(1'b0),
.clk(aclk),
.sync_rst(arst),
......
/*******************************************************************************
* Module: axibram_write
* Date:2014-03-18
* Author: Andrey Filippov
* Description: Read block RAM memory (or memories?) over AXI PS Master GP0
/*!
* <b>Module:</b>axibram_write
* @file axibram_write.v
* @date 2014-03-18
* @author Andrey Filippov
*
* @brief Read block RAM memory (or memories?) over AXI PS Master GP0
* Memory is supposed to be fast enough
*
* Copyright (c) 2014 Elphel, Inc.
* @copyright Copyright (c) 2014 Elphel, Inc.
*
* <b>License:</b>
*
* axibram_write.v is free software; you can redistribute it and/or 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
......@@ -31,7 +36,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
//`define DEBUG_FIFO 1
`include "system_defines.vh"
`ifdef DEBUG_FIFO
......
/*******************************************************************************
* Module: cmprs_afi_mux
* Date:2015-06-26
* Author: Andrey Filippov
* Description: Writes comressor data from up to 4 channels to system memory over AXI_HP
/*!
* <b>Module:</b>cmprs_afi_mux
* @file cmprs_afi_mux.v
* @date 2015-06-26
* @author Andrey Filippov
*
* @brief Writes comressor data from up to 4 channels to system memory over AXI_HP
*
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc.
* cmprs_afi_mux.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module cmprs_afi_mux#(
......
/*******************************************************************************
* Module: cmprs_afi_mux_ptr
* Date:2015-06-28
* Author: Andrey Filippov
* Description: Maintain 4-channel chunk pointers (before AXI)
/*!
* <b>Module:</b>cmprs_afi_mux_ptr
* @file cmprs_afi_mux_ptr.v
* @date 2015-06-28
* @author Andrey Filippov
*
* @brief Maintain 4-channel chunk pointers (before AXI)
* Advance 32-byte chunk pointers for each AXI burst and each frame (4*2=8 pointers)
*
* Copyright (c) 2015 Elphel, Inc.
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* cmprs_afi_mux_ptr.v is free software; you can redistribute it and/or 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
......@@ -31,7 +36,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module cmprs_afi_mux_ptr(
......
/*******************************************************************************
* Module: cmprs_afi_mux_ptr_wresp
* Date:2015-06-28
* Author: Andrey Filippov
* Description: Maintain 4-channel chunk pointers for wrirte response
/*!
* <b>Module:</b>cmprs_afi_mux_ptr_wresp
* @file cmprs_afi_mux_ptr_wresp.v
* @date 2015-06-28
* @author Andrey Filippov
*
* @brief Maintain 4-channel chunk pointers for wrirte response
* Advance 32-byte chunk pointers for each AXI burst and each frame (4*2=8 pointers)
*
* Copyright (c) 2015 Elphel, Inc.
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* cmprs_afi_mux_ptr_wresp.v is free software; you can redistribute it and/or 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
......@@ -31,7 +36,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module cmprs_afi_mux_ptr_wresp(
......
/*******************************************************************************
* Module: cmprs_afi_mux_status
* Date:2015-06-28
* Author: Andrey Filippov
* Description: prepare and send per-channel chunk pointer information as status
/*!
* <b>Module:</b>cmprs_afi_mux_status
* @file cmprs_afi_mux_status.v
* @date 2015-06-28
* @author Andrey Filippov
*
* @brief prepare and send per-channel chunk pointer information as status
* Using 4 consecutive locations. Each channel can provide one of the 4 pointers:
* frame pointer in the write channel, current chunk pointer in the write channel
* and the same for the write response channel (confirmed written to the system
* memory
*
* Copyright (c) 2015 Elphel, Inc.
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* cmprs_afi_mux_status.v is free software; you can redistribute it and/or 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
......@@ -34,7 +39,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module cmprs_afi_mux_status #(
......
/*******************************************************************************
* Module: histogram_saxi
* Date:2015-06-04
* Author: Andrey Filippov
* Description: Histograms transfer to the system memory over S_AXI
/*!
* <b>Module:</b>histogram_saxi
* @file histogram_saxi.v
* @date 2015-06-04
* @author Andrey Filippov
*
* @brief Histograms transfer to the system memory over S_AXI
*
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc.
* histogram_saxi.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
// Number of histograms per sensor is now statically defined by NUM_FRAME_BITS
// It may be modified to both reduce this number (by masking) or increase ( by
......
/*
** -----------------------------------------------------------------------------**
** macros353.v
**
** temporary, modules to be moved
**
** Copyright (C) 2002 Elphel, Inc
**
** -----------------------------------------------------------------------------**
** This file is part of X353
** X353 is free software - hardware description language (HDL) code.
**
** This program is free software: you can redistribute it and/or 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 your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program. If not, see <http://www.gnu.org/licenses/>.
** -----------------------------------------------------------------------------**
**
*/
module ram_WxD
#(
parameter integer DATA_WIDTH=16,
parameter integer DATA_DEPTH=4,
parameter integer DATA_2DEPTH=(1<<DATA_DEPTH)-1
)
(
input [DATA_WIDTH-1:0] D,
input WE,
input clk,
input [DATA_DEPTH-1:0] AW,
input [DATA_DEPTH-1:0] AR,
output [DATA_WIDTH-1:0] QW,
output [DATA_WIDTH-1:0] QR);
reg [DATA_WIDTH-1:0] ram [0:DATA_2DEPTH];
always @(posedge clk) if (WE) ram[AW] <= D;
assign QW= ram[AW];
assign QR= ram[AR];
endmodule
/*******************************************************************************
* Module: membridge
* Date:2015-04-26
* Author: Andrey Filippov
* Description: bi-directional bridge between system and video memory over axi_hp
/*!
* <b>Module:</b>membridge
* @file membridge.v
* @date 2015-04-26
* @author Andrey Filippov
*
* @brief bi-directional bridge between system and video memory over axi_hp
*
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc.
* membridge.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
//`define MEMBRIDGE_DEBUG_READ 1
module membridge#(
......
/*******************************************************************************
* Module: mul_saxi_wr_chn
* Date:2015-07-10
* Author: Andrey Filippov
* Description: One channel of the mult_saxi_wr (read/write common buffer)
/*!
* <b>Module:</b>mul_saxi_wr_chn
* @file mul_saxi_wr_chn.v
* @date 2015-07-10
* @author Andrey Filippov
*
* @brief One channel of the mult_saxi_wr (read/write common buffer)
*
* @copyright Copyright (c) 2015 Elphel, Inc .
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc .
* mul_saxi_wr_chn.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module mult_saxi_wr_chn #(
......
/*******************************************************************************
* Module: mult_saxi_wr
* Date:2015-07-08
* Author: Andrey Filippov
* Description: send data from up to 4 sources to the system memory over S_AXI.
/*!
* <b>Module:</b>mult_saxi_wr
* @file mult_saxi_wr.v
* @date 2015-07-08
* @author Andrey Filippov
*
* @brief send data from up to 4 sources to the system memory over S_AXI.
* Each source should have a 32-bit wide buffer running at the same clock (mclk).
* Buffer should contain at least burst size (4,8,16,32,64 bytes)
* Burst size parameter-configurable (per-port)
*
* Copyright (c) 2015 Elphel, Inc .
* @copyright Copyright (c) 2015 Elphel, Inc .
*
* <b>License:</b>
*
* mult_saxi_wr.v is free software; you can redistribute it and/or 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
......@@ -33,7 +38,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module mult_saxi_wr #(
......@@ -181,7 +186,7 @@ module mult_saxi_wr #(
else if (we_ctrl && !cmd_a[0]) mode_reg <= cmd_data[7:0];
end
// Arbiter requests on copying from one of teh input channels to the internal buffer
// Arbiter requests on copying from one of the input channels to the internal buffer
mult_saxi_wr_chn #(
.MULT_SAXI_HALF_BRAM (MULT_SAXI_HALF_BRAM),
......
/*******************************************************************************
* Module: mult_saxi_wr_inbuf
* Date:2015-07-11
* Author: Andrey Filippov
* Description: Channel buffer with width conversion to 32 to use with mult_saxi_wr
/*!
* <b>Module:</b>mult_saxi_wr_inbuf
* @file mult_saxi_wr_inbuf.v
* @date 2015-07-11
* @author Andrey Filippov
*
* @brief Channel buffer with width conversion to 32 to use with mult_saxi_wr
*
* @copyright Copyright (c) 2015 Elphel, Inc .
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc .
* mult_saxi_wr_inbuf.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module mult_saxi_wr_inbuf#(
......
/*******************************************************************************
* Module: mult_saxi_wr_pointers
* Date:2015-07-10
* Author: Andrey Filippov
* Description: Process pointers for mult_saxi_wr
/*!
* <b>Module:</b>mult_saxi_wr_pointers
* @file mult_saxi_wr_pointers.v
* @date 2015-07-10
* @author Andrey Filippov
*
* @brief Process pointers for mult_saxi_wr
*
* @copyright Copyright (c) 2015 Elphel, Inc .
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc .
* mult_saxi_wr_pointers.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module mult_saxi_wr_pointers#(
......
/*******************************************************************************
* Module: cmd_mux
* Date:2015-01-11
* Author: Andrey Filippov
* Description: Command multiplexer between AXI and frame-based command sequencer
/*!
* <b>Module:</b>cmd_mux
* @file cmd_mux.v
* @date 2015-01-11
* @author Andrey Filippov
*
* @brief Command multiplexer between AXI and frame-based command sequencer
*
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc.
* cmd_mux.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module cmd_mux #(
......
/*******************************************************************************
* Module: cmd_readback
* Date:2015-05-05
* Author: Andrey Filippov
* Description: Store control register data and readback
/*!
* <b>Module:</b>cmd_readback
* @file cmd_readback.v
* @date 2015-05-05
* @author Andrey Filippov
*
* @brief Store control register data and readback
*
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc.
* cmd_readback.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module cmd_readback#(
......
/*******************************************************************************
* Module: bit_stuffer_27_32
* Date:2015-10-23
* Author: Andrey Filippov
* Description: Aggregate MSB aligned variable-length (1..27) data to 32-bit words
/*!
* <b>Module:</b>bit_stuffer_27_32
* @file bit_stuffer_27_32.v
* @date 2015-10-23
* @author Andrey Filippov
*
* @brief Aggregate MSB aligned variable-length (1..27) data to 32-bit words
*
* @copyright Copyright (c) 2015 Elphel, Inc .
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc .
* bit_stuffer_27_32.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module bit_stuffer_27_32#(
......
/*******************************************************************************
* Module: bit_stuffer_escape
* Date:2015-10-24
* Author: Andrey Filippov
* Description: Escapes each 0xff with 0x00, 32-bit input and output
/*!
* <b>Module:</b>bit_stuffer_escape
* @file bit_stuffer_escape.v
* @date 2015-10-24
* @author Andrey Filippov
*
* @brief Escapes each 0xff with 0x00, 32-bit input and output
*
* @copyright Copyright (c) 2015 Elphel, Inc .
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc .
* bit_stuffer_escape.v is free software; you can redistribute it and/or 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
......@@ -30,7 +35,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module bit_stuffer_escape(
......
/*******************************************************************************
* Module: bit_stuffer_metadata
* Date:2015-10-25
* Author: Andrey Filippov
* Description:
/*!
* <b>Module:</b>bit_stuffer_metadata
* @file bit_stuffer_metadata.v
* @date 2015-10-25
* @author Andrey Filippov
*
* @brief Bit stuffer combines variable length fragments (up to 16 bits long)
* from the Huffman encoder to a byte stream, escapes every 0xff byte with
* 0x00 and adds file length and timestamp metadata
*
* @copyright Copyright (c) 2015 Elphel, Inc .
*
* <b>License:</b>
*
* Copyright (c) 2015 Elphel, Inc .
* bit_stuffer_metadata.v is free software; you can redistribute it and/or 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
......@@ -30,7 +37,7 @@
* the combined code. This permission applies to you if the distributed code
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
*******************************************************************************/
*/
`timescale 1ns/1ps
module bit_stuffer_metadata(
......
/*******************************************************************************
* Module: cmprs_buf_average
* Date:2015-06-14
* Author: Andrey Filippov
* Description: Saves Y and C components to buffers, caculates averages
/*!
* <b>Module:</b>cmprs_buf_average
* @file cmprs_buf_average.v
* @date 2015-06-14
* @author Andrey Filippov
*
* @brief Saves Y and C components to buffers, caculates averages
* during write, then subtracts them during read and provides to
* the after DCT to restore DC
*
* Copyright (c) 2015 Elphel, Inc.
* @copyright Copyright (c) 2015 Elphel, Inc.
*
* <b>License:</b>
*
* cmprs_buf_average.v is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by