Skip to content

Commit c1acc8e

Browse files
committed
fix unit test
1 parent e130ebc commit c1acc8e

File tree

7 files changed

+24
-108
lines changed

7 files changed

+24
-108
lines changed

backend/etc/devices/mpw1/regulator.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
{ "name": "VCC_CORE" , "value": 0.8 },
55
{ "name": "VCC_AUX" , "value": 1.8 },
66
{ "name": "VCC_BOOT_IO" , "value": 1.8 },
7-
{ "name": "VCC_DDR_IO" , "value": 0.0 },
7+
{ "name": "VCC_DDR_IO" , "value": 0.8 },
88
{ "name": "VCC_SOC_IO" , "value": 1.8 },
9-
{ "name": "VCC_GBE_IO" , "value": 0.0 },
10-
{ "name": "VCC_USB_IO" , "value": 0.0 },
9+
{ "name": "VCC_GBE_IO" , "value": 0.8 },
10+
{ "name": "VCC_USB_IO" , "value": 0.8 },
1111
{ "name": "VCC_BOOT_AUX", "value": 1.8 },
1212
{ "name": "VCC_SOC_AUX" , "value": 1.8 },
13-
{ "name": "VCC_GBE_AUX" , "value": 0.0 },
14-
{ "name": "VCC_USB_AUX" , "value": 0.0 },
13+
{ "name": "VCC_GBE_AUX" , "value": 1.8 },
14+
{ "name": "VCC_USB_AUX" , "value": 1.8 },
1515
{ "name": "VCC_PUF" , "value": 1.8 },
16-
{ "name": "VCC_RC_OSC" , "value": 0.0 }
16+
{ "name": "VCC_RC_OSC" , "value": 1.8 }
1717
]
1818
}

backend/submodule/rs_device_resources.py

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ class PeripheralType(Enum):
102102
CONFIG = 'config'
103103
PUFFCC = 'puffcc'
104104
RC_OSC = 'rc_osc'
105+
NOC = 'noc'
105106

106107
class IO_BankType(RsEnum):
107108
HP = 0, "HP"
@@ -535,15 +536,6 @@ def get_polynomial_coeff(self, type: ElementType, worse: bool):
535536
coeffs = [c.coeffs[:c.length] for c in polynomials]
536537
return 1/polynomials[0].factor, coeffs
537538

538-
def get_divfactor_coeff_CLB(self, worsecase : bool):
539-
return self.get_polynomial_coeff(ElementType.CLB, worsecase)
540-
541-
def get_divfactor_coeff_BRAM(self, worsecase : bool):
542-
return self.get_polynomial_coeff(ElementType.BRAM, worsecase)
543-
544-
def get_divfactor_coeff_DSP(self, worsecase : bool):
545-
return self.get_polynomial_coeff(ElementType.DSP, worsecase)
546-
547539
def get_divfactor_coeff_GEARBOX_IO_bank_type(self, bank_type : int, worsecase : bool):
548540
return self.get_polynomial_coeff(ElementType.GEARBOX_IO_HP if bank_type == 0 else ElementType.GEARBOX_IO_HR, worsecase)
549541

@@ -553,18 +545,6 @@ def get_divfactor_coeff_IO_bank_type(self, bank_type : int, worsecase : bool):
553545
def get_divfactor_coeff_AUX(self, worsecase : bool):
554546
return self.get_polynomial_coeff(ElementType.AUX, worsecase)
555547

556-
def get_divfactor_coeff_NOC(self, worsecase : bool):
557-
return self.get_polynomial_coeff(ElementType.NOC, worsecase)
558-
559-
def get_divfactor_coeff_Mem_SS(self, worsecase : bool):
560-
return self.get_polynomial_coeff(ElementType.MEM_SS, worsecase)
561-
562-
def get_divfactor_coeff_A45(self, worsecase : bool):
563-
return self.get_polynomial_coeff(ElementType.ACPU, worsecase)
564-
565-
def get_divfactor_coeff_Config(self, worsecase : bool):
566-
return self.get_polynomial_coeff(ElementType.CONFIG, worsecase)
567-
568548
def get_divfactor_coeff_Aux_bank_type(self, bank_type: int, worsecase: bool):
569549
return self.get_polynomial_coeff(ElementType.AUX_HP if bank_type == 0 else ElementType.AUX_HR, worsecase)
570550

@@ -584,39 +564,6 @@ def get_divfactor_coeff_IO_bank_type_voltage(self, bank_type : int, voltage : fl
584564
elif voltage == 1.8:
585565
return self.get_polynomial_coeff(ElementType.IO_HP_1_8V, worsecase)
586566

587-
def get_divfactor_coeff_VCC_BOOT_IO(self, worsecase : bool):
588-
return self.get_polynomial_coeff(ElementType.VCC_BOOT_IO, worsecase)
589-
590-
def get_divfactor_coeff_VCC_DDR_IO(self, worsecase : bool):
591-
return self.get_polynomial_coeff(ElementType.VCC_DDR_IO, worsecase)
592-
593-
def get_divfactor_coeff_VCC_SOC_IO(self, worsecase : bool):
594-
return self.get_polynomial_coeff(ElementType.VCC_SOC_IO, worsecase)
595-
596-
def get_divfactor_coeff_VCC_GIGE_IO(self, worsecase : bool):
597-
return self.get_polynomial_coeff(ElementType.VCC_GIGE_IO, worsecase)
598-
599-
def get_divfactor_coeff_VCC_USB_IO(self, worsecase : bool):
600-
return self.get_polynomial_coeff(ElementType.VCC_USB_IO, worsecase)
601-
602-
def get_divfactor_coeff_VCC_BOOT_AUX(self, worsecase : bool):
603-
return self.get_polynomial_coeff(ElementType.VCC_BOOT_AUX, worsecase)
604-
605-
def get_divfactor_coeff_VCC_SOC_AUX(self, worsecase : bool):
606-
return self.get_polynomial_coeff(ElementType.VCC_SOC_AUX, worsecase)
607-
608-
def get_divfactor_coeff_VCC_GIGE_AUX(self, worsecase: bool):
609-
return self.get_polynomial_coeff(ElementType.VCC_GIGE_AUX, worsecase)
610-
611-
def get_divfactor_coeff_VCC_USB_AUX(self, worsecase: bool):
612-
return self.get_polynomial_coeff(ElementType.VCC_USB_AUX, worsecase)
613-
614-
def get_divfactor_coeff_VCC_PUF(self, worsecase : bool):
615-
return self.get_polynomial_coeff(ElementType.VCC_PUF, worsecase)
616-
617-
def get_divfactor_coeff_VCC_RC_OSC(self, worsecase : bool):
618-
return self.get_polynomial_coeff(ElementType.VCC_RC_OSC, worsecase)
619-
620567
def register_module(self, modtype, module):
621568
self.modules[modtype.value] = module
622569
return module

backend/submodule/rs_power_config.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ class PowerConfigCoeffNotFoundException(RsCustomException):
2020
def __init__(self, component: str, name: str):
2121
super().__init__(f"Coeff '{name}' of component '{component}' not found")
2222

23-
class PowerConfigPolynomialNotFoundException(RsCustomException):
24-
def __init__(self, component: str, scenario: str):
25-
super().__init__(f"Polynomial '{component}' for '{scenario}' case not found")
26-
2723
class PowerConfigParsingException(RsCustomException):
2824
def __init__(self, error_message: str):
2925
super().__init__(f"Parsing Error: {error_message}")
@@ -132,7 +128,7 @@ def post_load(self, data, **kwargs):
132128

133129
class RsStaticPowerScenarioSchema(Schema):
134130
type = fields.Enum(ScenarioType, by_value=True, required=True)
135-
coeffs = fields.List(fields.Float, many=True, required=True)
131+
coeffs = fields.List(fields.Float, required=True)
136132
factor = fields.Float(required=True)
137133

138134
@post_load

tests/data/dsp.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,14 @@
44
{
55
"name": "TEST1", "value": 0.1234
66
}
7+
],
8+
"static_power": [
9+
{
10+
"rail_type": "Vcc_core (DSP)",
11+
"domain": "Core",
12+
"scenarios": [
13+
{ "type": "typical", "coeffs": [0.1, 0.2, 0.3, 0.4, 0.5], "factor": 54321.1 }
14+
]
15+
}
716
]
817
}

tests/data/power_config.json

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,4 @@
11
{
2-
"static": [
3-
{
4-
"type": "clb",
5-
"scenarios": [
6-
{
7-
"type": "typical",
8-
"polynomials": [
9-
{
10-
"length": 5,
11-
"coeffs": [0.1, 0.2, 0.3, 0.4, 0.5],
12-
"factor": 1.25
13-
}
14-
]
15-
}
16-
]
17-
}
18-
],
192
"components": [
203
{ "$ref": "dsp.json" }
214
]

tests/test_rs_device_resources.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import pytest
66
from unittest.mock import MagicMock, patch
77
from submodule.rs_power_config import ElementType
8-
from submodule.rs_power_config import RsStaticPowerPolynomial
98
from submodule.rs_device_resources import (
109
RsDeviceResources,
1110
IO_Standard_Coeff,
@@ -30,7 +29,6 @@ def mock_device():
3029
def device_resources(mock_device):
3130
with patch('submodule.rs_device_resources.RsPowerConfig') as MockRsPowerConfig:
3231
MockRsPowerConfig.return_value.load.return_value = True
33-
MockRsPowerConfig.return_value.get_polynomial_coeff.return_value = [RsStaticPowerPolynomial(length=5, factor=1.25, coeffs=[0.1, 0.2, 0.3, 0.4, 0.5])]
3432
yield RsDeviceResources(mock_device)
3533

3634
def test_get_device_name(device_resources):
@@ -75,11 +73,6 @@ def test_register_module(device_resources):
7573
device_resources.register_module(ModuleType.CLOCKING, module)
7674
assert device_resources.get_module(ModuleType.CLOCKING) == module
7775

78-
def test_get_divfactor_coeff_CLB(device_resources):
79-
factor, coeffs = device_resources.get_divfactor_coeff_CLB(worsecase=True)
80-
assert factor == 0.8
81-
assert len(coeffs) > 0
82-
8376
def test_get_clock_not_found(device_resources):
8477
device_resources.register_module(ModuleType.CLOCKING, MagicMock(get_all=MagicMock(return_value=[])))
8578
assert device_resources.get_clock('non_existent_clock') is None

tests/test_rs_power_config.py

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
PowerConfigFileNotFoundException,
1313
PowerConfigParsingException,
1414
PowerConfigSchemaValidationException,
15-
PowerConfigComponentNotFoundException,
16-
PowerConfigStaticComponentNotFoundException,
17-
PowerConfigPolynomialNotFoundException
15+
PowerConfigComponentNotFoundException
1816
)
1917

2018
def test_not_loaded():
@@ -54,25 +52,15 @@ def test_get_coeff():
5452
pwrcfg.load('tests/data/power_config.json')
5553
assert 0.1234 == pwrcfg.get_coeff(ElementType.DSP, "TEST1")
5654

57-
def test_get_polynomial_coeff_with_not_exist_component():
58-
pwrcfg = RsPowerConfig()
59-
pwrcfg.load('tests/data/power_config.json')
60-
with pytest.raises(PowerConfigStaticComponentNotFoundException):
61-
pwrcfg.get_polynomial_coeff(ElementType.NOC, ScenarioType.TYPICAL)
62-
63-
def test_get_polynomial_coeff_with_not_exist_scenario():
64-
pwrcfg = RsPowerConfig()
65-
pwrcfg.load('tests/data/power_config.json')
66-
with pytest.raises(PowerConfigPolynomialNotFoundException):
67-
pwrcfg.get_polynomial_coeff(ElementType.CLB, ScenarioType.WORSE)
68-
6955
def test_get_polynomial_coeff():
7056
pwrcfg = RsPowerConfig()
7157
result = pwrcfg.load('tests/data/power_config.json')
72-
polynomials = pwrcfg.get_polynomial_coeff(ElementType.CLB, ScenarioType.TYPICAL)
58+
polynomials = pwrcfg.get_polynomial(ElementType.DSP, ScenarioType.TYPICAL)
7359
assert 1 == len(polynomials)
7460
assert True == result
7561
assert True == pwrcfg.is_loaded()
76-
assert 5 == polynomials[0].length
77-
assert 1.25 == polynomials[0].factor
78-
assert [0.1, 0.2, 0.3, 0.4, 0.5] == polynomials[0].coeffs
62+
assert 'Vcc_core (DSP)' == polynomials[0][0]
63+
assert True == isinstance(polynomials[0][1], list)
64+
assert 1 == len(polynomials[0][1])
65+
assert 54321.1 == polynomials[0][1][0].factor
66+
assert [0.1, 0.2, 0.3, 0.4, 0.5] == polynomials[0][1][0].coeffs

0 commit comments

Comments
 (0)