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

Subversion Repositories uart6551

[/] [uart6551/] [trunk/] [trunk/] [rtl/] [uart6551Rx_x12.sv] - Diff between revs 5 and 6

Show entire file | Details | Blame | View Log

Rev 5 Rev 6
Line 64... Line 64...
output frameErr;                // framing error
output frameErr;                // framing error
output overrun;                 // receiver overrun
output overrun;                 // receiver overrun
output parityErr;               // parity error
output parityErr;               // parity error
output break_o;                 // break detected
output break_o;                 // break detected
output gerr;                    // global error indicator
output gerr;                    // global error indicator
output [3:0] qcnt;              // count of number of words queued
output [5:0] qcnt;              // count of number of words queued
output [10:0] cnt;              // receiver counter
output [10:0] cnt;              // receiver counter
output bitStream;               // received bit stream
output bitStream;               // received bit stream
 
 
//0 - simple sampling at middle of symbol period
//0 - simple sampling at middle of symbol period
//>0 - sampling of 3 middle ticks of sumbol perion and results as majority
//>0 - sampling of 3 middle ticks of sumbol perion and results as majority
Line 93... Line 93...
reg didRd;
reg didRd;
wire [11:0] dout1;
wire [11:0] dout1;
reg full1;
reg full1;
wire fifoFull, fifoEmpty;
wire fifoFull, fifoEmpty;
 
 
assign ack = cyc & cs;
ack_gen #(
 
        .READ_STAGES(1),
 
        .WRITE_STAGES(0),
 
        .REGISTER_OUTPUT(1)
 
) uag1
 
(
 
        .rst_i(rst),
 
        .clk_i(clk),
 
        .ce_i(1'b1),
 
        .i(cs & cyc & ~wr),
 
        .we_i(cs & cyc & wr),
 
        .o(ack),
 
        .rid_i(0),
 
        .wid_i(0),
 
        .rid_o(),
 
        .wid_o()
 
);
 
 
wire pe_rd, pe_wf;
wire pe_rd, pe_wf;
edge_det ued1 (.rst(rst), .clk(clk), .ce(1'b1), .i(ack & ~wr), .pe(pe_rd), .ne(), .ee());
edge_det ued1 (.rst(rst), .clk(clk), .ce(1'b1), .i(cs & cyc & ~wr), .pe(pe_rd), .ne(), .ee());
edge_det ued2 (.rst(rst), .clk(clk), .ce(1'b1), .i(wf), .pe(pe_wf), .ne(), .ee());
edge_det ued2 (.rst(rst), .clk(clk), .ce(1'b1), .i(wf), .pe(pe_wf), .ne(), .ee());
 
 
assign bitStream = rx_data[14];
assign bitStream = rx_data[14];
assign bz = t3==12'd0;
assign bz = t3==12'd0;
wire rdf = fifoEnable ? pe_rd : pe_wf;
wire rdf = fifoEnable ? pe_rd : pe_wf;
 
 
uart6551Fifo #(.WID(15)) uf1
// Distributed RAM fifo (vendor supplied):
 
//      First word fall-through
 
//      64 entries deep
 
//      15 bits wide
 
uart6551RxFifo uf1
(
(
        .clk(clk),
        .clk(clk),
        .rst(rst|clear|fifoClear),
        .srst(rst|clear|fifoClear),
        .wr(wf),
        .wr_en(wf),
        .rd(rdf),
        .rd_en(rdf),
        .din({bz,perr,ferr,t3}),
        .din({bz,perr,ferr,t3}),
        .dout({break_o,parityErr,frameErr,dout1}),
        .dout({break_o,parityErr,frameErr,dout1}),
        .ctr(qcnt),
        .data_count(qcnt),
        .full(fifoFull),
        .full(fifoFull),
        .empty(fifoEmpty)
        .empty(fifoEmpty)
);
);
 
 
assign dout = fifoEnable ? dout1 : t5;
assign dout = fifoEnable ? dout1 : t5;

powered by: WebSVN 2.1.0

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