Advertisement
Guest User

Untitled

a guest
Oct 21st, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.05 KB | None | 0 0
  1. import os
  2.  
  3. from migen import *
  4. from misoc.interconnect import wishbone
  5.  
  6. class UART16550(Module):
  7.     def __init__(self, platform):
  8.  
  9.         self.slave = slave = wishbone.Interface()
  10.  
  11.  
  12.         #UART signal
  13.         self.tx = Signal()
  14.         self.rx = Signal()
  15.  
  16.         #Modem Signal
  17.         self.rts = Signal()
  18.         self.cts = Signal()
  19.         self.dtr = Signal()
  20.         self.dsr = Signal()
  21.         self.ri = Signal()
  22.         self.dcd = Signal()
  23.  
  24.         #int
  25.         self.intr = Signal()
  26.         adr_i = Signal(32)
  27.  
  28.         self.specials += Instance("uart_top",
  29.                                   i_wb_clk_i=ClockSignal(),
  30.                                   i_wb_rst_i=ResetSignal(),
  31.  
  32.                                   # WISHBONE slave
  33.                                   i_wb_dat_i=slave.dat_r,
  34.                                   o_wb_dat_o=slave.dat_w,
  35.                                   i_wb_adr_i=slave.adr,
  36.                                   i_wb_sel_i=slave.sel,
  37.                                   i_wb_we_i=slave.we,
  38.                                   i_wb_cyc_i=slave.cyc,
  39.                                   i_wb_stb_i=slave.stb,
  40.                                   o_wb_ack_o=slave.ack,
  41.  
  42.                                   # UART Signal
  43.                                   o_stx_pad_o = self.tx,
  44.                                   i_srx_pad_i = self.rx,
  45.  
  46.                                   #modem signal
  47.                                   o_rts_pad_o = self.rts,
  48.                                   i_cts_pad_i = self.cts,
  49.                                   o_dtr_pad_o = self.dtr,
  50.                                   i_dsr_pad_i = self.dsr,
  51.                                   i_ri_pad_i = self.ri,
  52.                                   i_dcd_pad_i = self.dcd,
  53.  
  54.                                   #interrupt
  55.                                   o_int_o=self.intr
  56.         )
  57.  
  58.         #self.comb += adr_i[2:].eq(slave.adr)
  59.  
  60.  
  61.         sdcard_path = os.path.abspath(os.path.dirname(__file__))
  62.         platform.add_source_dir(os.path.join(sdcard_path, "verilog"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement