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

Subversion Repositories socgen

[/] [socgen/] [trunk/] [common/] [opencores.org/] [Testbench/] [bfms/] [uart_host/] [rtl/] [verilog/] [top.syn] - Diff between revs 131 and 134

Only display areas with differences | Details | Blame | View Log

Rev 131 Rev 134
 
 
/**********************************************************************/
/**********************************************************************/
/*                                                                    */
/*                                                                    */
/*             -------                                                */
/*             -------                                                */
/*            /   SOC  \                                              */
/*            /   SOC  \                                              */
/*           /    GEN   \                                             */
/*           /    GEN   \                                             */
/*          /     SIM    \                                            */
/*          /     SIM    \                                            */
/*          ==============                                            */
/*          ==============                                            */
/*          |            |                                            */
/*          |            |                                            */
/*          |____________|                                            */
/*          |____________|                                            */
/*                                                                    */
/*                                                                    */
/*  uart host model for simulations                                   */
/*  uart host model for simulations                                   */
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*                                                                    */
/*  Author(s):                                                        */
/*  Author(s):                                                        */
/*      - John Eaton, jt_eaton@opencores.org                          */
/*      - John Eaton, jt_eaton@opencores.org                          */
/*                                                                    */
/*                                                                    */
/**********************************************************************/
/**********************************************************************/
/*                                                                    */
/*                                                                    */
/*    Copyright (C) <2010>  <Ouabache Design Works>                   */
/*    Copyright (C) <2010>  <Ouabache Design Works>                   */
/*                                                                    */
/*                                                                    */
/*  This source file may be used and distributed without              */
/*  This source file may be used and distributed without              */
/*  restriction provided that this copyright statement is not         */
/*  restriction provided that this copyright statement is not         */
/*  removed from the file and that any derivative work contains       */
/*  removed from the file and that any derivative work contains       */
/*  the original copyright notice and the associated disclaimer.      */
/*  the original copyright notice and the associated disclaimer.      */
/*                                                                    */
/*                                                                    */
/*  This source file is free software; you can redistribute it        */
/*  This source file is free software; you can redistribute it        */
/*  and/or modify it under the terms of the GNU Lesser General        */
/*  and/or modify it under the terms of the GNU Lesser General        */
/*  Public License as published by the Free Software Foundation;      */
/*  Public License as published by the Free Software Foundation;      */
/*  either version 2.1 of the License, or (at your option) any        */
/*  either version 2.1 of the License, or (at your option) any        */
/*  later version.                                                    */
/*  later version.                                                    */
/*                                                                    */
/*                                                                    */
/*  This source is distributed in the hope that it will be            */
/*  This source is distributed in the hope that it will be            */
/*  useful, but WITHOUT ANY WARRANTY; without even the implied        */
/*  useful, but WITHOUT ANY WARRANTY; without even the implied        */
/*  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR           */
/*  warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR           */
/*  PURPOSE.  See the GNU Lesser General Public License for more      */
/*  PURPOSE.  See the GNU Lesser General Public License for more      */
/*  details.                                                          */
/*  details.                                                          */
/*                                                                    */
/*                                                                    */
/*  You should have received a copy of the GNU Lesser General         */
/*  You should have received a copy of the GNU Lesser General         */
/*  Public License along with this source; if not, download it        */
/*  Public License along with this source; if not, download it        */
/*  from http://www.opencores.org/lgpl.shtml                          */
/*  from http://www.opencores.org/lgpl.shtml                          */
/*                                                                    */
/*                                                                    */
/**********************************************************************/
/**********************************************************************/
 
 
 
 
 
 
module uart_host_def (
module uart_host_def (
input  wire           clk,
input  wire           clk,
input  wire           reset,
input  wire           reset,
output reg            parity_enable,
output reg            parity_enable,
output  reg           txd_parity,
output  reg           txd_parity,
output  reg           txd_force_parity,
output  reg           txd_force_parity,
output  reg [7:0]     txd_data_in,
output  reg [7:0]     txd_data_in,
input  wire           txd_buffer_empty,
input  wire           txd_buffer_empty,
output  reg           txd_load,
output  reg           txd_load,
output  reg           txd_break,
output  reg           txd_break,
output  reg           rxd_parity,
output  reg           rxd_parity,
output  reg           rxd_force_parity,
output  reg           rxd_force_parity,
output  reg           rxd_data_avail_stb,
output  reg           rxd_data_avail_stb,
inout  wire [7:0]     rxd_data_out,
input  wire [7:0]     rxd_data_out,
input  wire           rxd_data_avail,
input  wire           rxd_data_avail,
inout  wire           rxd_stop_error,
input  wire           rxd_stop_error,
inout  wire           rxd_parity_error
input  wire           rxd_parity_error
);
);
 
 
reg exp_rxd_stop_error;
reg exp_rxd_stop_error;
reg exp_rxd_parity_error;
reg exp_rxd_parity_error;
reg [7:0] exp_rxd_data_out;
reg [7:0] exp_rxd_data_out;
 
 
reg mask_rxd_stop_error;
reg mask_rxd_stop_error;
reg mask_rxd_parity_error;
reg mask_rxd_parity_error;
reg [7:0] mask_rxd_data_out;
reg [7:0] mask_rxd_data_out;
 
 
 
 
 
 
 
io_probe_in
 
 
 
 
 
 
 
 
 
 
always@(posedge clk)
 
if(reset)
 
  begin
 
  parity_enable        <= 1'b0;
 
  txd_data_in          <= 8'h00;
 
  txd_parity           <= 1'b0;
 
  txd_force_parity     <= 1'b0;
 
  txd_load             <= 1'b0;
 
  txd_break            <= 1'b0;
 
  rxd_parity           <= 1'b0;
 
  rxd_force_parity     <= 1'b0;
 
  rxd_data_avail_stb   <= 1'b0;
 
  exp_rxd_stop_error   <= 1'b0;
 
  exp_rxd_parity_error <= 1'b0;
 
  exp_rxd_data_out     <= 8'h00;
 
 
 
  mask_rxd_stop_error   <= 1'b0;
 
  mask_rxd_parity_error <= 1'b0;
 
  mask_rxd_data_out     <= 8'h00;
 
 
 
 
 
 end
 
 
 
 
 
 
 
io_probe_def
 
#(.MESG("uart_host receive error"),
#(.MESG("uart_host receive error"),
  .WIDTH(8))
  .WIDTH(8))
rxd_data_out_prb
rxd_data_out_prb
(
(
       .clk            ( clk               ),
       .clk            ( clk               ),
       .drive_value    (8'bzzzzzzzz        ),
 
       .expected_value ( exp_rxd_data_out  ),
       .expected_value ( exp_rxd_data_out  ),
       .mask           ( mask_rxd_data_out ),
       .mask           ( mask_rxd_data_out ),
       .signal         ( rxd_data_out      )
       .signal         ( rxd_data_out      )
 
 
 
 
);
);
 
 
 
 
 
 
 
 
 
 
 
 
io_probe_def
io_probe_in
#(.MESG("uart_host stop error"))
#(.MESG("uart_host stop error"))
rxd_stop_error_prb
rxd_stop_error_prb
(
(
       .clk            ( clk                 ),
       .clk            ( clk                 ),
       .drive_value    (1'bz                 ),
 
       .expected_value ( exp_rxd_stop_error  ),
       .expected_value ( exp_rxd_stop_error  ),
       .mask           ( mask_rxd_stop_error ),
       .mask           ( mask_rxd_stop_error ),
       .signal         ( rxd_stop_error      )
       .signal         ( rxd_stop_error      )
 
 
 
 
);
);
 
 
 
 
 
 
 
 
io_probe_def
io_probe_in
#(.MESG("uart_host parity error"))
#(.MESG("uart_host parity error"))
rxd_parity_error_prb
rxd_parity_error_prb
(
(
       .clk            ( clk                 ),
       .clk            ( clk                 ),
       .drive_value    (1'bz                 ),
 
       .expected_value ( exp_rxd_parity_error  ),
       .expected_value ( exp_rxd_parity_error  ),
       .mask           ( mask_rxd_parity_error ),
       .mask           ( mask_rxd_parity_error ),
       .signal         ( rxd_parity_error      )
       .signal         ( rxd_parity_error      )
 
 
 
 
);
);
 
 
 
 
 
 
 
always@(posedge clk)
 
if(reset)
 
  begin
 
  parity_enable        <= 1'b0;
 
  txd_data_in          <= 8'h00;
 
  txd_parity           <= 1'b0;
 
  txd_force_parity     <= 1'b0;
 
  txd_load             <= 1'b0;
 
  txd_break            <= 1'b0;
 
  rxd_parity           <= 1'b0;
 
  rxd_force_parity     <= 1'b0;
 
  rxd_data_avail_stb   <= 1'b0;
 
  exp_rxd_stop_error   <= 1'b0;
 
  exp_rxd_parity_error <= 1'b0;
 
  exp_rxd_data_out     <= 8'h00;
 
 
 
  mask_rxd_stop_error   <= 1'b0;
 
  mask_rxd_parity_error <= 1'b0;
 
  mask_rxd_data_out     <= 8'h00;
 
 
 
 
 
 end
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
endmodule
endmodule
 
 
 
 

powered by: WebSVN 2.1.0

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