Skip to content

Commit 0a81e91

Browse files
committed
Update testbench
1 parent 20fc9d9 commit 0a81e91

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

source/uart_testbench.vhd

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1919
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2020
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
-- SOFTWARE.
21+
-- SOFTWARE.
22+
--
23+
-- Website: https://github.com/jakubcabal/uart_for_fpga
2224
--------------------------------------------------------------------------------
2325

2426
library IEEE;
@@ -30,15 +32,15 @@ end UART_TESTBENCH;
3032

3133
architecture FULL of UART_TESTBENCH is
3234

33-
signal CLK : std_logic := '0';
34-
signal RST : std_logic := '0';
35-
signal tx_uart : std_logic;
36-
signal rx_uart : std_logic := '1';
37-
signal tx_valid : std_logic;
38-
signal tx_data : std_logic_vector(7 downto 0);
39-
signal rx_valid : std_logic;
40-
signal rx_ready : std_logic;
41-
signal rx_data : std_logic_vector(7 downto 0);
35+
signal CLK : std_logic := '0';
36+
signal RST : std_logic := '0';
37+
signal tx_uart : std_logic;
38+
signal rx_uart : std_logic := '1';
39+
signal data_vld : std_logic;
40+
signal data_out : std_logic_vector(7 downto 0);
41+
signal data_send : std_logic;
42+
signal busy : std_logic;
43+
signal data_in : std_logic_vector(7 downto 0);
4244

4345
constant clk_period : time := 20 ns;
4446
constant uart_period : time := 8696 ns;
@@ -53,18 +55,18 @@ begin
5355
CLK_FREQ => 50e6 -- set system clock frequency in Hz, default is 50 MHz
5456
)
5557
port map (
56-
CLK => CLK, -- system clock
57-
RST => RST, -- high active synchronous reset
58-
-- UART INTERFACE
59-
TX_UART => tx_uart,
60-
RX_UART => rx_uart,
58+
CLK => CLK, -- system clock
59+
RST => RST, -- high active synchronous reset
60+
-- UART RS232 INTERFACE
61+
TX_UART => TX_UART,
62+
RX_UART => RX_UART,
6163
-- USER TX INTERFACE
62-
TX_DATA => tx_data,
63-
TX_VALID => tx_valid, -- when TX_VALID = 1, data on TX_DATA are valid
64+
DATA_OUT => data_out,
65+
DATA_VLD => data_vld, -- when DATA_VLD = 1, data on DATA_OUT are valid
6466
-- USER RX INTERFACE
65-
RX_DATA => rx_data,
66-
RX_VALID => rx_valid, -- when RX_VALID = 1, data on RX_DATA are valid
67-
RX_READY => rx_ready -- when RX_READY = 1, you can set RX_VALID to 1
67+
DATA_IN => data_in,
68+
DATA_SEND => data_send, -- when DATA_SEND = 1, data on DATA_IN will be transmit, DATA_SEND can set to 1 only when BUSY = 0
69+
BUSY => busy -- when BUSY = 1 transiever is busy, you must not set DATA_SEND to 1
6870
);
6971

7072
clk_process : process
@@ -101,19 +103,19 @@ begin
101103

102104
test_tx_uart : process
103105
begin
104-
rx_valid <= '0';
106+
data_send <= '0';
105107
RST <= '1';
106108
wait for 100 ns;
107109
RST <= '0';
108110

109111
wait until rising_edge(CLK);
110112

111-
rx_valid <= '1';
112-
rx_data <= data_value;
113+
data_send <= '1';
114+
data_in <= data_value;
113115

114116
wait until rising_edge(CLK);
115117

116-
rx_valid <= '0';
118+
data_send <= '0';
117119

118120
wait until rising_edge(CLK);
119121

0 commit comments

Comments
 (0)