segprint2fasm: test suite

Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
John McMaster 2018-01-18 13:04:57 -08:00
parent 58e84a20d2
commit 8c2e8ad1ea
3 changed files with 83 additions and 0 deletions

View File

@ -0,0 +1,17 @@
seg SEG_HCLK_L_X31Y130
tag HCLK_L.ENABLE_BUFFER.HCLK_CK_BUFHCLK8
tag HCLK_L.HCLK_LEAF_CLK_B_BOTL5.HCLK_CK_BUFHCLK8
seg SEG_CLBLM_L_X10Y102
tag CLBLM_L.SLICEM_X0.AFF.DMUX.AX
tag CLBLM_L.SLICEM_X0.AFF.ZINI
tag CLBLM_L.SLICEM_X0.AFF.ZRST
tag CLBLM_L.SLICEM_X0.CEUSEDMUX
tag CLBLM_L.SLICEM_X0.SRUSEDMUX
tag INT_L.BYP_ALT0.EE2END0
tag INT_L.BYP_ALT1.EL1END1
tag INT_L.CLK_L1.GCLK_L_B11_WEST
tag INT_L.CTRL_L1.ER1END2
tag INT_L.FAN_ALT7.BYP_BOUNCE0
tag INT_L.WW2BEG0.LOGIC_OUTS_L4

View File

@ -0,0 +1,22 @@
seg SEG_CLBLM_L_X10Y102
tag CLBLM_L.SLICEM_X0.ALUT.INIT[00]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[08]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[10]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[11]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[13]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[14]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[15]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[41]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[43]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[44]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[46]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[47]
tag CLBLM_L.SLICEM_X0.ALUT.INIT[63]
tag INT_L.IMUX_L1.EE2END0
tag INT_L.IMUX_L11.EL1END1
tag INT_L.IMUX_L2.EE2END1
tag INT_L.IMUX_L4.EE2END2
tag INT_L.IMUX_L7.EE2END3
tag INT_L.IMUX_L8.EL1END0
tag INT_L.WW2BEG0.LOGIC_OUTS_L12

View File

@ -0,0 +1,44 @@
import segprint2fasm
import unittest
import StringIO
import re
class TestStringMethods(unittest.TestCase):
def check_segprint_fasm_equiv(self, segp_fn, fasm_fn):
fout = StringIO.StringIO()
segprint2fasm.run(open(segp_fn, 'r'), fout)
fasm_out = fout.getvalue()
fasm_ref = open(fasm_fn, 'r').read()
def normalize(fasm):
'''Remove all comments and sort'''
ret = []
for l in fasm.split('\n'):
# Remove comments
i = l.rfind('#')
if i >= 0:
l = l[0:i]
l = l.strip()
if not l:
continue
ret.append(l)
return sorted(ret)
fasm_out = normalize(fasm_out)
fasm_ref = normalize(fasm_ref)
self.assertEquals(fasm_ref, fasm_out)
def test_lut_int(self):
self.check_segprint_fasm_equiv(
'test_data/clb_lut/design.segp', 'test_data/lut_int.fasm')
def test_ff_int(self):
self.check_segprint_fasm_equiv(
'test_data/clb_ff/design.segp', 'test_data/ff_int.fasm')
if __name__ == '__main__':
unittest.main()