GOWIN-લોગો

GOWIN FPGA વિકાસ બોર્ડ RISCV પ્રોગ્રામિંગ

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-પ્રોડક્ટ-ઇમેજ

કૉપિરાઇટ © 2022 ગુઆંગડોંગ ગોવિન સેમિકન્ડક્ટર કોર્પોરેશન. બધા હકો અમારી પાસે રાખેલા છે.
ગુઆંગડોંગ ગોવિન સેમિકન્ડક્ટર કોર્પોરેશનનો ટ્રેડમાર્ક છે અને તે ચીન, યુએસ પેટન્ટ અને ટ્રેડમાર્ક ઓફિસ અને અન્ય દેશોમાં નોંધાયેલ છે. ટ્રેડમાર્ક અથવા સર્વિસ માર્ક તરીકે ઓળખાતા અન્ય તમામ શબ્દો અને લોગો તેમના સંબંધિત ધારકોની મિલકત છે. આ દસ્તાવેજનો કોઈપણ ભાગ ગોવિન્સેમીની પૂર્વ લેખિત સંમતિ વિના કોઈપણ સ્વરૂપમાં અથવા કોઈપણ સૂચિત, ઈલેક્ટ્રોનિક, મિકેનિકલ, ફોટોકોપી, રેકોર્ડિંગ અથવા અન્યથા દ્વારા પુનઃઉત્પાદિત અથવા પ્રસારિત કરી શકાશે નહીં.

અસ્વીકરણ
GOWINSEMI કોઈ જવાબદારી લેતું નથી અને કોઈ વૉરંટી (ક્યાં તો વ્યક્ત અથવા ગર્ભિત) પ્રદાન કરતું નથી અને GOWINSEMI નિયમો અને શરતોમાં દર્શાવેલ સિવાય સામગ્રી અથવા બૌદ્ધિક સંપત્તિના ઉપયોગના પરિણામે તમારા હાર્ડવેર, સૉફ્ટવેર, ડેટા અથવા મિલકતને થયેલા કોઈપણ નુકસાન માટે જવાબદાર નથી. વેચાણ. આ દસ્તાવેજમાંની તમામ માહિતીને પ્રાથમિક ગણવી જોઈએ. GOWINSEMI આ દસ્તાવેજમાં કોઈપણ સમયે પૂર્વ સૂચના વિના ફેરફાર કરી શકે છે. આ દસ્તાવેજો પર આધાર રાખનાર કોઈપણ વ્યક્તિએ વર્તમાન દસ્તાવેજીકરણ અને ત્રુટિસૂચી માટે GOWINSEMI નો સંપર્ક કરવો જોઈએ.

પુનરાવર્તન ઇતિહાસ

તારીખ સંસ્કરણ વર્ણન
04/29/2019 1.0E પ્રારંભિક સંસ્કરણ પ્રકાશિત.
 

11/11/2022

 

1.1E

  • AndeSight RDS v311 સોફ્ટવેર અપડેટ કર્યું.
  • સંદર્ભ ડિઝાઇન અપડેટ કરી.
  • SPI ફ્લેશ દ્વારા એમ્બેડેડ પ્રોજેક્ટ સંકલન પરિણામો ડાઉનલોડ કરવાનું વર્ણન અપડેટ થયું.

પરિચય

AE250 પરિચય

AE250 એ 32-બીટ RISC-V MCU સિસ્ટમ છે; તેની રચના આકૃતિ 1-1 માં બતાવવામાં આવી છે.

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-1

આકૃતિ 1-1 AE250 સ્ટ્રક્ચર ડાયાગ્રામ

ગોવિન એફપીજીએ ડેવલપમેન્ટ બોર્ડના આધારે, RISC-V AE250 MCU ડેવલપમેન્ટ અને ડિબગીંગ સિસ્ટમ આકૃતિ 1-2 માં બતાવવામાં આવી છે.

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-2

આકૃતિ 1-2 વિકાસ અને ડીબગીંગ સિસ્ટમ સ્ટ્રક્ચર ડાયાગ્રામ

વિકાસ બોર્ડ પરની FPGA ચિપને PC માં Gowin પ્રોગ્રામરનો ઉપયોગ કરીને AE250 MCU તરીકે ગોઠવવામાં આવી છે, ડીબગ કેબલ કનેક્ટ થયા પછી, તમે AndeSight RDS v311 સોફ્ટવેર સાથે એમ્બેડેડ પ્રોગ્રામ ડેવલપમેન્ટ અને ડીબગીંગ કરી શકો છો.

તૈયારીઓ

વિકાસ અને ડીબગીંગ માટે Gowin FPGA અને AE250 નો ઉપયોગ કરતા પહેલા, નીચેના સાધનો તૈયાર કરવા જરૂરી છે:

  1. FPGA વિકાસ બોર્ડની ગોવિન GW2A શ્રેણી.
  2. FPGA ચિપને ગોઠવવા અને ડાઉનલોડ કરવા માટે ગોવિન સોફ્ટવેર ઇન્સ્ટોલેશન પેકેજ.
  3. એમ્બેડેડ પ્રોગ્રામ વિકસાવવા અને ડિબગ કરવા માટે AndeSight RDS v311 ઇન્સ્ટોલેશન પેકેજ.
  4. ડીબગ કેબલનો ઉપયોગ એમ્બેડેડ પ્રોગ્રામને ડાઉનલોડ અને ડીબગ કરવા માટે થાય છે, અને ડિફોલ્ટ AICE-MINI+ છે; વપરાશકર્તાઓએ તેને જાતે ખરીદવાની જરૂર છે.

નોંધ! 

  1. જો તેને UART દ્વારા માહિતી આઉટપુટ કરવાની જરૂર હોય, તો UART થી USB કેબલની જરૂર છે.
  2. અન્ય પેરિફેરલ્સનો ઉપયોગ કરવો જરૂરી છે.
વિકાસ અને ડીબગીંગ પગલાં

GW250A-2C વિકાસ બોર્ડ પર આધારિત RISC-V AE55 MCU ને વિકસાવવા અને ડિબગ કરવા માટેના મૂળભૂત પગલાં નીચે મુજબ છે:

  1. સૉફ્ટવેર ઇન્સ્ટોલ કરો: ગોવિન સૉફ્ટવેરનો ઉપયોગ AE250 RTL ડિઝાઇનને ગોઠવવા અને જનરેટ કરવા અને બિટસ્ટ્રીમ જનરેટ કરવા માટે થાય છે. file ડિઝાઇનની; AndeSight RDS v311 સોફ્ટવેરનો ઉપયોગ એમ્બેડેડ પ્રોગ્રામ વિકસાવવા અને ડીબગ કરવા માટે થાય છે; ડીબગીંગ માટે અન્ય સોફ્ટવેર અને ડ્રાઈવરો પણ જરૂરી છે.
  2. વિકાસ બોર્ડના પાવર સપ્લાય અને ડાઉનલોડ કેબલને ગોઠવો. બીટસ્ટ્રીમ file AE250_chip ને ગોવિન પ્રોગ્રામરનો ઉપયોગ કરીને ડેવલપમેન્ટ બોર્ડ પર FPGA ચિપ પર ડાઉનલોડ કરવામાં આવે છે, અને AE250 વિકાસ બોર્ડ પર ચાલી રહ્યું છે.
  3. નવો એમ્બેડેડ પ્રોજેક્ટ બનાવવા માટે RDS સૉફ્ટવેર ખોલો અથવા એન્કોડિંગ, કમ્પાઇલિંગ અને અન્ય ઑપરેશન્સ માટે અસ્તિત્વમાં છે તે પ્રોજેક્ટ ખોલો. AE250 ડિબગીંગ માટે ઉપયોગમાં લેવાતા ડીબગ કેબલને કનેક્ટ કરો, પ્રોજેક્ટ કમ્પાઇલેશન પરિણામને AE250 માં ઇન્સ્ટ્રક્શન મેમરી (ILM) પર ડાઉનલોડ કરો અને ચિપ પર ડીબગ કરવાનું શરૂ કરો.
  4. ડીબગીંગ દરમિયાન, તમે AE250 ના UART ઈન્ટરફેસને PC સાથે કનેક્ટ કરવા માટે UART થી USB કેબલનો ઉપયોગ કરી શકો છો, ઈનપુટ અને આઉટપુટ કામગીરીને ચલાવવા માટે RDS માં બિલ્ટ-ઈન સીરીયલ ટર્મિનલનો ઉપયોગ કરી શકો છો. તમે ઇનપુટ/આઉટપુટ કામગીરી માટે LED સૂચકાંકો, કી અથવા બાહ્ય પિન સાથે જોડાવા માટે GPIO નો ઉપયોગ કરી શકો છો; I2C, SPI, ઇથરનેટ અને અન્ય પેરિફેરલ્સ પણ વાપરવા માટે પસંદ કરી શકાય છે.
  5. AE250 SPI મારફતે ફ્લેશ સાથે કનેક્ટ થઈ શકે છે, ગોવિન પ્રોગ્રામરનો ઉપયોગ કરીને એમ્બેડેડ પ્રોગ્રામના સંકલન પરિણામને ફ્લેશ પર ડાઉનલોડ કરી શકે છે; જ્યારે ચિપ ચાલુ થાય છે, ત્યારે AE250 આપમેળે SPI ફ્લેશમાં એમ્બેડેડ પ્રોગ્રામ વાંચશે અને શરૂ થશે. તમે ફ્લેશનો ફરીથી ઉપયોગ કરી શકો છો જે FPGA બિટસ્ટ્રીમને બચાવે છે; કેટલાક FPGA બીટસ્ટ્રીમને બચાવી શકે છે, અને અન્ય એમ્બેડેડ પ્રોગ્રામ્સના સંકલન પરિણામોને સાચવી શકે છે. આ એક વ્યવહારુ અને આર્થિક પદ્ધતિ છે.
    તમે પ્રકરણ 2 ડીબગ કેબલ કનેક્શન સૂચનાઓ, પ્રકરણ જોઈ શકો છો
    3 RDS માટે સૂચનાઓનો ઉપયોગ કરો અને વિગતવાર પગલાં માટે પ્રકરણ 4 સંદર્ભ ડિઝાઇન.

ડીબગ કેબલ કનેક્શન સૂચનાઓ

RDS + AE250 મૂળભૂત રીતે AICE-MINI+ ડીબગ કેબલનો ઉપયોગ કરે છે; બાહ્ય આકૃતિ 2-1 માં ડાબી બાજુએ બતાવવામાં આવ્યું છે, અને પિન આકૃતિ 2-1 માં જમણી બાજુએ બતાવવામાં આવી છે. તે 12-પીન ઇન્ટરફેસ છે. એ નોંધવું જોઈએ કે આકૃતિમાં પિન 1 ખાલી છે. જ્યારે કેબલ યોગ્ય રીતે જોડાયેલ હશે અને RDS ખોલવામાં આવશે, ત્યારે આકૃતિમાં પીળા બોક્સ સાથે ચિહ્નિત થયેલ લાલ LED લાઇટ નીકળી જશે.
આકૃતિ 2-1 AICE-MINI+ ડીબગ કેબલ અને તેની પિન

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-3

AICE-MINI+ ડીબગ કેબલની પિન વ્યાખ્યા કોષ્ટક 2-1 માં બતાવ્યા પ્રમાણે છે. એ નોંધવું જોઈએ કે પિન 1 નો કનેક્શન (NC) તરીકે વ્યાખ્યાયિત થયેલ છે, જે ખાલી એકને અનુરૂપ છે. VREF ને 3.3V પાવર પિન કનેક્ટ કરવાની જરૂર છે, અને GND ને ફક્ત પિન 3 અથવા પિન 5 કનેક્ટ કરવાની જરૂર છે.

કોષ્ટક 2-1 AICE-MINI+ ડીબગ કેબલ પિન વ્યાખ્યા

પિન નંબર AICE-MINI+ ડીબગ કેબલ પિન
1 NC
2 TSRST_N
3 જીએનડી
4 TTMS
5 જીએનડી
6 ટીસીકે
7 VREF
8 NC
9 NC
10 TTRST_N
11 ટીટીડીઓ
12 ટીટીડીઆઈ

RDS માટે સૂચનાઓનો ઉપયોગ કરો

આરડીએસ ઇન્સ્ટોલેશન

ઇન્સ્ટોલેશન પેકેજને અનઝિપ કરો અને Windows/Disk1 દાખલ કરો; તેને ઇન્સ્ટોલ કરવા માટે setup.exe પર ડબલ-ક્લિક કરો. ઇન્સ્ટોલેશન દરમિયાન કોઈ ખાસ સેટિંગ્સની જરૂર નથી. ઇન્સ્ટોલેશન દરમિયાન, એક ડાયલોગ બોક્સ પોપ અપ થશે જે પૂછશે કે શું ડ્રાઇવરને ઇન્સ્ટોલ કરવું છે, કૃપા કરીને હા પસંદ કરો. સ્થાપન પગલાં માટે, જુઓ
AndeSight_RDS_v3.2_Installation_Guide_UM207_V1.0.pdf, જે ઇન્સ્ટોલેશન પેકેજમાં મળી શકે છે.

  1.  ઇન્સ્ટોલેશન પાથ અને વર્કસ્પેસ પાથ સેટ કરતી વખતે, ચાઇનીઝ અક્ષરો અથવા જગ્યા શામેલ કરશો નહીં, અથવા તે રનટાઇમ ભૂલ મેળવશે.
  2. RDS નું વર્તમાન સંસ્કરણ મૂળભૂત રીતે AICE-MINI+ કેબલને સપોર્ટ કરે છે.
  3. RDS ઇન્સ્ટોલ કર્યા પછી GOWIN પ્રોગ્રામર ડેવલપમેન્ટ બોર્ડ સાથે કનેક્ટ કરવામાં અસમર્થ હોઈ શકે છે, જેને Gowin પ્રોગ્રામર ડ્રાઇવરને ફરીથી ઇન્સ્ટોલ કરીને ઠીક કરી શકાય છે.
  4. સીરીયલ નંબર અને પ્રમાણપત્ર માટે files, કૃપા કરીને Gowin Semiconductor Corp નો સંપર્ક કરો.
નવો પ્રોજેક્ટ બનાવો

ક્લિક કરો File > નવું > પ્રોજેક્ટ > એન્ડીસ સી પ્રોજેક્ટ > આકૃતિ 3-1 માં બતાવ્યા પ્રમાણે નવા C પ્રોજેક્ટના રૂપરેખાંકન ઇન્ટરફેસને દાખલ કરવા માટે RDS ઇન્ટરફેસ પર આગળ.

આકૃતિ 3-1 નવો પ્રોજેક્ટ બનાવો

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-4

નવા C પ્રોજેક્ટ માટે, નીચેના પરિમાણોને ગોઠવવાની જરૂર છે:

  1. પ્રોજેક્ટ નામ
  2. સ્થાન: ડિફૉલ્ટ સ્થાન વર્તમાન કાર્યસ્થળ છે.
  3. કનેક્શન રૂપરેખાંકન ICE પર સેટ કરેલ છે, જે દર્શાવે છે કે વિકાસ બોર્ડ ICE ડીબગ કેબલનો ઉપયોગ કરીને જોડાયેલ છે. જો ઇમ્યુલેટરનો ઉપયોગ ટેસ્ટ પ્લેટફોર્મ તરીકે થતો હોય, તો કૃપા કરીને SID પસંદ કરો.
  4. ચિપ પ્રો માટેfile, ADP-AE250-N25-GOWIN પસંદ કરો, જે Gowin FPGA અનુસાર ઑપ્ટિમાઇઝ કરેલ છે.
  5. પ્રોજેક્ટના પ્રકારમાં એક ખાલી પ્રોજેક્ટ અને હેલો વર્લ્ડ ANSI C પ્રોજેક્ટનો સમાવેશ થાય છે.
  6. ટૂલચેન્સ માટે, nds32le-elf-mculib-v5m એ ડિફોલ્ટ છે.
    નવો પ્રોજેક્ટ બનાવ્યા પછી, પ્રોજેક્ટ એક્સપ્લોરરમાં પ્રોજેક્ટના નામ પર જમણું-ક્લિક કરો, ડ્રોપ-ડાઉન મેનૂમાંથી બિલ્ડ પ્રોજેક્ટ પસંદ કરો અથવા પ્રોજેક્ટને કમ્પાઇલ અને લિંક કરવા માટે ટૂલબાર પર " ” ક્લિક કરો; પ્રોજેક્ટને સ્વચ્છ બનાવવા માટે ડ્રોપ-ડાઉન મેનૂમાંથી ક્લીન પ્રોજેક્ટ પસંદ કરો.
પ્રોજેક્ટ આયાત અને નિકાસ કરો

આકૃતિ 3-2 માં બતાવ્યા પ્રમાણે "આયાત" અથવા "નિકાસ" પસંદ કરવા માટે પ્રોજેક્ટ એક્સપ્લોરરની જગ્યા પર જમણું ક્લિક કરો.

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-5

આકૃતિ 3-2 પ્રોજેક્ટ આયાત/નિકાસ કરો

પ્રોજેક્ટને આયાત કરવા માટે "આયાત કરો > સામાન્ય > હાલના પ્રોજેક્ટને વર્કસ્પેસમાં" ક્લિક કરો, અને ઈન્ટરફેસ આકૃતિ 3-3 માં બતાવ્યા પ્રમાણે છે. "રુટ ડિરેક્ટરી પસંદ કરો" પસંદ કરતી વખતે, પ્રોજેક્ટને ફોલ્ડરમાં આયાત કરો; "આર્કાઇવ ફાઇલ પસંદ કરો" પસંદ કરતી વખતે, પ્રોજેક્ટને ઝિપમાં આયાત કરો.

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-6

આકૃતિ 3-3 પ્રોજેક્ટ આયાત કરો

"નિકાસ કરો...> આર્કાઇવ પસંદ કરો Fileનિકાસ પ્રોજેક્ટ ઇન્ટરફેસ ખોલવા માટે, આકૃતિ 3-4 માં બતાવ્યા પ્રમાણે. નિકાસ કરવા માટેનો પ્રોજેક્ટ, કમ્પ્રેશન ફોર્મેટ, સેવ પાથ વગેરે પસંદ કર્યા પછી તમે નિકાસ પૂર્ણ કરી શકો છો.GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-7

આકૃતિ 3-4 પ્રોજેક્ટ નિકાસ કરો

ફ્લેશ પર પ્રોગ્રામ્સ ડાઉનલોડ કરો

AE250 ફ્લેશથી શરૂ કરીને સપોર્ટ કરે છે, પછી SPI ઇન્ટરફેસ દ્વારા ફ્લેશમાંથી એમ્બેડેડ પ્રોગ્રામ વાંચે છે અને તેને ILM માં સ્ટોર કરે છે, અને પછી એમ્બેડેડ પ્રોગ્રામ એક્ઝિક્યુટ થાય છે. ભલામણ કરેલ પદ્ધતિ SPI ફ્લેશનો પુનઃઉપયોગ છે જે FPGA બિટસ્ટ્રીમને બચાવે છે; FPGA Bitstream ને સાચવવા માટે Flash ના પહેલા અર્ધનો ઉપયોગ કરો, અને બાકીનો દ્વિસંગી સાચવવા માટે fileએમ્બેડેડ પ્રોગ્રામ્સના s.

  1. ગોવિન સોફ્ટવેરમાં IP કોર જનરેટર ખોલો અને AE250 RTL પેરામીટર્સને કૉલ કરો. SMU ઈન્ટરફેસ ખોલવા માટે SMU પર બે વાર ક્લિક કરો અને આકૃતિ 0-80400000 માં બતાવ્યા પ્રમાણે "સિસ્ટમ રીસેટ વેક્ટર ડિફોલ્ટ" ને 3x5 પર સેટ કરો. Bitstream ના સેવ એડ્રેસ તરીકે કુલ 0M બાઈટ સાથે SPI Flash 0~400000x4 ની જગ્યા સેટ કરો; 0x400000 થી શરૂ કરીને બાઈનરીના સેવ એડ્રેસ તરીકે ઉપયોગ થાય છે fileએમ્બેડેડ પ્રોગ્રામ્સના s.
    આકૃતિ 3-5 સિસ્ટમ રીસેટ વેક્ટર ડિફોલ્ટ
    GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-8
  2. SPI1 ઈન્ટરફેસ ખોલવા માટે SPI1 પર ડબલ-ક્લિક કરો, "SPI1 સપોર્ટ" તપાસો અને "SPI1 મેમરી મેપ સ્પેસ બેઝ એડ્રેસ" ને 0x80400000 પર સેટ કરો, આકૃતિ 3 6 માં બતાવ્યા પ્રમાણે.
    આકૃતિ 3-6 SPI1 રૂપરેખાંકન
    GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-9
  3. RTL ડિઝાઇનની ભૌતિક મર્યાદાઓમાં, SPI1 ઇન્ટરફેસ SPI Flash સાથે જોડાયેલ હોવું જોઈએ, અને SPI1 ઇન્ટરફેસ નીચેના કોષ્ટક અનુસાર ભૌતિક રીતે મર્યાદિત હોવું જોઈએ. વિવિધ FPGA ચિપ્સ માટે, MSPI ઇન્ટરફેસનું સ્થાન પણ અલગ છે, અને અવરોધ ચોક્કસ પરિસ્થિતિ માટે વિશિષ્ટ હોવો જોઈએ.
    કોષ્ટક 3-1 SPI1 ઇન્ટરફેસ ભૌતિક અવરોધો
    AE250 SPI1 ઈન્ટરફેસ FPGA MSPI ઇન્ટરફેસ
    CSN MCSN
    સીએલકે MCLK
    મીસો MSO
    મોસી MSI
  4. નિયમિત IO તરીકે MSPI ઇન્ટરફેસનો ફરીથી ઉપયોગ કરો. ગોવિન સૉફ્ટવેરની "પ્રોસેસ" વિંડોમાં, "સ્થળ અને માર્ગ" પર જમણું-ક્લિક કરો, પૉપ-અપ મેનૂમાં "કન્ફિગરેશન" પસંદ કરો; "ડ્યુઅલ પર્પઝ પિન" ટેબ પસંદ કરો, અને "MSPI નો નિયમિત IO તરીકે ઉપયોગ કરો" ને ચેક કરો અને પ્લેસમેન્ટ અને રૂટીંગ સમાપ્ત કરવા માટે "ઓકે" ક્લિક કરો.
    આકૃતિ 3-7 MSPI ઇન્ટરફેસને નિયમિત IO પર સેટ કરો
    GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-10
  5. એમ્બેડેડ પ્રોગ્રામ પેરામીટર સેટિંગ્સમાં ફેરફાર કરો. પ્રથમ, લિંકર સ્ક્રિપ્ટમાં બુટલોડરના પરિમાણોને સંશોધિત કરો. કારણ કે AE250 એમ્બેડેડ પ્રોગ્રામમાં લિંકર સ્ક્રિપ્ટ SAG દ્વારા આપમેળે જનરેટ થાય છે file, તે SAG માં સંશોધિત થવો જોઈએ file. ae250.sag ખોલો, બુટલોડર શોધો અને તેને આકૃતિ 3-8 માં બતાવ્યા પ્રમાણે RTL ડિઝાઇનમાં સિસ્ટમ રીસેટ વેક્ટર ડિફોલ્ટના મૂલ્યમાં સંશોધિત કરો. પછી config.h માં ફેરફાર કરો. src/bsp/config/config.h ખોલો અને મેક્રો વ્યાખ્યા શોધો
    "BUILD_MODE" અને તેને "BUILD_BURN" માં સંશોધિત કરો.
    આકૃતિ 3-8 ae250.sag બુટલોડર પરિમાણો સેટિંગ
    GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-11

નોંધ!

    • પરિમાણ RTL પરિમાણના સિસ્ટમ રીસેટ વેક્ટર ડિફોલ્ટના મૂલ્ય સાથે સુસંગત હોવું જોઈએ.
    • સંકલન સેટિંગ્સમાં ફેરફાર કરો; એમ્બેડેડ પ્રોજેક્ટના નામ પર જમણું-ક્લિક કરો, બિલ્ડ સેટિંગ્સ પસંદ કરો; "Objcopy > સામાન્ય" ટેબ પસંદ કરો અને "અક્ષમ કરો" ને અનચેક કરો. (આઉટપુટ ઓટો-જનરેટ કરશો નહીં file.)

બાઈનરી જનરેટ કરવા માટે એમ્બેડેડ પ્રોગ્રામને ફરીથી કમ્પાઈલ કરો fileએમ્બેડેડ પ્રોજેક્ટના s, અને ડાઉનલોડ કરો files થી SPI ફ્લેશ 0x400000 સરનામું ગોવિન પ્રોગ્રામર બાહ્ય ફ્લેશ સી બિન મોડનો ઉપયોગ કરીને.
સંશોધિત RTL ડિઝાઇનને ફરીથી સંશ્લેષણ કરો અને મૂકો અને રૂટ કરો, અને ગોવિન પ્રોગ્રામર બાહ્ય ફ્લેશ મોડનો ઉપયોગ કરીને તેને SPI ફ્લેશ 0x000000 સરનામાં પર ડાઉનલોડ કરો.

ઓન-ચિપ ડીબગ

સંકલન પછી, એમ્બેડેડ પ્રોજેક્ટના સંકલન પરિણામોને ઓન-ચિપ ડીબગ માટે વિકાસ બોર્ડ પર ડાઉનલોડ કરી શકાય છે.
config.h માં ફેરફાર કરો; src/bsp/config/config.h ખોલો, અને મેક્રો વ્યાખ્યા BUILD_MODE શોધો; તેને BUILD_LOAD માં સંશોધિત કરો, અને એમ્બેડેડ પ્રોગ્રામને ફરીથી કમ્પાઇલ કરો.
પ્રોજેક્ટ એક્સપ્લોરરમાં પ્રોજેક્ટના નામ પર રાઇટ-ક્લિક કરો અને ડ્રોપ-ડાઉન મેનૂમાંથી "ડીબગ એઝ > MCU પ્રોગ્રામ" પસંદ કરો. પ્રથમ વખત, , આકૃતિ 3-9 માં બતાવ્યા પ્રમાણે, "ડીબગ કન્ફિગરેશન" સેટ કરવા માટે એક સંવાદ બોક્સ પોપ અપ થશે.

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-14

આકૃતિ 3-9 ડીબગ રૂપરેખાંકનો

"સ્ટાર્ટઅપ" ટેબમાં, પ્રથમ સૂચનાનો અમલ કરતા પહેલા પ્રોગ્રામને રોકવા માટે "રીસેટ અને હોલ્ડ" વિકલ્પને ચેક કરો. ઓન-ચિપ ડીબગ પહેલાં ILM માં એમ્બેડેડ પ્રોજેક્ટના સંકલન પરિણામો ડાઉનલોડ કરવા માટે આ વિકલ્પની નીચે પેરામીટર બોક્સમાં લોડ દાખલ કરો.
"રનટાઇમ વિકલ્પો" માં, "બ્રેકપોઇન્ટ સેટ કરો" ને ચેક કરો. લેબલ દાખલ કરો, જેમ કે ઇનપુટ બોક્સમાં મુખ્ય. તે મુખ્ય કાર્યની શરૂઆતમાં બ્રેકપોઇન્ટ સેટ કરી શકે છે. "ફરીથી શરૂ કરો" તપાસો, અને તે ઓન-ચિપ ડીબગ દાખલ કર્યા પછી સીધા જ સતત કામગીરી શરૂ કરશે.
ઓન-ચિપ ડીબગ દાખલ કરતી વખતે, તે આપમેળે ડીબગ પર જાય છે view અને આકૃતિ 3-10 માં બતાવ્યા પ્રમાણે વિસ્તાર દર્શાવવામાં આવશે. આ વિસ્તાર ઓન-ચિપ ડીબગ માટે ઓપરેશન વિસ્તાર છે. ડીબગ માટેના કેટલાક શોર્ટકટ બટનો લાલ બોક્સમાં દર્શાવેલ છે. ડાબેથી જમણે, તેનો અર્થ છે DEBUG પુનઃપ્રારંભ કરો, ચલાવવાનું ચાલુ રાખો, સસ્પેન્ડ કરો, સમાપ્ત કરો, ડિસ્કનેક્ટ કરો, એક પ્રક્રિયા સાથે લિંક કરો, સ્ટેપ ઇન કરો, સ્ટેપ ઓવર, સ્ટેપ રીટર્ન અને સૂચના સ્ટેપિંગ મોડ; આ મોડમાં, દરેક વખતે તે જોખમ – v એસેમ્બલી સૂચના ચલાવે છે, અન્યથા દરેક વખતે તે C સ્ટેટમેન્ટ ચલાવે છે.

નોંધ!
ગ્રે ચિહ્નોનો અર્થ છે કે તેઓ આ સમયે અનુપલબ્ધ છે.
બ્રેકપોઇન્ટ્સ ઝડપથી સેટ કરવા અથવા બ્રેકપોઇન્ટ્સ રદ કરવા માટે કોડ ટેક્સ્ટમાં લાઇન નંબર પર ડાબી બાજુએ ડબલ ક્લિક કરો અને પોપ-અપ મેનૂમાંથી "રન ટુ લાઇન" પસંદ કરવા માટે કોડ ટેક્સ્ટમાં જમણું ક્લિક કરો.GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-13

આકૃતિ 3-10 ડીબગ બટનો પરિચય

આકૃતિ 3-11 એ એસેમ્બલી સ્ટેટમેન્ટ વિન્ડો છે જે ILM માં રીઅલ ટાઇમમાં ચાલતી એસેમ્બલી સૂચનાઓની સામગ્રી દર્શાવે છે.

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-14

આકૃતિ 3-11 એસેમ્બલી સૂચના કોડ વિન્ડો

RDS બિલ્ટ-ઇન સીરીયલ ટર્મિનલ વપરાશ

આકૃતિ 3-12 RDS ઇન્ટરફેસમાં બનેલ UART ટર્મિનલ બતાવે છે. જો તમારે ઉપયોગ કરવાની જરૂર હોય, તો "વિંડો > બતાવો" પર ક્લિક કરો View > "ટર્મિનલ" વિન્ડો ખોલવા માટે ટોચના મેનૂમાં ટર્મિનલ, અને પછી નવું સીરીયલ ટર્મિનલ બનાવવા માટે "ટર્મિનલ ખોલો" પર ક્લિક કરો. પોર્ટ નંબર સેટ કર્યા પછી (જે હોઈ શકે છે viewહાર્ડવેર મેનેજરમાં ed), બાઉડ રેટ અને અન્ય પરિમાણો, ઉપયોગ શરૂ કરવા માટે "ઓકે" પર ક્લિક કરો.

GOWIN-FPGA-વિકાસ-બોર્ડ-RISCV-પ્રોગ્રામિંગ-15

આકૃતિ 3-12 RDS બિલ્ટ-ઇન સીરીયલ ટર્મિનલ

વિગતો માટે, દસ્તાવેજ જુઓ
AndeSight_RDS_v3.1_User_Manual_UM170_V1.0.pdf, જે ઇન્સ્ટોલેશન ડિરેક્ટરીના દસ્તાવેજ પાથમાં મળી શકે છે.

સંદર્ભ ડિઝાઇન

પ્રોજેક્ટ કોડ

કી fileAE250 એમ્બેડેડ પ્રોજેક્ટ નમૂનામાં s નીચે મુજબ છે:

  1. src/bsp/ae250/ae250.h: આ file સિસ્ટમ ક્લોક ડેફિનેશન, પેરિફેરલ રજિસ્ટર ડેફિનેશન, પેરિફેરલ રજિસ્ટર એડ્રેસ મેપિંગ ડેફિનેશન અને ઇન્ટરપ્ટ્સ સોર્સ નંબર ડેફિનેશન સમાવે છે. ઘડિયાળની વ્યાખ્યા AE250 પરિમાણોની ગોઠવણી સાથે સુસંગત હોવી જોઈએ.
  2. src/bsp/ae250/ae250.c: રીસેટ_હેન્ડલર ફંક્શન એ એમ્બેડેડ પ્રોગ્રામ શરૂ કરવા માટેની એન્ટ્રી છે. એન્ટ્રીમાં, મુખ્ય કાર્ય એક્ઝિક્યુટ થાય તે પહેલાં UART ઇનિશિયલાઇઝેશન કરવામાં આવે છે. જરૂરી UART પોર્ટ પસંદ કરવામાં આવે છે અને AE250 ના પેરામીટર કન્ફિગરેશન અનુસાર જરૂરી બાઉડ રેટ ગોઠવવામાં આવે છે.
  3. src/bsp/ae250/interrupt.c: આ file AE250 ના ઇન્ટરપ્ટ હેન્ડલર કાર્યોની વ્યાખ્યા છે
  4. src/bsp/config/config.h: આ file સંકલન પદ્ધતિને નિયંત્રિત કરતી મેક્રો વ્યાખ્યા સમાવે છે. #define BUILD_MODE ને BUILD_LOAD અથવા BUILD_BURN તરીકે વ્યાખ્યાયિત કરી શકાય છે. BUILD_LOAD નો અર્થ છે કે પ્રોગ્રામ સીધો ILM માં લોડ થાય છે, અને તે સામાન્ય રીતે ડીબગીંગ કરતી વખતે વપરાય છે. BUILD_BURN એટલે કે પ્રોગ્રામ SPI Flash પર ડાઉનલોડ થાય છે, અને પ્રોગ્રામને SPI Flash થી ILM પર પહેલા પાવર ઓન કર્યા પછી વાંચવામાં આવે છે, અને પછી રન થાય છે, જે રીલીઝ વર્ઝન પ્રોગ્રામને લાગુ પડે છે.
  5. Start.S: ધ સ્ટાર્ટર file એસેમ્બલી ભાષામાં લખાયેલ.
  6. src/bsp/loader.c: બુટલોડર file, જેનો ઉપયોગ SPI ફ્લેશથી શરૂ કરવા માટે થાય છે.
  7. ae250.sag: Sag એ સ્કેટરિંગ અને ગેધરીંગ ફોર્મેટ સ્ક્રિપ્ટ છે. તેનો ઉપયોગ લિંકર સ્ક્રિપ્ટ જનરેટ કરવા માટે થાય છે. એ નોંધવું જોઈએ કે ae250.sag માં મેમરી મેપ પરિમાણો AE250 સાથે સુસંગત હોવા જરૂરી છે.
  8. src/bsp/driver: આ ડિરેક્ટરીમાં બે ફોલ્ડર્સ છે, ae250 એ AE250 ડ્રાઇવર કોડ છે, ડ્રાઇવર ફંક્શન્સનો કૉલ ઇન્ટરફેસ શામેલ છે.
  9. src/bsp/lib: તેમાં બે છે files printf.c માં, C સ્ટાન્ડર્ડ લાઇબ્રેરીમાં સબફંક્શનનું સ્વરૂપ UART દ્વારા પ્રિન્ટફ માહિતીને આઉટપુટ કરવા માટે ફરીથી વ્યાખ્યાયિત કરવામાં આવે છે. read.c માં, UART દ્વારા ઇનપુટ માહિતી વાંચવા માટે એક સરળ કાર્ય છે.
સંદર્ભ ડિઝાઇન

ઇન્સ્ટોલેશન પછી, ઇન્સ્ટોલેશન ડિરેક્ટરીના ડેમો ફોલ્ડરમાં અથવા સંદર્ભ ડિઝાઇન ઝિપમાં ઘણી મૂળભૂત સંદર્ભ ડિઝાઇન મળી શકે છે. webસાઇટ; સંદર્ભ ડિઝાઇનને ટ્રાયલ, ડિબગીંગ અને આયાતના માર્ગ દ્વારા પુનઃવિકાસ માટે RDS માં લોડ કરી શકાય છે. સંદર્ભ ડિઝાઇન નીચે પ્રમાણે દર્શાવવામાં આવી છે:

  1. ae250_demo: AE250 ના UART ઇનપુટ/આઉટપુટ અને GPIO આઉટપુટ દર્શાવે છે.
  2. ae250_plic: વિક્ષેપ નિયંત્રકના પ્રતિભાવનું નિદર્શન કરે છે, અને મશીન ટાઈમર અને પિટ ટાઈમરનું પ્રદર્શન પૂરું પાડે છે.
  3. ae250_freertos: દર્શાવે છે કે AE250 પોર્ટ એમ્બેડ કરેલા છે
    રીઅલ-ટાઇમ ઓપરેટિંગ સિસ્ટમ ફ્રીઆરટીઓએસ મલ્ટી-થ્રેડીંગ રનિંગ પ્રોગ્રામ.
  4. ae250_ucosiii: દર્શાવે છે કે AE250 પોર્ટ્સ એમ્બેડેડ રીઅલ-ટાઇમ ઓપરેટિંગ સિસ્ટમ uC/OS-III મલ્ટી-થ્રેડીંગ રનિંગ પ્રોગ્રામ છે.

દસ્તાવેજો / સંસાધનો

GOWIN FPGA વિકાસ બોર્ડ RISCV પ્રોગ્રામિંગ [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા
FPGA ડેવલપમેન્ટ બોર્ડ RISCV પ્રોગ્રામિંગ, બોર્ડ RISCV પ્રોગ્રામિંગ, FPGA ડેવલપમેન્ટ RISCV પ્રોગ્રામિંગ, RISCV પ્રોગ્રામિંગ, બોર્ડ RISCV

સંદર્ભો

એક ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. જરૂરી ક્ષેત્રો ચિહ્નિત થયેલ છે *