UG0644 DDR AXI Arbiter
Impormasyon ng Produkto
Ang DDR AXI Arbiter ay isang bahagi ng hardware na nagbibigay ng a
64-bit AXI master interface sa DDR-SDRAM on-chip controllers.
Ito ay karaniwang ginagamit sa mga video application para sa buffering at
pagproseso ng data ng video pixel. Nagbibigay ang manwal ng gumagamit ng produkto
detalyadong impormasyon at mga tagubilin sa pagpapatupad ng hardware,
simulation, at paggamit ng mapagkukunan.
Pagpapatupad ng Hardware
Ang DDR AXI Arbiter ay idinisenyo upang mag-interface sa DDR-SDRAM
on-chip controllers. Nagbibigay ito ng 64-bit na AXI master interface
na nagbibigay-daan sa mabilis na pagproseso ng data ng video pixel. Ang gumagamit ng produkto
manual ay nagbibigay ng isang detalyadong paglalarawan ng disenyo ng DDR AXI
Arbiter at ang pagpapatupad ng hardware nito.
Simulation
Ang manwal ng gumagamit ng produkto ay nagbibigay ng mga tagubilin sa pagtulad sa
DDR AXI Arbiter gamit ang MSS SmartDesign at mga tool sa Testbench. Ang mga ito
Ang mga tool ay nagbibigay-daan sa gumagamit na patunayan ang kawastuhan ng disenyo at
tiyakin ang wastong paggana ng bahagi ng hardware.
Paggamit ng Mapagkukunan
Ang DDR AXI Arbiter ay gumagamit ng mga mapagkukunan ng system tulad ng lohika
mga cell, memory block, at mga mapagkukunan sa pagruruta. Ang gumagamit ng produkto
manual ay nagbibigay ng isang detalyadong ulat sa paggamit ng mapagkukunan na kung saan
binabalangkas ang mga kinakailangan sa mapagkukunan ng DDR AXI Arbiter. Ito
magagamit ang impormasyon upang matiyak na kaya ng bahagi ng hardware
ipatupad sa loob ng magagamit na mapagkukunan ng system.
Mga Tagubilin sa Paggamit ng Produkto
Ang mga sumusunod na tagubilin ay nagbibigay ng gabay sa kung paano gamitin ang
DDR AXI Arbiter:
Hakbang 1: Pagpapatupad ng Hardware
Ipatupad ang bahagi ng hardware ng DDR AXI Arbiter sa interface
gamit ang DDR-SDRAM on-chip controllers. Sundin ang disenyo
paglalarawan na ibinigay sa manwal ng gumagamit ng produkto upang matiyak na tama
pagpapatupad ng bahagi ng hardware.
Hakbang 2: Simulation
Gayahin ang disenyo ng DDR AXI Arbiter gamit ang MSS SmartDesign at
Mga tool sa Testbench. Sundin ang mga tagubilin na ibinigay sa produkto
manwal ng gumagamit upang patunayan ang kawastuhan ng disenyo at matiyak
wastong paggana ng bahagi ng hardware.
Hakbang 3: Paggamit ng Mapagkukunan
Review ang ulat sa paggamit ng mapagkukunan na ibinigay sa produkto
manwal ng gumagamit upang matukoy ang mga kinakailangan sa mapagkukunan ng DDR AXI
Tagapamagitan. Tiyaking maipapatupad ang bahagi ng hardware
sa loob ng magagamit na mapagkukunan ng system.
Sa pamamagitan ng pagsunod sa mga tagubiling ito, mabisa mong magagamit ang DDR
AXI Arbiter hardware component para sa video pixel data buffering at
pagproseso sa mga video application.
Gabay sa Gumagamit ng UG0644
DDR AXI Arbiter
Pebrero 2018
DDR AXI Arbiter
Mga nilalaman
1 Kasaysayan ng Pagbabago ……………………………………………………………………………………………………………………….. 1
1.1 Rebisyon 5.0 ………………………………………………………………………………………………………………………. 1 1.2 Rebisyon 4.0 ………………………………………………………………………………………………………………………. 1 1.3 Rebisyon 3.0 ………………………………………………………………………………………………………………………. 1 1.4 Rebisyon 2.0 ………………………………………………………………………………………………………………………. 1 1.5 Rebisyon 1.0 ………………………………………………………………………………………………………………………. 1
2 Panimula ……………………………………………………………………………………………………………………….. 2 3 Hardware Pagpapatupad ………………………………………………………………………………………………… 3
3.1 Paglalarawan ng Disenyo …………………………………………………………………………………………………………… 3 3.2 Mga Input at Output …………………………………………………………………………………………………………….. 5 3.3 Mga Parameter ng Configuration ……… ………………………………………………………………………………………. 13 3.4 Timing Diagram ……………………………………………………………………………………………………………. 14 3.5 Testbench ……………………………………………………………………………………………………………………….. 16
3.5.1 Pagtulad sa MSS SmartDesign …………………………………………………………………………………………………. 25 3.5.2 Simulating Testbench ……………………………………………………………………………………………………………. 30 3.6 Paggamit ng Mapagkukunan …………………………………………………………………………………………………………….. 31
UG0644 User Guide Revision 5.0
DDR AXI Arbiter
1
Kasaysayan ng Pagbabago
Inilalarawan ng kasaysayan ng rebisyon ang mga pagbabagong ipinatupad sa dokumento. Ang mga pagbabago ay nakalista ayon sa rebisyon, simula sa pinakabagong publikasyon.
1.1
Rebisyon 5.0
Sa rebisyon 5.0 ng dokumentong ito, ang seksyon ng Resource Utilization at ang Resource Utilization Report
ay na-update. Para sa karagdagang impormasyon, tingnan ang Resource Utilization (tingnan ang pahina 31).
1.2
Rebisyon 4.0
Ang sumusunod ay isang buod ng mga pagbabago sa rebisyon 4.0 ng dokumentong ito.
Nagdagdag ng mga parameter ng pagsasaayos ng testbench sa talahanayan. Para sa karagdagang impormasyon, tingnan ang Mga Parameter ng Configuration (tingnan ang pahina 16).. Nagdagdag ng impormasyon upang gayahin ang core gamit ang testbench. Para sa karagdagang impormasyon, tingnan ang Testbench (tingnan ang pahina 16). Na-update ang Resource Utilization para sa mga halaga ng DDR AXI Arbiter sa talahanayan. Para sa karagdagang impormasyon, tingnan ang Resource Utilization (tingnan ang pahina 31).
1.3
Rebisyon 3.0
Ang sumusunod ay isang buod ng mga pagbabago sa rebisyon 3.0 ng dokumentong ito.
Nagdagdag ng 8-bit na impormasyon para sa pagsulat ng channel 1 at 2. Para sa karagdagang impormasyon, tingnan ang Paglalarawan ng Disenyo (tingnan ang pahina 3). Na-update na seksyon ng Testbench. Para sa karagdagang impormasyon, tingnan ang Testbench (tingnan ang pahina 16).
1.4
Rebisyon 2.0
Sa rebisyon 2.0 ng dokumentong ito, na-update ang mga figure at talahanayan sa seksyong Testbench.
Para sa karagdagang impormasyon, tingnan ang Testbench (tingnan ang pahina 16).
1.5
Rebisyon 1.0
Ang Rebisyon 1.0 ay ang unang publikasyon ng dokumentong ito
UG0644 User Guide Revision 5.0
1
DDR AXI Arbiter
2
Panimula
Ang mga alaala ay isang mahalagang bahagi ng anumang karaniwang mga video at graphics application. Ginagamit ang mga ito para sa pag-buffer ng data ng pixel ng video. Isang karaniwang buffering halampAng mga buffer ng display frame kung saan ang kumpletong data ng video pixel para sa isang frame ay naka-buffer sa memorya.
Ang dual data rate (DDR)-synchronous DRAM (SDRAM) ay isa sa mga karaniwang ginagamit na memory sa mga video application para sa buffering. Ginagamit ang SDRAM dahil sa bilis nito na kinakailangan para sa mabilis na pagproseso sa mga video system.
Ang sumusunod na figure ay nagpapakita ng isang example ng isang system-level diagram ng DDR-SDRAM memory interfacing sa video application.
Figure 1 · DDR-SDRAM Memory Interfacing
Sa Microsemi SmartFusion®2 System-on-Chip (SoC), mayroong dalawang on-chip DDR controllers na may 64-bit advanced extensible interface (AXI) at 32-bit advanced high-performance bus (AHB) na mga slave interface patungo sa field programmable tela ng gate array (FPGA). Ang isang AXI o AHB master interface ay kinakailangan upang basahin at isulat ang DDR-SDRAM memory na naka-interface sa on-chip DDR controllers.
UG0644 User Guide Revision 5.0
2
DDR AXI Arbiter
3
Pagpapatupad ng Hardware
3.1
Paglalarawan ng Disenyo
Ang DDR AXI Arbiter ay nagbibigay ng 64-bit AXI master interface sa DDR-SDRAM on-chip controllers ng
Mga aparatong SmartFusion2. Ang DDR AXI Arbiter ay may apat na read channel at dalawang write channels patungo sa
lohika ng gumagamit. Ang block ay arbitrates sa pagitan ng apat na read channel upang magbigay ng access sa AXI read
channel sa isang round-robin na paraan. Hangga't mataas ang read request ng master ng read channel 1, ang AXI
ang read channel ay inilalaan dito. Ang Read channel 1 ay may nakapirming output data width na 24-bit. Basahin ang mga channel 2, 3,
at 4 ay maaaring i-configure bilang 8-bit, 24-bit, o 32-bit na lapad ng output ng data. Pinili ito ng global
parameter ng pagsasaayos.
Ang block ay nag-aarbitrate din sa pagitan ng dalawang write channel upang magbigay ng access sa AXI write channel sa isang round-robin na paraan. Parehong may pantay na priyoridad ang mga channel sa pagsusulat. Maaaring i-configure ang write channel 1 at 2 bilang 8-bit, 24-bit, o 32-bit na lapad ng data ng input.
UG0644 User Guide Revision 5.0
3
DDR AXI Arbiter
Ipinapakita ng sumusunod na figure ang top-level na pin-out diagram ng DDR AXI Arbiter. Figure 2 · Top-Level Block Diagram ng DDR AXI Arbiter Block
UG0644 User Guide Revision 5.0
4
DDR AXI Arbiter
Ipinapakita ng sumusunod na figure ang top-level block diagram ng isang system na may DDR AXI Arbiter block na naka-port sa SmartFusion2 device. Figure 3 · System-Level Block Diagram ng DDR AXI Arbiter sa SmartFusion2 Device
3.2
Mga Input at Output
Inililista ng sumusunod na talahanayan ang mga input at output port ng DDR AXI Arbiter.
Talahanayan 1 · Mga Input at Output Port ng DDR AXI Arbiter
Pangalan ng Signal RESET_N_I
Input ng Direksyon
Lapad
SYS_CLOCK_I BUFF_READ_CLOCK_I
Input Input
rd_req_1_i rd_ack_o
Output ng Input
rd_done_1_o start_read_addr_1_i
Input ng Output
bytes_to_read_1_i
Input
video_rdata_1_o
Output
[(g_AXI_AWIDTH-1):0] [(g_RD_CHANNEL1_AXI_BUFF_ AWIDTH + 3) – 1 : 0] [(g_RD_CHANNEL1_VIDEO_DATA_WIDTH1):0]Paglalarawan
Aktibong mababang asynchronous na pag-reset ng signal sa disenyo
Oras ng system
Isulat ang internal buffer read clock ng channel, dapat na doble ang dalas ng SYS_CLOCK_I
Basahin ang kahilingan mula sa Master 1
Pagkilala ng arbiter na basahin ang kahilingan mula sa Master 1
Basahin ang pagkumpleto sa Master 1
DDR address kung saan kailangang simulan ang pagbabasa para sa read channel 1
Mga byte na babasahin mula sa nabasang channel 1
Output ng data ng video mula sa nabasang channel 1
UG0644 User Guide Revision 5.0
5
DDR AXI Arbiter
Signal Name rdata_valid_1_o rd_req_2_i rd_ack_2_o
rd_done_2_o start_read_addr_2_i
bytes_to_read_2_i
video_rdata_2_o
rdata_valid_2_o rd_req_3_i rd_ack_3_o
rd_done_3_o start_read_addr_3_i
bytes_to_read_3_i
video_rdata_3_o
rdata_valid_3_o rd_req_4_i rd_ack_4_o
rd_done_4_o start_read_addr_4_i
bytes_to_read_4_i
video_rdata_4_o
rdata_valid_4_o wr_req_1_i wr_ack_1_o
wr_done_1_o start_write_addr_1_i
bytes_to_write_1_i
video_wdata_1_i
wdata_valid_1_i wr_req_2_i
Output ng Direksyon Input Output
Input ng Output
Input
Output
Output Input Output
Input ng Output
Input
Output
Output Input Output
Input ng Output
Input
Output
Output Input Output
Input ng Output
Input
Input
Input Input
Lapad
[(g_AXI_AWIDTH-1):0] [(g_RD_CHANNEL2_AXI_BUFF_AWIDTH + 3) – 1 : 0] [(g_RD_CHANNEL2_VIDEO_DATA_WIDTH1):0] [(g_AXI_AWIDTH-1):0] [(g_RD_AWIDTH-3):3] [(g_RD_AWIDTH_CHANNEL1) g_RD_CHANNEL0_VIDEO_DATA_WIDTH3 ):1] [(g_AXI_AWIDTH-0):1] [(g_RD_CHANNEL0_AXI_BUFF_AWIDTH + 4) – 3 : 1] [(g_RD_CHANNEL0_VIDEO_DATA_WIDTH4):1] [(g_AXI_AWIDTH-0):1_AX] [(g_BUFF_WRIDTH-0):1] 3 ] [(g_WR_CHANNEL1_VIDEO_DATA_WIDTH0):1]
Paglalarawan Basahin ang data na wasto mula sa nabasang channel 1 Basahin ang kahilingan mula sa Master 2 Arbiter na pagkilala upang basahin ang kahilingan mula sa Master 2 Pagkumpleto ng pagbasa hanggang sa Master 2 DDR address kung saan kailangang simulan ang pagbabasa para basahin ang channel 2 Bytes upang mabasa mula sa nabasang channel 2 Data ng video output mula sa read channel 2 Basahin ang data na wasto mula sa read channel 2 Read request mula sa Master 3 Arbiter acknowledgement to read request mula sa Master 3 Read completion sa Master 3 DDR address kung saan kailangang simulan ang read para basahin ang channel 3 Bytes para mabasa mula sa read channel 3 Output ng data ng video mula sa nabasang channel 3 Basahin ang data na wasto mula sa nabasang channel 3 Basahin ang kahilingan mula sa Master 4 Arbiter na pagkilala upang basahin ang kahilingan mula sa Master 4 Pagkumpleto ng pagbasa hanggang sa Master 4 DDR address kung saan kailangang simulan ang pagbabasa para basahin ang channel na 4 Bytes read out mula sa read channel 4 Output ng data ng video mula sa read channel 4 Read data valid mula sa read channel 4 Sumulat ng kahilingan mula sa Master 1 Arbiter acknowledgement to write request from Master 1 Isulat ang pagkumpleto sa Master 1 DDR address kung saan kailangang magsulat mula sa write channel 1 Mga byte na isusulat mula sa write channel 1 Data ng video Input upang isulat ang channel 1
Sumulat ng data na wasto upang magsulat ng channel 1 Sumulat ng kahilingan mula sa Master 1
UG0644 User Guide Revision 5.0
6
DDR AXI Arbiter
Pangalan ng Signal wr_ack_2_o
Output ng Direksyon
wr_done_2_o start_write_addr_2_i
Input ng Output
bytes_to_write_2_i
Input
video_wdata_2_i
Input
wdata_valid_2_i AXI I/F signal Basahin ang Address Channel m_arid_o
Output ng Input
m_araddr_o
Output
m_arlen_o
Output
m_arsize_o m_arburst_o
Output Output
m_arlock_o
Output
m_arcache_o
Output
m_arprot_o
Output
Lapad
[(g_AXI_AWIDTH-1):0] [(g_WR_CHANNEL2_AXI_BUFF_AWIDTH + 3) – 1 : 0] [(g_WR_CHANNEL2_VIDEO_DATA_WIDTH1):0]
Paglalarawan Pagkilala ng Arbiter upang magsulat ng kahilingan mula sa Master 2 Pagkumpleto ng pagsulat sa Master 2 DDR address kung saan kailangang mangyari ang pagsusulat mula sa write channel 2 Bytes na isusulat mula sa write channel 2 Data ng video Input para sa pagsulat ng channel 2
Sumulat ng data na wasto upang magsulat ng channel 2
Basahin ang address ID. Pagkakakilanlan tag para sa read address group ng mga signal.
Basahin ang address. Nagbibigay ng paunang address ng isang read burst na transaksyon. Tanging ang panimulang address ng pagsabog ang ibinigay.
Haba ng pagsabog. Nagbibigay ng eksaktong bilang ng mga paglilipat sa isang pagsabog. Tinutukoy ng impormasyong ito ang bilang ng mga paglilipat ng data na nauugnay sa address
Laki ng pagsabog. Laki ng bawat paglipat sa pagsabog
Uri ng pagsabog. Kasama ang impormasyon ng laki, mga detalye kung paano kinakalkula ang address para sa bawat paglipat sa loob ng pagsabog.
Naayos sa 2'b01 à Incremental address burst
Uri ng lock. Nagbibigay ng karagdagang impormasyon tungkol sa mga atomic na katangian ng paglilipat.
Naayos sa 2'b00 à Normal Access
Uri ng cache. Nagbibigay ng karagdagang impormasyon tungkol sa mga naka-cache na katangian ng paglilipat.
Naayos sa 4'b0000 à Non-cacheable at non-bufferable
Uri ng proteksyon. Nagbibigay ng impormasyon ng yunit ng proteksyon para sa transaksyon.
Naayos sa 3'b000 à Normal, secure na pag-access ng data
UG0644 User Guide Revision 5.0
7
DDR AXI Arbiter
Pangalan ng Signal m_arvalid_o
Output ng Direksyon
Lapad
m_arready_i
Input
Basahin ang Data Channel
m_rid_i
Input
[3:0]m_rdata_i m_rresp_i
m_rlast_i m_rvalid_i
Input Input
[(g_AXI_DWIDTH-1):0] [1:0]Input Input
m_ready_o
Output
Sumulat ng Address Channel
m_wid_o
Output
m_awaddr_o
Output
[3:0] [(g_AXI_AWIDTH-1):0]UG0644 User Guide Revision 5.0
Deskripsyon Basahin ang address na wasto.
Kapag HIGH, valid ang read address at control information at mananatiling mataas hanggang sa mataas ang signal ng address, m_arready.
`1′ = Wasto ang impormasyon ng address at kontrol
`0′ = Hindi wasto ang impormasyon ng address at kontrol. Read address ready na. Ang alipin ay handang tumanggap ng isang address at nauugnay na mga signal ng kontrol:
1 = alipin handa
0 = alipin hindi handa.
Basahin ang ID tag. ID tag ng read data group ng mga signal. Ang halaga ng m_rid ay nabuo ng Alipin at dapat tumugma sa halaga ng m_arid ng binasang transaksyon kung saan ito tumutugon. Basahin ang data. Basahin ang tugon.
Ang katayuan ng read transfer. Ang mga pinapayagang tugon ay OKAY, EXOKAY, SLVERR, at DECERR. Huling basahin.
Huling paglipat sa isang read burst. Basahin ang wasto. Available ang kinakailangang read data at maaaring makumpleto ang read transfer:
1 = basahin ang data na magagamit
0 = hindi available ang read data. Read ready. Maaaring tanggapin ng Master ang nabasang data at impormasyon sa pagtugon:
1= master handa na
0 = hindi pa handa ang master.
Sumulat ng address ID. Pagkakakilanlan tag para sa write address group ng mga signal. Sumulat ng address. Nagbibigay ng address ng unang paglilipat sa isang write burst na transaksyon. Ang mga nauugnay na signal ng kontrol ay ginagamit upang matukoy ang mga address ng mga natitirang paglilipat sa pagsabog.
8
DDR AXI Arbiter
Pangalan ng Signal m_awlen_o
Output ng Direksyon
Lapad [3:0]
m_awsize_o
Output
[2:0]m_awburst_o
Output
[1:0]m_awlock_o
Output
[1:0]m_awcache_o
Output
[3:0]m_awprot_o
Output
[2:0]m_awvalid_o
Output
Paglalarawan
Haba ng pagsabog. Nagbibigay ng eksaktong bilang ng mga paglilipat sa isang pagsabog. Tinutukoy ng impormasyong ito ang bilang ng mga paglilipat ng data na nauugnay sa address.
Laki ng pagsabog. Laki ng bawat paglipat sa pagsabog. Ang mga byte lane strobe ay eksaktong nagpapahiwatig kung aling mga byte lane ang ia-update.
Naayos sa 3'b011 à 8 byte bawat paglipat ng data o 64-bit na paglipat
Uri ng pagsabog. Kasama ang impormasyon ng laki, mga detalye kung paano kinakalkula ang address para sa bawat paglipat sa loob ng pagsabog.
Naayos sa 2'b01 à Incremental address burst
Uri ng lock. Nagbibigay ng karagdagang impormasyon tungkol sa mga atomic na katangian ng paglilipat.
Naayos sa 2'b00 à Normal Access
Uri ng cache. Isinasaad ang bufferable, cacheable, write-through, write-back, at allocate na attribute ng transaksyon.
Naayos sa 4'b0000 à Non-cacheable at non-bufferable
Uri ng proteksyon. Isinasaad ang normal, pribilehiyo, o secure na antas ng proteksyon ng transaksyon at kung ang transaksyon ay isang pag-access sa data o isang pag-access sa pagtuturo.
Naayos sa 3'b000 à Normal, secure na pag-access ng data
Isulat ang address na wasto. Ipinapahiwatig na wastong write address at kontrol
magagamit ang impormasyon:
1 = address at impormasyon ng kontrol na magagamit
0 = address at impormasyon ng kontrol ay hindi magagamit. Ang impormasyon ng address at kontrol ay mananatiling stable hanggang sa tumaas ang signal ng address, m_awready.
UG0644 User Guide Revision 5.0
9
DDR AXI Arbiter
Pangalan ng Signal m_awready_i
Input ng Direksyon
Lapad
Sumulat ng Data Channel
m_wid_o
Output
[3:0]m_wdata_o m_wstrb_o
Output Output
[(g_AXI_DWIDTH-1):0]AXI_DWDITH parameter[7:0]
m_wlast_o m_wvalid_o
Output Output
m_wready_i
Input
Sumulat ng Mga Signal ng Channel ng Tugon
m_bid_i
Input
[3:0]m_bresp_i m_bvalid_i
Input
[1:0]Input
m_bready_o
Output
Paglalarawan Isulat ang address handa na. Isinasaad na ang alipin ay handa nang tumanggap ng isang address at nauugnay na mga signal ng kontrol:
1 = alipin handa
0 = alipin hindi handa.
Sumulat ng ID tag. ID tag ng write data transfer. Ang halaga ng m_wid ay dapat tumugma sa halaga ng m_awid ng transaksyon sa pagsulat. Sumulat ng data
Sumulat ng mga strobe. Ang signal na ito ay nagpapahiwatig kung aling mga byte lane ang i-a-update sa memorya. Mayroong isang write strobe para sa bawat walong bits ng write data bus na Write last. Huling paglipat sa isang write burst. Isulat ang wasto. Available ang wastong data ng pagsulat at mga strobe:
1 = magsulat ng data at magagamit na mga strobe
0 = isulat ang data at hindi available ang mga strobe. Isulat nang handa. Maaaring tanggapin ng alipin ang write data: 1 = alipin handa
0 = alipin hindi handa.
ID ng tugon. Ang pagkakakilanlan tag ng isulat na tugon. Dapat tumugma ang halaga ng m_bid sa halaga ng m_awid ng transaksyon sa pagsulat kung saan tumutugon ang alipin. Sumulat ng tugon. Status ng write transaction. Ang mga pinapayagang tugon ay OKAY, EXOKAY, SLVERR, at DECERR. Isulat ang sagot na wasto. Available ang wastong tugon sa pagsulat:
1 = isulat ang sagot na magagamit
0 = hindi magagamit ang pagsulat ng tugon. Handa na ang tugon. Maaaring tanggapin ng master ang impormasyon ng tugon.
1 = handa na ang master
0 = hindi pa handa ang master.
Ang sumusunod na figure ay nagpapakita ng panloob na block diagram ng DDR AXI arbiter.
UG0644 User Guide Revision 5.0
10
DDR AXI Arbiter
Ang sumusunod na figure ay nagpapakita ng panloob na block diagram ng DDR AXI arbiter. Figure 4 · Panloob na Block Diagram ng DDR AXI Arbiter
Nati-trigger ang bawat read channel kapag nakakuha ito ng mataas na input signal sa read_req_(x)_i input. Pagkatapos ito
UG0644 User Guide Revision 5.0
11
DDR AXI Arbiter
Nati-trigger ang bawat read channel kapag nakakuha ito ng mataas na input signal sa read_req_(x)_i input. Pagkatapos ay samples ang panimulang AXI address at ang mga byte upang basahin ang mga input na input mula sa panlabas na master. Kinikilala ng channel ang external na master sa pamamagitan ng pag-toggle sa read_ack_(x)_o. Pinoproseso ng channel ang mga input at bumubuo ng mga kinakailangang transaksyong AXI para mabasa ang data mula sa DDR-SDRAM. Ang data na nabasa sa 64-bit na AXI na format ay naka-imbak sa panloob na buffer. Pagkatapos basahin at maimbak ang kinakailangang data sa panloob na buffer, i-enable ang un-packer module. Binubuksan ng un-packer module ang bawat 64-bit na salita sa output data bit haba na kinakailangan para sa partikular na channel para sa exampKung ang channel ay naka-configure bilang 32-bit na lapad ng output ng data, ang bawat 64-bit na salita ay ipinapadala bilang dalawang 32-bit na output na mga salita ng data. Para sa channel 1 na isang 24-bit na channel, binubuksan ng un-packer ang bawat 64-bit na salita sa 24-bit na output data. Dahil ang 64 ay hindi isang multiple ng 24, ang un-packer para sa read channel 1 ay pinagsasama ang isang pangkat ng tatlong 64-bit na salita upang makabuo ng walong 24-bit na data na salita. Naglalagay ito ng hadlang sa read channel 1 na ang mga byte ng data na hiniling ng external na master ay dapat na mahahati sa 8. Ang mga channel 2, 3, at 4 ay maaaring i-configure bilang 8-bit, 24bit, at 32-bit na lapad ng data, na tinutukoy ng g_RD_CHANNEL(X) _VIDEO_DATA_WIDTH parameter ng pangkalahatang configuration. Kung naka-configure ang mga ito bilang 24-bit, ang nabanggit na hadlang sa itaas ay malalapat din sa bawat isa sa kanila. Ngunit kung naka-configure ang mga ito bilang 8-bit o 32-bit, walang hadlang dahil ang 64 ay multiple ng 32 at 8. Sa mga kasong ito, ang bawat 64-bit na salita ay na-unpack sa alinman sa dalawang 32-bit na data na salita o walong 8 -bit na mga salita ng data.
Ang Read Channel 1 ay nag-unpack ng 64-bit na data na mga salita na nabasa mula sa DDR-SDRAM hanggang sa 24-bit na output data na mga salita sa mga batch ng 48 64-bit na salita, iyon ay sa tuwing available ang 48 64-bit na salita sa internal buffer ng read channel 1, ang un-packer ay magsisimulang i-unpack ang mga ito upang magbigay ng 24-bit na data ng output. Kung ang hiniling na mga byte ng data na babasahin ay mas mababa sa 48 64-bit na salita, ang un-packer ay pinagana lamang pagkatapos basahin ang kumpletong data mula sa DDR-SDRAM. Sa natitirang tatlong read channel, ang un-packer ay magsisimulang magpadala ng read data lamang pagkatapos na basahin ang kumpletong hiniling na bilang ng mga byte mula sa DDR-SDRAM.
Kapag ang isang read channel ay na-configure para sa 24-bit na lapad ng output, ang panimulang read address ay dapat na nakahanay sa 24-bytes na hangganan. Ito ay kinakailangan upang matugunan ang hadlang na ang un-packer ay nag-unpack ng isang pangkat ng tatlong 64-bit na salita upang makagawa ng walong 24-bit na output na salita.
Ang lahat ng mga read channel ay bumubuo ng read done na output sa external master pagkatapos na maipadala ang mga hiniling na byte sa external master.
Sa kaso ng pagsusulat ng mga channel, kailangang ipasok ng external master ang kinakailangang data sa partikular na channel. Kinukuha ng write channel ang input data at ini-pack ang mga ito sa 64-bit na salita at iniimbak ang mga ito sa panloob na storage. Matapos maimbak ang kinakailangang data, kailangang ibigay ng external master ang kahilingan sa pagsulat kasama ang panimulang address at mga byte na isusulat. Sa sampSa mga input na ito, kinikilala ng write channel ang external master. Pagkatapos nito, bubuo ang channel ng AXI write transactions para isulat ang nakaimbak na data sa DDR-SDRAM. Ang lahat ng write channel ay bumubuo ng write done output sa external master kapag ang hiniling na byte ay naisulat sa DDR-SDRAM. Pagkatapos maibigay ang isang kahilingan sa pagsulat sa anumang channel ng pagsusulat, hindi dapat isulat ang bagong data sa channel ng pagsusulat, hanggang sa ang kasalukuyang pagkumpleto ng transaksyon ay ipahiwatig ng paggigiit ng wr_done_(x)_o
Maaaring i-configure ang mga channel 1 at 2 sa pagsulat bilang 8-bit, 24-bit, at 32-bit na lapad ng data, na tinutukoy ng g_WR_CHANNEL(X)_VIDEO_DATA_WIDTH global configuration parameter. Kung naka-configure ang mga ito bilang 24bit, ang mga byte na isusulat ay dapat na marami sa walong bilang ang panloob na packer ay nag-pack ng walong 24-bit na data na salita upang makabuo ng tatlong 64-bit na data na salita. Ngunit kung naka-configure ang mga ito bilang 8-bit o 32-bit, walang ganoong hadlang.
Para sa isang 32-bit na channel, hindi bababa sa dalawang 32-bit na salita ang kailangang basahin. Para sa isang 8-bit na channel, ang pinakamababang 8-bit na salita ay kailangang basahin, dahil walang padding na ibinigay ng arbiter module. Sa lahat ng mga read at write na channel, ang lalim ng mga panloob na buffer ay marami sa pahalang na lapad ng display. Ang panloob na lalim ng buffer ay kinakalkula tulad ng sumusunod:
g_RD_CHANNEL(X)_HORIZONTAL_RESOLUTION* g_RD_CHANNEL(X)_VIDEO_DATA_WIDTH * g_RD_CHANNEL(X)_BUFFER_LINE_STORAGE) / g_AXI_DWIDTH
Kung saan, X = Channel number
Ang panloob na buffer width ay tinutukoy ng AXI data bus width iyon ay, configuration parameter
UG0644 User Guide Revision 5.0
12
DDR AXI Arbiter
Ang panloob na lapad ng buffer ay tinutukoy ng AXI data bus width iyon ay, configuration parameter g_AXI_DWIDTH.
Ang mga transaksyon sa pagbasa at pagsulat ng AXI ay isinasagawa ayon sa mga detalye ng ARM AMBA AXI. Ang laki ng transaksyon para sa bawat paglipat ng data ay nakatakda sa 64-bit. Ang bloke ay bumubuo ng mga transaksyong AXI ng nakapirming haba ng pagsabog na 16 na beats. Sinusuri din ng block kung ang anumang solong pagsabog ay tumatawid sa hangganan ng AXI address na 4 KByte. Kung ang isang pagsabog ay lumampas sa 4 KByte na hangganan, ang pagsabog ay nahahati sa 2 pagsabog sa 4 na KByte na hangganan.
3.3
Mga Parameter ng Configuration
Inililista ng sumusunod na talahanayan ang mga parameter ng pagsasaayos na ginamit sa pagpapatupad ng hardware ng DDR AXI Arbiter. Ito ay mga generic na parameter at maaaring iba-iba batay sa mga kinakailangan sa aplikasyon.
Talahanayan 2 · Mga Parameter ng Configuration
Pangalan g_AXI_AWIDTH g_AXI_DWIDTH g_RD_CHANNEL1_AXI_BUFF_AWIDTH
g_RD_CHANNEL2_AXI_BUFF_AWIDTH
g_RD_CHANNEL3_AXI_BUFF_AWIDTH
g_RD_CHANNEL4_AXI_BUFF_AWIDTH
g_WR_CHANNEL1_AXI_BUFF_AWIDTH
g_WR_CHANNEL2_AXI_BUFF_AWIDTH
g_RD_CHANNEL1_HORIZONTAL_RESOLUTION g_RD_CHANNEL2_HORIZONTAL_RESOLUTION g_RD_CHANNEL3_HORIZONTAL_RESOLUTION g_RD_CHANNEL4_HORIZONTAL_RESOLUTION g_WR_CHANNEL1_HORIZONTAL_RESOLUTION g_RD_CHANNEL_RESOLUTION g_WR_CHANNEL2_HORIZONTAL_RESOLUTION g_RD_CHANNEL1 2_VIDEO_DATA_WIDTH g_RD_CHANNEL3_VIDEO_DATA_WIDTH g_RD_CHANNEL4_VIDEO_DATA_WIDTH g_RD_CHANNEL1_VIDEO_DATA_WIDTH g_WR_CHANNEL2_VIDEO_DATA_WIDTH_WIDEO_DATA_WIDTH g_RD_CHANNEL1_VIDEO_DATA_WIDTH g_WR_CHANNELXNUMX_VIDEO_DATA_WIDHANTH_WIDC FFER_LINE_STORAGE
Paglalarawan
AXI address bus lapad
Lapad ng AXI data bus
Lapad ng bus ng address para sa nabasang Channel 1 na internal buffer, na nag-iimbak ng AXI read data.
Lapad ng bus ng address para sa nabasang Channel 2 na internal buffer, na nag-iimbak ng AXI read data.
Lapad ng bus ng address para sa nabasang Channel 3 na internal buffer, na nag-iimbak ng AXI read data.
Lapad ng bus ng address para sa nabasang Channel 4 na internal buffer, na nag-iimbak ng AXI read data.
Lapad ng bus ng address para sa internal na buffer ng write Channel 1, na nag-iimbak ng AXI write data.
Lapad ng bus ng address para sa internal na buffer ng write Channel 2, na nag-iimbak ng AXI write data.
Pagpapakita ng video na pahalang na resolution para basahin ang Channel 1
Pagpapakita ng video na pahalang na resolution para basahin ang Channel 2
Pagpapakita ng video na pahalang na resolution para basahin ang Channel 3
Pagpapakita ng video na pahalang na resolution para basahin ang Channel 4
Pagpapakita ng video na pahalang na resolution para sa pagsulat ng Channel 1
Pagpapakita ng video na pahalang na resolution para sa pagsulat ng Channel 2
Basahin ang lapad ng bit ng output ng Channel 1
Basahin ang lapad ng bit ng output ng Channel 2
Basahin ang lapad ng bit ng output ng Channel 3
Basahin ang lapad ng bit ng output ng Channel 4
Isulat ang Channel 1 na video Input bit width.
Isulat ang Channel 2 na video Input bit width.
Lalim ng panloob na buffer para sa pagbabasa ng Channel 1 sa mga tuntunin ng bilang ng mga pahalang na linya ng display. Ang lalim ng buffer ay g_RD_CHANNEL1_HORIZONTAL_RESOLUTION * g_RD_CHANNEL1_VIDEO_DATA_WIDTH * g_RD_CHANNEL1_BUFFER_LINE_STORAGE) / g_AXI_DWIDTH
UG0644 User Guide Revision 5.0
13
DDR AXI Arbiter
3.4
Pangalan g_RD_CHANNEL2_BUFFER_LINE_STORAGE g_RD_CHANNEL3_BUFFER_LINE_STORAGE g_RD_CHANNEL4_BUFFER_LINE_STORAGE g_WR_CHANNEL1_BUFFER_LINE_STORAGE g_WR_CHANNEL2_BUFFER_LINE_STORAGE
Paglalarawan
Lalim ng panloob na buffer para sa pagbabasa ng Channel 2 sa mga tuntunin ng bilang ng mga pahalang na linya ng display. Ang lalim ng buffer ay g_RD_CHANNEL2_HORIZONTAL_RESOLUTION * g_RD_CHANNEL2_VIDEO_DATA_WIDTH * g_RD_CHANNEL2_BUFFER_LINE_STORAGE) / g_AXI_DWIDTH
Lalim ng panloob na buffer para sa pagbabasa ng Channel 3 sa mga tuntunin ng bilang ng mga pahalang na linya ng display. Ang lalim ng buffer ay g_RD_CHANNEL3_HORIZONTAL_RESOLUTION * g_RD_CHANNEL3_VIDEO_DATA_WIDTH * g_RD_CHANNEL3_BUFFER_LINE_STORAGE) / g_AXI_DWIDTH
Lalim ng panloob na buffer para sa pagbabasa ng Channel 4 sa mga tuntunin ng bilang ng mga pahalang na linya ng display. Ang lalim ng buffer ay g_RD_CHANNEL4_HORIZONTAL_RESOLUTION * g_RD_CHANNEL4_VIDEO_DATA_WIDTH * g_RD_CHANNEL4_BUFFER_LINE_STORAGE) / g_AXI_DWIDTH
Lalim ng panloob na buffer para sa pagsulat ng Channel 1 sa mga tuntunin ng bilang ng mga display na pahalang na linya. Ang lalim ng buffer ay g_WR_CHANNEL1_HORIZONTAL_RESOLUTION * g_WR_CHANNEL1_VIDEO_DATA_WIDTH * g_WR_CHANNEL1_BUFFER_LINE_STORAGE) / g_AXI_DWIDTH
Lalim ng panloob na buffer para sa pagsulat ng Channel 2 sa mga tuntunin ng bilang ng mga display na pahalang na linya. Ang lalim ng buffer ay g_WR_CHANNEL2_HORIZONTAL_RESOLUTION * g_WR_CHANNEL2_VIDEO_DATA_WIDTH * g_WR_CHANNEL2_BUFFER_LINE_STORAGE) / g_AXI_DWIDTH
Mga Timing Diagram
Ang sumusunod na figure ay nagpapakita ng koneksyon ng read at write na mga input ng kahilingan, panimulang memorya ng address, mga byte upang basahin o isulat ang mga input mula sa external master, read o write acknowledgement, at read o write completion output na ibinigay ng arbiter.
Figure 5 · Timing Diagram para sa mga Signal na Ginamit sa Pagsulat/Pagbasa sa pamamagitan ng AXI Interface
UG0644 User Guide Revision 5.0
14
DDR AXI Arbiter
Ang sumusunod na figure ay nagpapakita ng koneksyon sa pagitan ng write data input mula sa external master kasama ng data input na valid para sa parehong write channel. Figure 6 · Timing Diagram para sa Pagsusulat sa Panloob na Imbakan
Ipinapakita ng sumusunod na figure ang koneksyon sa pagitan ng read data output patungo sa external master kasama ang data output na valid para sa lahat ng read channels 2, 3, at 4. Figure 7 · Timing Diagram para sa Data na Natanggap sa pamamagitan ng DDR AXI Arbiter para sa Read Channels 2, 3 , at 4
Ipinapakita ng sumusunod na figure ang koneksyon sa pagitan ng nabasang output ng data para sa nabasang Channel 1 kapag ang g_RD_CHANNEL 1_HORIZONTAL_RESOLUTION ay mas malaki sa 128 (sa kasong ito = 256). Figure 8 · Timing Diagram para sa Data na Natanggap sa pamamagitan ng DDR AXI Arbiter Read Channel 1 (higit sa 128 bytes)
UG0644 User Guide Revision 5.0
15
DDR AXI Arbiter
Ipinapakita ng sumusunod na figure ang koneksyon sa pagitan ng nabasang output ng data para sa nabasang Channel 1 kapag ang g_RD_CHANNEL 1_HORIZONTAL_RESOLUTION ay mas mababa sa o katumbas ng 128 (sa kasong ito = 64). Figure 9 · Timing Diagram para sa Data na Natanggap sa pamamagitan ng DDR AXI Arbiter Read Channel 1 (mas mababa sa o katumbas ng 128 bytes)
3.5
Testbench
Ang isang testbench ay ibinigay upang suriin ang paggana ng DDR Arbiter core. Inililista ng sumusunod na talahanayan ang mga parameter na maaaring i-configure ayon sa application.
Talahanayan 3 · Mga Parameter ng Configuration ng Testbench
Pangalan IMAGE_1_FILE_NAME IMAGE_2_FILE_NAME g_DATA_WIDTH WIDTH HEIGHT
Input ng Paglalarawan file pangalan para sa imahe na isusulat sa pamamagitan ng pagsulat ng channel 1 Input file pangalan para sa imahe na isusulat sa pamamagitan ng write channel 2 Video data width ng read o write channel Pahalang na resolution ng imahe na isusulat at babasahin ng write at read channels Vertical na resolution ng imahe na isusulat at babasahin ng write at read mga channel
UG0644 User Guide Revision 5.0
16
DDR AXI Arbiter
Ang mga sumusunod na hakbang ay naglalarawan kung paano ginagamit ang testbench upang gayahin ang core sa pamamagitan ng Libero SoC. 1. Sa window ng Design Flow, i-right-click ang Lumikha ng SmartDesign at i-click ang Run upang lumikha ng SmartDesign.
Larawan 10 · Lumikha ng SmartDesign
2. Ilagay ang pangalan ng bagong disenyo bilang video_dma sa dialog box na Lumikha ng Bagong SmartDesign at i-click ang OK. Ang isang SmartDesign ay nilikha, at ang isang canvas ay ipinapakita sa kanan ng Design Flow pane.
Figure 11 · Pagpapangalan sa SmartDesign
3. Sa Catalog window, palawakin ang Solutions-Video at i-drag-and-drop ang SF2 DDR Memory Arbiter sa SmartDesign canvas.
UG0644 User Guide Revision 5.0
17
DDR AXI Arbiter
Figure 12 · DDR Memory Arbiter sa Libero SoC Catalog
Ang DDR Memory Arbiter Core ay ipinapakita, tulad ng ipinapakita sa sumusunod na figure. I-double click ang core upang i-configure ang arbiter kung kinakailangan.
UG0644 User Guide Revision 5.0
18
DDR AXI Arbiter
Figure 13 · DDR Memory Arbiter Core sa SmartDesign Canvas
4. Piliin ang lahat ng mga port ng core at i-right-click at pagkatapos ay i-click ang I-promote sa Nangungunang Antas, tulad ng ipinapakita sa
UG0644 User Guide Revision 5.0
19
DDR AXI Arbiter
4. Piliin ang lahat ng port ng core at i-right-click at pagkatapos ay i-click ang I-promote sa Nangungunang Antas, tulad ng ipinapakita sa sumusunod na figure. Figure 14 · I-promote sa Top Level Option
Tiyaking i-promote ang lahat ng port sa pinakamataas na antas bago i-click ang icon na bumuo ng bahagi sa toolbar.
5. I-click ang icon na Bumuo ng Component sa SmartDesign toolbar, tulad ng ipinapakita sa sumusunod na figure.
UG0644 User Guide Revision 5.0
20
DDR AXI Arbiter
5. I-click ang icon na Bumuo ng Component sa SmartDesign toolbar, tulad ng ipinapakita sa sumusunod na figure. Ang bahagi ng SmartDesign ay nabuo. Figure 15 · Bumuo ng Component
6. Mag-navigate sa View > Windows > Files. Ang Files dialog box ay ipinapakita. 7. I-right-click ang simulation folder at i-click ang Import Files, tulad ng ipinapakita sa sumusunod na figure.
Larawan 16 · Import File
8. Upang i-import ang pampasigla ng imahe file, mag-navigate at mag-import ng isa sa mga sumusunod files at i-click ang Buksan.
UG0644 User Guide Revision 5.0
21
DDR AXI Arbiter
8. Upang i-import ang pampasigla ng imahe file, mag-navigate at mag-import ng isa sa mga sumusunod files at i-click ang Buksan. a. Isang sampang RGB_in.txt file ay ibinigay kasama ng testbench sa sumusunod na landas:
..Project_namecomponentMicrosemiSolutionCore ddr_memory_arbiter 2.0.0Stimulus
Upang i-import ang sample test bench input na imahe, mag-browse sa sample testbench input na imahe file, at i-click ang Buksan, tulad ng ipinapakita sa sumusunod na figure. Larawan 17 · Input na Larawan File Pagpili
b. Upang mag-import ng ibang larawan, mag-browse sa folder na naglalaman ng gustong larawan file, at i-click ang Buksan. Ang na-import na pampasigla ng imahe file ay nakalista sa ilalim ng direktoryo ng simulation, tulad ng ipinapakita sa sumusunod na figure. Larawan 18 · Input na Larawan File sa Direktoryo ng Simulation
9. I-import ang ddr BFM files. Dalawa files na katumbas ng
UG0644 User Guide Revision 5.0
at
22
DDR AXI Arbiter
9. I-import ang ddr BFM files. Dalawa files na katumbas ng DDR BFM — ddr3.v at ddr3_parameters.v ay ibinigay kasama ng testbench sa sumusunod na landas: ..Project_namecomponentMicrosemiSolutionCoreddr_memory_arbiter 2.0.0Stimulus. I-right-click ang stimulus folder at piliin ang Import Files opsyon, at pagkatapos ay piliin ang nabanggit na BFM files. Ang imported na DDR BFM files ay nakalista sa ilalim ng stimulus, tulad ng ipinapakita sa sumusunod na figure. Larawan 19 · Na-import File
10. Mag-navigate sa File > Mag-import > Iba pa. Ang Import Files dialog box ay ipinapakita. Larawan 20 · Mag-import ng Testbench File
11. I-import ang bahagi ng testbench at MSS files (top_tb.cxf, mss_top_sb_MSS.cxf, mss_top.cxf, at mss
..Project_namecomponentMicrosemiSolutionCoreddr_memory_arbiter 2.0.0Stimulus
UG0644 User Guide Revision 5.0
23
11.
DDR AXI Arbiter
Figure 21 · Mag-import ng Testbench at MSS Component Files
Figure 22 · top_tb Nalikha
UG0644 User Guide Revision 5.0
24
DDR AXI Arbiter
3.5.1
Ginagaya ang MSS SmartDesign
Ang mga sumusunod na tagubilin ay naglalarawan kung paano gayahin ang MSS SmartDesign:
1. I-click ang tab na Design Hierarchy at piliin ang Component mula sa drop-down na listahan ng palabas. Ang na-import na MSS SmartDesign ay ipinapakita.
2. I-right-click ang mss_top sa ilalim ng Trabaho at i-click ang Open Component, tulad ng ipinapakita sa sumusunod na figure. Ang mss_top_sb_0 na bahagi ay ipinapakita.
Figure 23 · Buksan ang Component
3. I-right-click ang bahagi ng mss_top_sb_0 at i-click ang I-configure, tulad ng ipinapakita sa sumusunod na figure.
UG0644 User Guide Revision 5.0
25
DDR AXI Arbiter
3. I-right-click ang bahagi ng mss_top_sb_0 at i-click ang I-configure, tulad ng ipinapakita sa sumusunod na figure. Figure 24 · I-configure ang Component
Ang MSS Configuration window ay ipinapakita, tulad ng ipinapakita sa sumusunod na figure. Figure 25 · Window ng Configuration ng MSS
4. I-click ang Susunod sa lahat ng mga tab ng pagsasaayos, tulad ng ipinapakita sa sumusunod na larawan.
UG0644 User Guide Revision 5.0
26
DDR AXI Arbiter
4. I-click ang Susunod sa lahat ng mga tab ng pagsasaayos, tulad ng ipinapakita sa sumusunod na larawan. Figure 26 · Mga Tab ng Configuration
Ang MSS ay na-configure pagkatapos ma-configure ang tab na Mga Interrupts. Ang sumusunod na figure ay nagpapakita ng pag-unlad ng MSS Configuration. Figure 27 · Window ng MSS Configuration Pagkatapos ng Configuration
5. I-click ang Susunod pagkatapos makumpleto ang pagsasaayos. Ang window ng Memory Map ay ipinapakita, tulad ng ipinapakita sa sumusunod na figure.
Larawan 28 · Memory Map
6. I-click ang Tapos na.
7. I-click ang Bumuo ng Component mula sa SmartDesign toolbar upang buuin ang MSS, tulad ng ipinapakita sa
UG0644 User Guide Revision 5.0
27
DDR AXI Arbiter
7. I-click ang Bumuo ng Component mula sa SmartDesign toolbar upang bumuo ng MSS, tulad ng ipinapakita sa sumusunod na figure. Figure 29 · Bumuo ng Component
8. Sa window ng Design Hierarchy, i-right-click ang mss_top sa ilalim ng Trabaho at i-click ang Itakda Bilang Root, tulad ng ipinapakita sa sumusunod na figure. Figure 30 · Itakda ang MSS bilang Root
9. Sa window ng Daloy ng Disenyo, palawakin ang I-verify ang Pre-synthesized na Disenyo sa ilalim ng Gumawa ng Disenyo, i-right-click
UG0644 User Guide Revision 5.0
28
DDR AXI Arbiter
9. Sa window ng Daloy ng Disenyo, palawakin ang I-verify ang Pre-synthesized na Disenyo sa ilalim ng Gumawa ng Disenyo, i-right-click ang Simulate at i-click ang Open Interactively. Ginagaya nito ang MSS. Figure 31 · Gayahin ang Pre-synthesized na Disenyo
10. I-click ang Hindi kung ang isang alertong mensahe ay ipinapakita upang iugnay ang Testbench stimulus sa MSS. 11. Isara ang window ng Modelsim pagkatapos makumpleto ang simulation.
Figure 32 · Simulation Window
UG0644 User Guide Revision 5.0
29
DDR AXI Arbiter
3.5.2
Pagtulad sa Testbench
Ang mga sumusunod na tagubilin ay naglalarawan kung paano gayahin ang testbench:
1. Piliin ang top_tb SmartDesign Testbench at i-click ang Bumuo ng Component mula sa SmartDesign toolbar upang buuin ang testbench, tulad ng ipinapakita sa sumusunod na figure.
Figure 33 · Pagbuo ng isang Component
2. Sa window ng Stimulus Hierarchy, i-right-click ang top_tb (top_tb.v) testbench file at i-click ang Itakda bilang aktibong pampasigla. Ang stimulus ay isinaaktibo para sa top_tb testbench file.
3. Sa window ng Stimulus Hierarchy, i-right-click ang top_tb (
UG0644 User Guide Revision 5.0
) testbench file at i-click ang Buksan
30
DDR AXI Arbiter
3. Sa window ng Stimulus Hierarchy, i-right-click ang top_tb (top_tb.v) testbench file at i-click ang Open Interactively mula sa Simulate Pre-Synth Design. Ginagaya nito ang core para sa isang frame. Figure 34 · Simulating Pre-Synthesis Design
4. Kung ang simulation ay nagambala dahil sa limitasyon ng runtime sa DO file, gamitin ang run -all command para makumpleto ang simulation. Pagkatapos makumpleto ang simulation, mag-navigate sa View > Files > simulation sa view ang larawang output ng test bench file sa folder ng simulation.
Ang output ng simulation na katumbas ng text ng isang frame ng larawan, ay naka-store sa Read_out_rd_ch(x).txt text file depende sa nabasang channel na ginamit. Maaari itong i-convert sa isang imahe at ihambing sa orihinal na imahe.
3.6
Paggamit ng Mapagkukunan
Ang bloke ng DDR Arbiter ay ipinatupad sa isang M2S150T SmartFusion®2 System-on-Chip (SoC) FPGA sa
FC1152 package) at PolarFire FPGA (MPF300TS_ES – 1FCG1152E package).
Talahanayan 4 · Paggamit ng Resource para sa DDR AXI Arbiter
Resource DFFs 4-input LUTs MACC RAM1Kx18
Paggamit 2992 4493 0 20
(Para sa:
g_RD_CHANNEL(X)_HORIZONTAL_RESOLUTION = 1280
g_RD_CHANNEL(X)_BUFFER_LINE_STORAGE = 1
g_WR_CHANNEL(X)_BUFFER_LINE_STORAGE = 1
g_AXI_DWIDTH = 64
g_RD_CHANNEL(X)_VIDEO_DATA_WIDTH = 24
RAM64x18
g_WR_CHANNEL(X)_VIDEO_DATA_WIDTH = 32) 0
UG0644 User Guide Revision 5.0
31
DDR AXI Arbiter
Microsemi Corporate Headquarters One Enterprise, Aliso Viejo, CA 92656 USA Sa loob ng USA: +1 800-713-4113 Sa labas ng USA: +1 949-380-6100 Fax: +1 949-215-4996 Email: sales.support@microsemi.com www.microsemi.com
© 2018 Microsemi Corporation. Lahat ng karapatan ay nakalaan. Ang Microsemi at ang Microsemi logo ay mga trademark ng Microsemi Corporation. Ang lahat ng iba pang mga trademark at mga marka ng serbisyo ay pag-aari ng kani-kanilang mga may-ari.
Walang garantiya, representasyon, o garantiya ang Microsemi hinggil sa impormasyong nakapaloob dito o sa pagiging angkop ng mga produkto at serbisyo nito para sa anumang partikular na layunin, at hindi rin inaako ng Microsemi ang anumang pananagutan na magmumula sa aplikasyon o paggamit ng anumang produkto o circuit. Ang mga produktong ibinebenta sa ilalim nito at anumang iba pang produkto na ibinebenta ng Microsemi ay napapailalim sa limitadong pagsubok at hindi dapat gamitin kasabay ng mga kagamitan o application na kritikal sa misyon. Ang anumang mga detalye ng pagganap ay pinaniniwalaan na maaasahan ngunit hindi na-verify, at ang Mamimili ay dapat magsagawa at kumpletuhin ang lahat ng pagganap at iba pang pagsubok ng mga produkto, nang mag-isa at kasama, o naka-install sa, anumang mga end-product. Ang mamimili ay hindi dapat umasa sa anumang data at mga detalye ng pagganap o mga parameter na ibinigay ng Microsemi. Responsibilidad ng Mamimili na independyenteng tukuyin ang pagiging angkop ng anumang produkto at subukan at i-verify ang pareho. Ang impormasyong ibinigay ng Microsemi sa ilalim nito ay ibinibigay "kung saan, nasaan" at kasama ang lahat ng mga pagkakamali, at ang buong panganib na nauugnay sa naturang impormasyon ay ganap na nasa Mamimili. Ang Microsemi ay hindi nagbibigay, tahasan o tahasan, sa sinumang partido ng anumang mga karapatan sa patent, lisensya, o anumang iba pang mga karapatan sa IP, kung tungkol sa naturang impormasyon mismo o anumang inilarawan ng naturang impormasyon. Ang impormasyong ibinigay sa dokumentong ito ay pagmamay-ari ng Microsemi, at ang Microsemi ay may karapatang gumawa ng anumang mga pagbabago sa impormasyon sa dokumentong ito o sa anumang mga produkto at serbisyo anumang oras nang walang abiso.
Ang Microsemi Corporation (Nasdaq: MSCC) ay nag-aalok ng komprehensibong portfolio ng semiconductor at mga solusyon sa system para sa aerospace at depensa, komunikasyon, data center at mga industriyal na merkado. Kasama sa mga produkto ang high-performance at radiation-hardened analog mixed-signal integrated circuits, FPGAs, SoCs at ASICs; mga produkto ng pamamahala ng kapangyarihan; timing at synchronization na mga aparato at tumpak na mga solusyon sa oras, na nagtatakda ng pamantayan ng mundo para sa oras; mga aparato sa pagproseso ng boses; Mga solusyon sa RF; hiwalay na mga bahagi; imbakan ng negosyo at mga solusyon sa komunikasyon; mga teknolohiya sa seguridad at nasusukat na anti-tampmga produkto; Mga solusyon sa Ethernet; Mga Power-over-Ethernet IC at midspan; pati na rin ang mga custom na kakayahan sa disenyo at serbisyo. Ang Microsemi ay headquarter sa Aliso Viejo, California, at may humigit-kumulang 4,800 empleyado sa buong mundo. Matuto nang higit pa sa www.microsemi.com.
50200644
UG0644 User Guide Revision 5.0
32
Mga Dokumento / Mga Mapagkukunan
![]() |
Microchip UG0644 DDR AXI Arbiter [pdf] Gabay sa Gumagamit UG0644 DDR AXI Arbiter, UG0644, DDR AXI Arbiter, AXI Arbiter |