Line 60... |
Line 60... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.35 2001/12/19 08:03:34 mohor
|
|
// Warnings cleared.
|
|
//
|
// Revision 1.34 2001/12/19 07:33:54 mohor
|
// Revision 1.34 2001/12/19 07:33:54 mohor
|
// Synplicity was having troubles with the comment.
|
// Synplicity was having troubles with the comment.
|
//
|
//
|
// Revision 1.33 2001/12/17 10:14:43 mohor
|
// Revision 1.33 2001/12/17 10:14:43 mohor
|
// Things related to msr register changed. After THRE IRQ occurs, and one
|
// Things related to msr register changed. After THRE IRQ occurs, and one
|
Line 329... |
Line 332... |
// Transmitter Instance
|
// Transmitter Instance
|
uart_transmitter transmitter(clk, wb_rst_i, lcr, tf_push, wb_dat_i, enable, stx_pad_o, tstate, tf_count, tx_reset, lsr_mask);
|
uart_transmitter transmitter(clk, wb_rst_i, lcr, tf_push, wb_dat_i, enable, stx_pad_o, tstate, tf_count, tx_reset, lsr_mask);
|
|
|
// Receiver Instance
|
// Receiver Instance
|
uart_receiver receiver(clk, wb_rst_i, lcr, rf_pop, srx_pad_i, enable,
|
uart_receiver receiver(clk, wb_rst_i, lcr, rf_pop, srx_pad_i, enable,
|
counter_t, rf_count, rf_data_out, rf_error_bit, rf_overrun, rx_reset, lsr_mask, rstate, rf_push);
|
counter_t, rf_count, rf_data_out, rf_error_bit, rf_overrun, rx_reset, lsr_mask, rstate, rf_push_pulse);
|
|
|
|
|
// Asynchronous reading here because the outputs are sampled in uart_wb.v file
|
// Asynchronous reading here because the outputs are sampled in uart_wb.v file
|
always @(dl or dlab or ier or iir or scratch
|
always @(dl or dlab or ier or iir or scratch
|
or lcr or lsr or msr or rf_data_out or wb_addr_i or wb_re_i) // asynchrounous reading
|
or lcr or lsr or msr or rf_data_out or wb_addr_i or wb_re_i) // asynchrounous reading
|
Line 522... |
Line 525... |
|
|
|
|
// Line Status Register
|
// Line Status Register
|
|
|
// activation conditions
|
// activation conditions
|
assign lsr0 = (rf_count==0 && rf_push); // data in receiver fifo available set condition
|
assign lsr0 = (rf_count==0 && rf_push_pulse); // data in receiver fifo available set condition
|
assign lsr1 = rf_overrun; // Receiver overrun error
|
assign lsr1 = rf_overrun; // Receiver overrun error
|
assign lsr2 = rf_data_out[1]; // parity error bit
|
assign lsr2 = rf_data_out[1]; // parity error bit
|
assign lsr3 = rf_data_out[0]; // framing error bit
|
assign lsr3 = rf_data_out[0]; // framing error bit
|
assign lsr4 = rf_data_out[2]; // break error in the character
|
assign lsr4 = rf_data_out[2]; // break error in the character
|
assign lsr5 = (tf_count==5'b0 && thre_set_en); // transmitter fifo is empty
|
assign lsr5 = (tf_count==5'b0 && thre_set_en); // transmitter fifo is empty
|