Create UART and uart_wrapper
This commit is contained in:
34
hw/efinix_fpga/ip/uart/settings.json
Normal file
34
hw/efinix_fpga/ip/uart/settings.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"args": [
|
||||
"-o",
|
||||
"uart",
|
||||
"--base_path",
|
||||
"/home/byron/Projects/super6502/hw/efinix_fpga/ip",
|
||||
"--vlnv",
|
||||
{
|
||||
"vendor": "efinixinc.com",
|
||||
"library": "serial_interface",
|
||||
"name": "efx_uart",
|
||||
"version": "2.0"
|
||||
}
|
||||
],
|
||||
"conf": {
|
||||
"BYTE": "1",
|
||||
"CLOCK_FREQ": "50000000",
|
||||
"BAUD": "115200",
|
||||
"ENABLE_PARITY": "0",
|
||||
"FIX_BAUDRATE": "1",
|
||||
"PARITY_MODE": "0",
|
||||
"BOOTUP_CHECK": "0"
|
||||
},
|
||||
"output": {
|
||||
"external_source_source": [
|
||||
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart.v",
|
||||
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_define.vh",
|
||||
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_tmpl.vhd",
|
||||
"/home/byron/Projects/super6502/hw/efinix_fpga/ip/uart/uart_tmpl.v"
|
||||
]
|
||||
},
|
||||
"sw_version": "2022.2.322",
|
||||
"generated_date": "2023-01-12T01:01:22.177819"
|
||||
}
|
||||
1168
hw/efinix_fpga/ip/uart/uart.v
Normal file
1168
hw/efinix_fpga/ip/uart/uart.v
Normal file
File diff suppressed because it is too large
Load Diff
52
hw/efinix_fpga/ip/uart/uart_define.vh
Normal file
52
hw/efinix_fpga/ip/uart/uart_define.vh
Normal file
@@ -0,0 +1,52 @@
|
||||
// =============================================================================
|
||||
// Generated by efx_ipmgr
|
||||
// Version: 2022.2.322
|
||||
// IP Version: 2.0
|
||||
// =============================================================================
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2013-2022 Efinix Inc. All rights reserved.
|
||||
//
|
||||
// This document contains proprietary information which is
|
||||
// protected by copyright. All rights are reserved. This notice
|
||||
// refers to original work by Efinix, Inc. which may be derivitive
|
||||
// of other work distributed under license of the authors. In the
|
||||
// case of derivative work, nothing in this notice overrides the
|
||||
// original author's license agreement. Where applicable, the
|
||||
// original license agreement is included in it's original
|
||||
// unmodified form immediately below this header.
|
||||
//
|
||||
// WARRANTY DISCLAIMER.
|
||||
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
|
||||
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
|
||||
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
|
||||
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
|
||||
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
|
||||
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
|
||||
//
|
||||
// LIMITATION OF LIABILITY.
|
||||
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
|
||||
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
|
||||
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
|
||||
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
|
||||
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
|
||||
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
|
||||
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
|
||||
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
|
||||
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
|
||||
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
|
||||
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
|
||||
// APPLY TO LICENSEE.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
localparam BYTE = 1;
|
||||
localparam CLOCK_FREQ = 50000000;
|
||||
localparam BAUD = 115200;
|
||||
localparam ENABLE_PARITY = 0;
|
||||
localparam FIX_BAUDRATE = 1;
|
||||
localparam PARITY_MODE = 0;
|
||||
localparam BOOTUP_CHECK = 0;
|
||||
55
hw/efinix_fpga/ip/uart/uart_tmpl.v
Normal file
55
hw/efinix_fpga/ip/uart/uart_tmpl.v
Normal file
@@ -0,0 +1,55 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2013-2022 Efinix Inc. All rights reserved.
|
||||
//
|
||||
// This document contains proprietary information which is
|
||||
// protected by copyright. All rights are reserved. This notice
|
||||
// refers to original work by Efinix, Inc. which may be derivitive
|
||||
// of other work distributed under license of the authors. In the
|
||||
// case of derivative work, nothing in this notice overrides the
|
||||
// original author's license agreement. Where applicable, the
|
||||
// original license agreement is included in it's original
|
||||
// unmodified form immediately below this header.
|
||||
//
|
||||
// WARRANTY DISCLAIMER.
|
||||
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
|
||||
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
|
||||
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
|
||||
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
|
||||
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
|
||||
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
|
||||
//
|
||||
// LIMITATION OF LIABILITY.
|
||||
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
|
||||
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
|
||||
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
|
||||
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
|
||||
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
|
||||
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
|
||||
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
|
||||
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
|
||||
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
|
||||
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
|
||||
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
|
||||
// APPLY TO LICENSEE.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
uart u_uart(
|
||||
.tx_o ( tx_o ),
|
||||
.rx_i ( rx_i ),
|
||||
.tx_busy ( tx_busy ),
|
||||
.rx_data ( rx_data ),
|
||||
.rx_data_valid ( rx_data_valid ),
|
||||
.rx_error ( rx_error ),
|
||||
.rx_parity_error ( rx_parity_error ),
|
||||
.rx_busy ( rx_busy ),
|
||||
.baud_x16_ce ( baud_x16_ce ),
|
||||
.clk ( clk ),
|
||||
.reset ( reset ),
|
||||
.tx_data ( tx_data ),
|
||||
.baud_rate ( baud_rate ),
|
||||
.tx_en ( tx_en )
|
||||
);
|
||||
76
hw/efinix_fpga/ip/uart/uart_tmpl.vhd
Normal file
76
hw/efinix_fpga/ip/uart/uart_tmpl.vhd
Normal file
@@ -0,0 +1,76 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2013-2022 Efinix Inc. All rights reserved.
|
||||
//
|
||||
// This document contains proprietary information which is
|
||||
// protected by copyright. All rights are reserved. This notice
|
||||
// refers to original work by Efinix, Inc. which may be derivitive
|
||||
// of other work distributed under license of the authors. In the
|
||||
// case of derivative work, nothing in this notice overrides the
|
||||
// original author's license agreement. Where applicable, the
|
||||
// original license agreement is included in it's original
|
||||
// unmodified form immediately below this header.
|
||||
//
|
||||
// WARRANTY DISCLAIMER.
|
||||
// THE DESIGN, CODE, OR INFORMATION ARE PROVIDED “AS IS” AND
|
||||
// EFINIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH
|
||||
// RESPECT THERETO, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES,
|
||||
// INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
// MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR
|
||||
// PURPOSE. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED
|
||||
// WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE.
|
||||
//
|
||||
// LIMITATION OF LIABILITY.
|
||||
// NOTWITHSTANDING ANYTHING TO THE CONTRARY, EXCEPT FOR BODILY
|
||||
// INJURY, EFINIX SHALL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT
|
||||
// MATTER OF THIS AGREEMENT UNDER TORT, CONTRACT, STRICT LIABILITY
|
||||
// OR ANY OTHER LEGAL OR EQUITABLE THEORY (I) FOR ANY INDIRECT,
|
||||
// SPECIAL, INCIDENTAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES OF ANY
|
||||
// CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
// GOODWILL, DATA OR PROFIT, WORK STOPPAGE, OR COMPUTER FAILURE OR
|
||||
// MALFUNCTION, OR IN ANY EVENT (II) FOR ANY AMOUNT IN EXCESS, IN
|
||||
// THE AGGREGATE, OF THE FEE PAID BY LICENSEE TO EFINIX HEREUNDER
|
||||
// (OR, IF THE FEE HAS BEEN WAIVED, $100), EVEN IF EFINIX SHALL HAVE
|
||||
// BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO
|
||||
// NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
|
||||
// CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT
|
||||
// APPLY TO LICENSEE.
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
------------- Begin Cut here for COMPONENT Declaration ------
|
||||
COMPONENT uart is
|
||||
PORT (
|
||||
tx_o : out std_logic;
|
||||
rx_i : in std_logic;
|
||||
tx_busy : out std_logic;
|
||||
rx_data : out std_logic_vector(7 downto 0);
|
||||
rx_data_valid : out std_logic;
|
||||
rx_error : out std_logic;
|
||||
rx_parity_error : out std_logic;
|
||||
rx_busy : out std_logic;
|
||||
baud_x16_ce : out std_logic;
|
||||
clk : in std_logic;
|
||||
reset : in std_logic;
|
||||
tx_data : in std_logic_vector(7 downto 0);
|
||||
baud_rate : in std_logic_vector(2 downto 0);
|
||||
tx_en : in std_logic);
|
||||
END COMPONENT;
|
||||
---------------------- End COMPONENT Declaration ------------
|
||||
|
||||
------------- Begin Cut here for INSTANTIATION Template -----
|
||||
u_uart : uart
|
||||
PORT MAP (
|
||||
tx_o => tx_o,
|
||||
rx_i => rx_i,
|
||||
tx_busy => tx_busy,
|
||||
rx_data => rx_data,
|
||||
rx_data_valid => rx_data_valid,
|
||||
rx_error => rx_error,
|
||||
rx_parity_error => rx_parity_error,
|
||||
rx_busy => rx_busy,
|
||||
baud_x16_ce => baud_x16_ce,
|
||||
clk => clk,
|
||||
reset => reset,
|
||||
tx_data => tx_data,
|
||||
baud_rate => baud_rate,
|
||||
tx_en => tx_en);
|
||||
------------------------ End INSTANTIATION Template ---------
|
||||
Reference in New Issue
Block a user