Skip to content

hurisson/RGU-PyUVM-Verification

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RGU-PyUVM-Verification

Выпускная квалификационная Ρ€Π°Π±ΠΎΡ‚Π° Π±Π°ΠΊΠ°Π»Π°Π²Ρ€Π° Π½Π° Ρ‚Π΅ΠΌΡƒ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² cocotb ΠΈ PyUVMΒ»

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚: Π‘. А. МинССва

Π“Ρ€ΡƒΠΏΠΏΠ°: М8О-410Π‘-21

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹ – созданиС ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ систСмы Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° сбросов, которая обСспСчит Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ тСстирования ΠΈ выявлСниС ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сбоСв Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π±Π»ΠΎΠΊΠ°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ коррСктности Π±Π»ΠΎΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ качСство Π±Π»ΠΎΠΊΠ°.

Для достиТСния поставлСнной Ρ†Π΅Π»ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • составлСниС стратСгии ΠΈ ΠΏΠ»Π°Π½Π° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, основанных Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°;
  • программная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ окруТСния, эталонной ΠΌΠΎΠ΄Π΅Π»ΠΈ, тСстовых сцСнариСв, ΠΌΠΎΠ΄Π΅Π»ΠΈ покрытия;
  • ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ рассматриваСмого Π±Π»ΠΎΠΊΠ° для выявлСния ошибок RTL Π΄ΠΈΠ·Π°ΠΉΠ½Π°, достиТСниС 100%-Π½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ покрытия;
  • ΠΎΡ†Π΅Π½ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² cocotb ΠΈ PyUVM.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° рСпозитория

- root/
  - images/ # Π‘Ρ…Π΅ΠΌΡ‹ 
  - pyuvm/ # Π’Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅
    - coverage/ # МодСль сбора покрытия
    - env/
      - cfg/ # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ
      - rgu_dict.py # Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов сброса
      - rgu_env.py # ΠžΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅
      - rgu_model.py # РСгистровая модСль-имитация Π±Π»ΠΎΠΊΠ°
      - rgu_pkg.py # Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
      - rgu_scoreboard.py # Эталонная модСль
    - seq/ # ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
    - test/ # ВСсты
  - rtl_wrapper/ # ΠœΠΎΠ΄ΡƒΠ»ΡŒ-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ°

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌΡ‹Π΅ характСристики

β„– Π₯арактСристика ВСстовый сцСнарий
1 адрСсноС протранство: доступ, значСния ΠΏΠΎ сбросу ΠΏΠΎΠ΄Π°Ρ‡Π° случайных APB-Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ΄Π°Ρ‡Π° случайного сброса с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рСгистра
2 ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ сигналов рандомизированная одноврСмСнная ΠΏΠΎΠ΄Π°Ρ‡Π° сигналов сброса
3 Ρ€Π°Π±ΠΎΡ‚Π° систСмы Π°Π½Ρ‚ΠΈΠ΄Ρ€Π΅Π±Π΅Π·Π³Π° ΠΏΠΎΠ΄Π°Ρ‡Π° Π³Π»ΠΈΡ‚Ρ‡Π΅ΠΉ со стороны ΠΊΠ½ΠΎΠΏΠΎΡ‡Π½ΠΎΠ³ΠΎ сигнала сброса
4 Ρ€Π°Π±ΠΎΡ‚Π° автоматичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигналов сброса ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ: рандомизация ΠΏΠΎΠ΄Π°Ρ‡ сигналов сброса, сбоСв Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала для APB-ΡˆΠΈΠ½Ρ‹
5 врСмя срабатывания сигнала сброса послС глобального сброса систСмы ΠΏΠΎΠ΄Π°Ρ‡Π° ΠΊΠ½ΠΎΠΏΠΎΡ‡Π½ΠΎΠ³ΠΎ сигнала сброса послС систСмного сброса
6 ΡƒΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ систСмы Π² сбросС случайныС APB-Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π²ΠΎ врСмя сброса
7 Ρ†ΠΈΠΊΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ сбросов ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° встроСна Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сцСнарий
8 ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° встроСна Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сцСнарий
9 внСшниС ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ запросы сброса ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° встроСна Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сцСнарий
10 соотвСтсвиС APB-ΡˆΠΈΠ½Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° встроСна Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сцСнарий

АрхитСктура Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

АрхитСктура Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Эталонная модСль (scoreboard)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма эталонной ΠΌΠΎΠ΄Π΅Π»ΠΈ:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ схСма эталонной ΠΌΠΎΠ΄Π΅Π»ΠΈ

ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния Π² рСгистрС Π±Π»ΠΎΠΊΠ° происходит модификация этого рСгистра Π² рСгистровой ΠΌΠΎΠ΄Π΅Π»ΠΈ-ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° сброса. Вакая модСль ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сравнСния ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ транзакциях Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.

Π‘Ρ…Π΅ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ APB-Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ эталонной модСлью:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° APB-Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ

Π‘Ρ…Π΅ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ сброса эталонной модСлью:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ сброса

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° автоматизированная систСма Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° сбросов с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² cocotb ΠΈ PyUVM. По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ достгнуто 100%-Π½ΠΎΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅. ВыявлСнныС ошибки ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅, снизив ΡˆΠ°Π½ΡΡ‹ Π½Π° пСрСвыпуск систСмы Π½Π° кристаллС. ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹ дальнСйшСго развития Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ систСмы Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΏΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ элСмСнтной Π±Π°Π·Ρ‹ элСктроники отСчСствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

По ΠΈΡ‚ΠΎΠ³Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ сравнСниС Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм: классичСского (SystemVerilog ΠΈ UVM) ΠΈ ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ (cocotb ΠΈ PyUVM). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ спСцифики. Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈ ускоряСт Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π²Π²ΠΈΠ΄Ρƒ Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ нСдостаточной ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π£ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ PyUVM ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ систСмы Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ систСм Π½Π° кристаллС Π½Π° Python, дСлая процСсс тСстирования Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… схСм Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ эффСктивным.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 60.5%
  • Verilog 39.5%