Various projects using Raspberry Pi
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

231 lines
12 KiB

  1. -- VHDL netlist generated by SCUBA Diamond_2.2_Production (99)
  2. -- Module Version: 1.1
  3. --/usr/local/diamond/2.2/ispfpga/bin/lin/scuba -w -n EfbSpiSlave -lang vhdl -synth synplify -bus_exp 7 -bb -type efb -arch xo2c00 -freq 26.6 -spi -spi_mode Slave -spi_rxr -spi_txr -spi_en -wb -dev 7000 -e
  4. -- Thu Dec 4 21:37:18 2014
  5. library IEEE;
  6. use IEEE.std_logic_1164.all;
  7. -- synopsys translate_off
  8. library MACHXO2;
  9. use MACHXO2.components.all;
  10. -- synopsys translate_on
  11. entity EfbSpiSlave is
  12. port (
  13. wb_clk_i: in std_logic;
  14. wb_rst_i: in std_logic;
  15. wb_cyc_i: in std_logic;
  16. wb_stb_i: in std_logic;
  17. wb_we_i: in std_logic;
  18. wb_adr_i: in std_logic_vector(7 downto 0);
  19. wb_dat_i: in std_logic_vector(7 downto 0);
  20. wb_dat_o: out std_logic_vector(7 downto 0);
  21. wb_ack_o: out std_logic;
  22. spi_clk: inout std_logic;
  23. spi_miso: inout std_logic;
  24. spi_mosi: inout std_logic;
  25. spi_scsn: in std_logic;
  26. spi_irq: out std_logic);
  27. end EfbSpiSlave;
  28. architecture Structure of EfbSpiSlave is
  29. -- internal signal declarations
  30. signal scuba_vhi: std_logic;
  31. signal spi_mosi_oe: std_logic;
  32. signal spi_mosi_o: std_logic;
  33. signal spi_miso_oe: std_logic;
  34. signal spi_miso_o: std_logic;
  35. signal spi_clk_oe: std_logic;
  36. signal spi_clk_o: std_logic;
  37. signal spi_mosi_i: std_logic;
  38. signal spi_miso_i: std_logic;
  39. signal spi_clk_i: std_logic;
  40. signal scuba_vlo: std_logic;
  41. -- local component declarations
  42. component VHI
  43. port (Z: out std_logic);
  44. end component;
  45. component VLO
  46. port (Z: out std_logic);
  47. end component;
  48. component BB
  49. port (I: in std_logic; T: in std_logic; O: out std_logic;
  50. B: inout std_logic);
  51. end component;
  52. component EFB
  53. generic (EFB_I2C1 : in String; EFB_I2C2 : in String;
  54. EFB_SPI : in String; EFB_TC : in String;
  55. EFB_TC_PORTMODE : in String; EFB_UFM : in String;
  56. EFB_WB_CLK_FREQ : in String; DEV_DENSITY : in String;
  57. UFM_INIT_PAGES : in Integer;
  58. UFM_INIT_START_PAGE : in Integer;
  59. UFM_INIT_ALL_ZEROS : in String;
  60. UFM_INIT_FILE_NAME : in String;
  61. UFM_INIT_FILE_FORMAT : in String;
  62. I2C1_ADDRESSING : in String; I2C2_ADDRESSING : in String;
  63. I2C1_SLAVE_ADDR : in String; I2C2_SLAVE_ADDR : in String;
  64. I2C1_BUS_PERF : in String; I2C2_BUS_PERF : in String;
  65. I2C1_CLK_DIVIDER : in Integer;
  66. I2C2_CLK_DIVIDER : in Integer; I2C1_GEN_CALL : in String;
  67. I2C2_GEN_CALL : in String; I2C1_WAKEUP : in String;
  68. I2C2_WAKEUP : in String; SPI_MODE : in String;
  69. SPI_CLK_DIVIDER : in Integer; SPI_LSB_FIRST : in String;
  70. SPI_CLK_INV : in String; SPI_PHASE_ADJ : in String;
  71. SPI_SLAVE_HANDSHAKE : in String;
  72. SPI_INTR_TXRDY : in String; SPI_INTR_RXRDY : in String;
  73. SPI_INTR_TXOVR : in String; SPI_INTR_RXOVR : in String;
  74. SPI_WAKEUP : in String; TC_MODE : in String;
  75. TC_SCLK_SEL : in String; TC_CCLK_SEL : in Integer;
  76. GSR : in String; TC_TOP_SET : in Integer;
  77. TC_OCR_SET : in Integer; TC_OC_MODE : in String;
  78. TC_RESETN : in String; TC_TOP_SEL : in String;
  79. TC_OV_INT : in String; TC_OCR_INT : in String;
  80. TC_ICR_INT : in String; TC_OVERFLOW : in String;
  81. TC_ICAPTURE : in String);
  82. port (WBCLKI: in std_logic; WBRSTI: in std_logic;
  83. WBCYCI: in std_logic; WBSTBI: in std_logic;
  84. WBWEI: in std_logic; WBADRI7: in std_logic;
  85. WBADRI6: in std_logic; WBADRI5: in std_logic;
  86. WBADRI4: in std_logic; WBADRI3: in std_logic;
  87. WBADRI2: in std_logic; WBADRI1: in std_logic;
  88. WBADRI0: in std_logic; WBDATI7: in std_logic;
  89. WBDATI6: in std_logic; WBDATI5: in std_logic;
  90. WBDATI4: in std_logic; WBDATI3: in std_logic;
  91. WBDATI2: in std_logic; WBDATI1: in std_logic;
  92. WBDATI0: in std_logic; PLL0DATI7: in std_logic;
  93. PLL0DATI6: in std_logic; PLL0DATI5: in std_logic;
  94. PLL0DATI4: in std_logic; PLL0DATI3: in std_logic;
  95. PLL0DATI2: in std_logic; PLL0DATI1: in std_logic;
  96. PLL0DATI0: in std_logic; PLL0ACKI: in std_logic;
  97. PLL1DATI7: in std_logic; PLL1DATI6: in std_logic;
  98. PLL1DATI5: in std_logic; PLL1DATI4: in std_logic;
  99. PLL1DATI3: in std_logic; PLL1DATI2: in std_logic;
  100. PLL1DATI1: in std_logic; PLL1DATI0: in std_logic;
  101. PLL1ACKI: in std_logic; I2C1SCLI: in std_logic;
  102. I2C1SDAI: in std_logic; I2C2SCLI: in std_logic;
  103. I2C2SDAI: in std_logic; SPISCKI: in std_logic;
  104. SPIMISOI: in std_logic; SPIMOSII: in std_logic;
  105. SPISCSN: in std_logic; TCCLKI: in std_logic;
  106. TCRSTN: in std_logic; TCIC: in std_logic;
  107. UFMSN: in std_logic; WBDATO7: out std_logic;
  108. WBDATO6: out std_logic; WBDATO5: out std_logic;
  109. WBDATO4: out std_logic; WBDATO3: out std_logic;
  110. WBDATO2: out std_logic; WBDATO1: out std_logic;
  111. WBDATO0: out std_logic; WBACKO: out std_logic;
  112. PLLCLKO: out std_logic; PLLRSTO: out std_logic;
  113. PLL0STBO: out std_logic; PLL1STBO: out std_logic;
  114. PLLWEO: out std_logic; PLLADRO4: out std_logic;
  115. PLLADRO3: out std_logic; PLLADRO2: out std_logic;
  116. PLLADRO1: out std_logic; PLLADRO0: out std_logic;
  117. PLLDATO7: out std_logic; PLLDATO6: out std_logic;
  118. PLLDATO5: out std_logic; PLLDATO4: out std_logic;
  119. PLLDATO3: out std_logic; PLLDATO2: out std_logic;
  120. PLLDATO1: out std_logic; PLLDATO0: out std_logic;
  121. I2C1SCLO: out std_logic; I2C1SCLOEN: out std_logic;
  122. I2C1SDAO: out std_logic; I2C1SDAOEN: out std_logic;
  123. I2C2SCLO: out std_logic; I2C2SCLOEN: out std_logic;
  124. I2C2SDAO: out std_logic; I2C2SDAOEN: out std_logic;
  125. I2C1IRQO: out std_logic; I2C2IRQO: out std_logic;
  126. SPISCKO: out std_logic; SPISCKEN: out std_logic;
  127. SPIMISOO: out std_logic; SPIMISOEN: out std_logic;
  128. SPIMOSIO: out std_logic; SPIMOSIEN: out std_logic;
  129. SPIMCSN7: out std_logic; SPIMCSN6: out std_logic;
  130. SPIMCSN5: out std_logic; SPIMCSN4: out std_logic;
  131. SPIMCSN3: out std_logic; SPIMCSN2: out std_logic;
  132. SPIMCSN1: out std_logic; SPIMCSN0: out std_logic;
  133. SPICSNEN: out std_logic; SPIIRQO: out std_logic;
  134. TCINT: out std_logic; TCOC: out std_logic;
  135. WBCUFMIRQ: out std_logic; CFGWAKE: out std_logic;
  136. CFGSTDBY: out std_logic);
  137. end component;
  138. attribute NGD_DRC_MASK : integer;
  139. attribute NGD_DRC_MASK of Structure : architecture is 1;
  140. begin
  141. -- component instantiation statements
  142. scuba_vhi_inst: VHI
  143. port map (Z=>scuba_vhi);
  144. BBspi_mosi: BB
  145. port map (I=>spi_mosi_o, T=>spi_mosi_oe, O=>spi_mosi_i,
  146. B=>spi_mosi);
  147. BBspi_miso: BB
  148. port map (I=>spi_miso_o, T=>spi_miso_oe, O=>spi_miso_i,
  149. B=>spi_miso);
  150. BBspi_clk: BB
  151. port map (I=>spi_clk_o, T=>spi_clk_oe, O=>spi_clk_i, B=>spi_clk);
  152. scuba_vlo_inst: VLO
  153. port map (Z=>scuba_vlo);
  154. EFBInst_0: EFB
  155. generic map (UFM_INIT_FILE_FORMAT=> "HEX", UFM_INIT_FILE_NAME=> "NONE",
  156. UFM_INIT_ALL_ZEROS=> "ENABLED", UFM_INIT_START_PAGE=> 0,
  157. UFM_INIT_PAGES=> 0, DEV_DENSITY=> "7000L", EFB_UFM=> "DISABLED",
  158. TC_ICAPTURE=> "DISABLED", TC_OVERFLOW=> "DISABLED", TC_ICR_INT=> "OFF",
  159. TC_OCR_INT=> "OFF", TC_OV_INT=> "OFF", TC_TOP_SEL=> "OFF",
  160. TC_RESETN=> "ENABLED", TC_OC_MODE=> "TOGGLE", TC_OCR_SET=> 32767,
  161. TC_TOP_SET=> 65535, GSR=> "ENABLED", TC_CCLK_SEL=> 1, TC_MODE=> "CTCM",
  162. TC_SCLK_SEL=> "PCLOCK", EFB_TC_PORTMODE=> "WB", EFB_TC=> "DISABLED",
  163. SPI_WAKEUP=> "DISABLED", SPI_INTR_RXOVR=> "DISABLED",
  164. SPI_INTR_TXOVR=> "DISABLED", SPI_INTR_RXRDY=> "ENABLED",
  165. SPI_INTR_TXRDY=> "ENABLED", SPI_SLAVE_HANDSHAKE=> "DISABLED",
  166. SPI_PHASE_ADJ=> "DISABLED", SPI_CLK_INV=> "DISABLED",
  167. SPI_LSB_FIRST=> "DISABLED", SPI_CLK_DIVIDER=> 1, SPI_MODE=> "SLAVE",
  168. EFB_SPI=> "ENABLED", I2C2_WAKEUP=> "DISABLED", I2C2_GEN_CALL=> "DISABLED",
  169. I2C2_CLK_DIVIDER=> 1, I2C2_BUS_PERF=> "100kHz", I2C2_SLAVE_ADDR=> "0b1000010",
  170. I2C2_ADDRESSING=> "7BIT", EFB_I2C2=> "DISABLED", I2C1_WAKEUP=> "DISABLED",
  171. I2C1_GEN_CALL=> "DISABLED", I2C1_CLK_DIVIDER=> 1, I2C1_BUS_PERF=> "100kHz",
  172. I2C1_SLAVE_ADDR=> "0b1000001", I2C1_ADDRESSING=> "7BIT",
  173. EFB_I2C1=> "DISABLED", EFB_WB_CLK_FREQ=> "26.6")
  174. port map (WBCLKI=>wb_clk_i, WBRSTI=>wb_rst_i, WBCYCI=>wb_cyc_i,
  175. WBSTBI=>wb_stb_i, WBWEI=>wb_we_i, WBADRI7=>wb_adr_i(7),
  176. WBADRI6=>wb_adr_i(6), WBADRI5=>wb_adr_i(5),
  177. WBADRI4=>wb_adr_i(4), WBADRI3=>wb_adr_i(3),
  178. WBADRI2=>wb_adr_i(2), WBADRI1=>wb_adr_i(1),
  179. WBADRI0=>wb_adr_i(0), WBDATI7=>wb_dat_i(7),
  180. WBDATI6=>wb_dat_i(6), WBDATI5=>wb_dat_i(5),
  181. WBDATI4=>wb_dat_i(4), WBDATI3=>wb_dat_i(3),
  182. WBDATI2=>wb_dat_i(2), WBDATI1=>wb_dat_i(1),
  183. WBDATI0=>wb_dat_i(0), PLL0DATI7=>scuba_vlo,
  184. PLL0DATI6=>scuba_vlo, PLL0DATI5=>scuba_vlo,
  185. PLL0DATI4=>scuba_vlo, PLL0DATI3=>scuba_vlo,
  186. PLL0DATI2=>scuba_vlo, PLL0DATI1=>scuba_vlo,
  187. PLL0DATI0=>scuba_vlo, PLL0ACKI=>scuba_vlo,
  188. PLL1DATI7=>scuba_vlo, PLL1DATI6=>scuba_vlo,
  189. PLL1DATI5=>scuba_vlo, PLL1DATI4=>scuba_vlo,
  190. PLL1DATI3=>scuba_vlo, PLL1DATI2=>scuba_vlo,
  191. PLL1DATI1=>scuba_vlo, PLL1DATI0=>scuba_vlo,
  192. PLL1ACKI=>scuba_vlo, I2C1SCLI=>scuba_vlo,
  193. I2C1SDAI=>scuba_vlo, I2C2SCLI=>scuba_vlo,
  194. I2C2SDAI=>scuba_vlo, SPISCKI=>spi_clk_i,
  195. SPIMISOI=>spi_miso_i, SPIMOSII=>spi_mosi_i,
  196. SPISCSN=>spi_scsn, TCCLKI=>scuba_vlo, TCRSTN=>scuba_vlo,
  197. TCIC=>scuba_vlo, UFMSN=>scuba_vhi, WBDATO7=>wb_dat_o(7),
  198. WBDATO6=>wb_dat_o(6), WBDATO5=>wb_dat_o(5),
  199. WBDATO4=>wb_dat_o(4), WBDATO3=>wb_dat_o(3),
  200. WBDATO2=>wb_dat_o(2), WBDATO1=>wb_dat_o(1),
  201. WBDATO0=>wb_dat_o(0), WBACKO=>wb_ack_o, PLLCLKO=>open,
  202. PLLRSTO=>open, PLL0STBO=>open, PLL1STBO=>open, PLLWEO=>open,
  203. PLLADRO4=>open, PLLADRO3=>open, PLLADRO2=>open,
  204. PLLADRO1=>open, PLLADRO0=>open, PLLDATO7=>open,
  205. PLLDATO6=>open, PLLDATO5=>open, PLLDATO4=>open,
  206. PLLDATO3=>open, PLLDATO2=>open, PLLDATO1=>open,
  207. PLLDATO0=>open, I2C1SCLO=>open, I2C1SCLOEN=>open,
  208. I2C1SDAO=>open, I2C1SDAOEN=>open, I2C2SCLO=>open,
  209. I2C2SCLOEN=>open, I2C2SDAO=>open, I2C2SDAOEN=>open,
  210. I2C1IRQO=>open, I2C2IRQO=>open, SPISCKO=>spi_clk_o,
  211. SPISCKEN=>spi_clk_oe, SPIMISOO=>spi_miso_o,
  212. SPIMISOEN=>spi_miso_oe, SPIMOSIO=>spi_mosi_o,
  213. SPIMOSIEN=>spi_mosi_oe, SPIMCSN7=>open, SPIMCSN6=>open,
  214. SPIMCSN5=>open, SPIMCSN4=>open, SPIMCSN3=>open,
  215. SPIMCSN2=>open, SPIMCSN1=>open, SPIMCSN0=>open,
  216. SPICSNEN=>open, SPIIRQO=>spi_irq, TCINT=>open, TCOC=>open,
  217. WBCUFMIRQ=>open, CFGWAKE=>open, CFGSTDBY=>open);
  218. end Structure;