Sample file for the 20RA10 Use with the SMS PLDASM version 3.0e or later this implements an asynchronous counter, with additional outputs to test inversion and combinatorial logic Device 20ra10 pin1 = 1 pin2 = 2 ' count enable when low pin3 = 3 ' counter clock pin4 = 4 ' active high reset pin5 = 5 ' output enable for pin 23 pin6 = 6 pin7 = 7 pin8 = 8 pin9 = 9 pin10 = 10 pin11 = 11 pin13 = 13 pin14 = 14 pin15 = 15 pin16 = 16 pin17 = 17 pin18 = 18 pin19 = 19 pin20 = 20 pin21 = 21 pin22 = 22 /pin23 = 23 start /pin23 /:= /pin2 * /pin23; ' this bit only toggles /pin23.clk = pin3; ' output clock /pin23.set = pin4; ' set function /pin23.ena = pin5; ' output enable pin22 := /pin2 * /pin22 ' bit 0 of counter, toggle + pin2 * pin22; ' hold pin22.clk = pin3; ' output enable set on by PLDASM pin22.rst = pin4 ; pin21 := /pin21; pin21.clk = /pin22; ' ripple counter pin21.rst = pin4 ; pin20 := /pin20; pin20.clk = /pin21; pin20.rst = pin4 ; pin19 := /pin19; pin19.clk = /pin20; pin19.rst = pin4 ; pin18 := /pin18; pin18.clk = /pin19; pin18.rst = pin4 ; pin17 := /pin17; pin17.clk = /pin18; pin17.rst = pin4 ; pin16 := /pin16; pin16.clk = /pin17; pin16.rst = pin4 ; pin15 := /pin15; ' bit 8 of counter pin15.clk = /pin16; pin15.rst = pin4 ; pin14 /= pin20 * pin22; ' low if these two pins are high ' combinatorial controls set by PLDASM end