Source code for hwtLib.samples.emptyUnitWithSpi

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import unittest

from hwt.synthesizer.interfaceLevel.emptyUnit import EmptyUnit
from hwt.synthesizer.utils import toRtl
from hwtLib.spi.intf import Spi
from hwtLib.tests.statementTrees import StatementTreesTC


[docs]class EmptyUnitWithSpi(EmptyUnit):
[docs] def _declr(self): self.spi = Spi()
expectedVhdl = """ library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; ENTITY EmptyUnitWithSpi IS GENERIC (spi_SLAVE_CNT: INTEGER := 1 ); PORT (spi_clk: IN STD_LOGIC; spi_cs: IN STD_LOGIC_VECTOR(spi_SLAVE_CNT - 1 DOWNTO 0); spi_miso: OUT STD_LOGIC; spi_mosi: IN STD_LOGIC ); END EmptyUnitWithSpi; ARCHITECTURE rtl OF EmptyUnitWithSpi IS BEGIN spi_miso <= 'X'; END ARCHITECTURE rtl; """
[docs]class EmptyUnitWithSpiTC(unittest.TestCase):
[docs] def test_vhdl(self): vhdl = toRtl(EmptyUnitWithSpi()) StatementTreesTC.strStructureCmp(self, expectedVhdl, vhdl)
if __name__ == "__main__": suite = unittest.TestSuite() # suite.addTest(TwoCntrsTC('test_withStops')) suite.addTest(unittest.makeSuite(EmptyUnitWithSpiTC)) runner = unittest.TextTestRunner(verbosity=3) runner.run(suite) print(toRtl(EmptyUnitWithSpi()))