Commit graph

106 commits

Author SHA1 Message Date
terasa
16509299c8 l3.tex: Fix TRIM description.
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@7294 bc5caf13-1734-44f8-af43-603852e9ee25
2019-02-20 11:23:14 +00:00
stephan
4b48f77585 l3 doc: LOG formula with rounding offset
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5980 bc5caf13-1734-44f8-af43-603852e9ee25
2017-03-23 13:31:25 +00:00
stephan
2c13906082 l3.py l3.tex:
disallow ',' as separator for ADDI, ADD, SUB, HIST.
	allow only matching operator with ADD and SUB
	fix unary operators, allow unary +
	documentation fixes 


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5296 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 20:19:48 +00:00
stephan
c5c178f93b l3.tex:
fix garbled CMP parser syntax
	add caveat to ADD/SUB/HIST
	order '<<'| '>>'


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5295 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 19:21:19 +00:00
stephan
4ad3aceec2 l3.tex:
add formal syntax rules to all intructions
	add syntax rules for expressions
	explain register type expressions
	$functions
	explain """ python comments
	.name, .version
	.if etc.
	.print substitutions


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5293 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-18 17:18:35 +00:00
stephan
5a81259575 l3 doc: fix CMP u_8 bitfield size
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4986 bc5caf13-1734-44f8-af43-603852e9ee25
2016-03-14 15:53:07 +00:00
stephan
f835e47c22 l3: pipeline bug fixes
The secondary L3 trigger instruction pipeline could overflow.
	The ififo now pretends to be empty towards the rfifo, if it cannot 
	push another instruction from the primary to the secondary
	instruction fifo.

	A POKE target was delivered as eaddr bound for the rfifo to evaluate
	if a register read must wait.  This could cause the rfifo to read
	a register before it was saved.  The eaddr is now delivered with an extra
	port from the dpath, and always reflects the instruction address, not 
	the target address.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4221 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-19 03:28:25 +00:00
stephan
1a3e7ab307 l3 trim: fix for 9-bit input
The TRIM instruction did not work properly with input data 
	values between 256 and ul.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4220 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-19 03:20:52 +00:00
stephan
f0a4043c0b l3: avoid eewait states when ncond
The level 3 trigger was waiting for the completion of slow
	instructions even when their condition was not met.
	This patch prevents extra wait states when the conditional
	if false.  The miniumum execution time is 2 mclk.  This minimum
	is now applied to all instructions which are not executed.
	MULI takes 4 mclk when executed
	ADD, SUB, LOG take 3 mclk when executed.
	Everything else takes 2 mclk.
	GOTO takes about 11 mclk when executed, it involves a reset
	of the processor, with a pipeline flush.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4219 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-18 20:59:27 +00:00
stephan
462d33dd41 l3: revert premature patch in the last commit
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4218 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-18 20:50:14 +00:00
stephan
37a2275909 l3test: simulate one STEP event
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4217 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-18 20:46:38 +00:00
stephan
a20f15a962 verilog: fix a few nonblocking assignment s
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3969 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-17 23:58:36 +00:00
stephan
2b20dc1882 l3/adder: rewrite, to see if the Aldec worst path can be optimized
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3889 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-03 22:28:52 +00:00
stephan
f984d6488a l3: remove .el file from verilog dir
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3738 bc5caf13-1734-44f8-af43-603852e9ee25
2015-01-30 08:38:54 +00:00
stephan
536d647638 l3: revert part of -c 3723: leave verilog files where they were
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3735 bc5caf13-1734-44f8-af43-603852e9ee25
2015-01-30 08:35:57 +00:00
stephan
68cb50cc01 python: move l3
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3723 bc5caf13-1734-44f8-af43-603852e9ee25
2015-01-29 16:17:00 +00:00
stephan
cdbeee9844 l3: fix the "BITc ~R[x]{n}" bug.
The l3 trigger instructions BITC and BITS did not perform
	the inversion of a bit extracted from a register.  In fact,
	the bit was inverted twice.  This patch removes one of the
	inversions.

	Only the form BITx ~R[x]{n} is affected, i.e., extraction
	from a register with inversion.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3670 bc5caf13-1734-44f8-af43-603852e9ee25
2015-01-12 17:23:12 +00:00
terasa
c79752f7b7 l3pipe.py: Removed pipe subdirectory and moved contents to l3 directory.
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3638 bc5caf13-1734-44f8-af43-603852e9ee25
2015-01-08 09:16:14 +00:00
stephan
bfc070a8a3 l3sim: enforce numbers in regs[] to be 29 bits
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3485 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-13 15:01:56 +00:00
stephan
1de66d7b5a l3sim: add sign extension to x arg of ADDI
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3484 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-13 14:43:48 +00:00
stephan
f948f6a03c l3: test ept.l3 with real data
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@2974 bc5caf13-1734-44f8-af43-603852e9ee25
2014-06-01 22:42:45 +00:00
stephan
78944d7184 L3 mode: boilerplate
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@2293 bc5caf13-1734-44f8-af43-603852e9ee25
2013-11-10 18:29:24 +00:00
stephan
fa36807966 L3: emacs mode for editing L3 code, derived from asm-mode.el
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@2292 bc5caf13-1734-44f8-af43-603852e9ee25
2013-11-10 18:26:54 +00:00
stephan
43622c3a66 L3: emacs mode for editing L3 code, this is asm-mode.el
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@2291 bc5caf13-1734-44f8-af43-603852e9ee25
2013-11-10 18:26:22 +00:00
stephan
0cfa3a6200 L3: remove old cruft
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@2120 bc5caf13-1734-44f8-af43-603852e9ee25
2013-09-06 12:21:46 +00:00
stephan
0c54d39dc7 retire TODO
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@2021 bc5caf13-1734-44f8-af43-603852e9ee25
2013-08-20 10:25:47 +00:00
stephan
28faa9566e l3 and pha now parse sparse frontend packets
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@2003 bc5caf13-1734-44f8-af43-603852e9ee25
2013-08-17 13:29:37 +00:00
stephan
c159a43f47 remove ewait for NOP, avoid double rfile write
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1916 bc5caf13-1734-44f8-af43-603852e9ee25
2013-07-11 13:42:16 +00:00
stephan
ffdb7fd9d5 remove old files, sorry Martin
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1872 bc5caf13-1734-44f8-af43-603852e9ee25
2013-07-04 12:50:27 +00:00
stephan
e37d1f2ca5 fix implicit warning
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1871 bc5caf13-1734-44f8-af43-603852e9ee25
2013-07-04 12:46:45 +00:00
stephan
5fd35c91d1 add python output format to l3.py
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1854 bc5caf13-1734-44f8-af43-603852e9ee25
2013-07-03 14:46:14 +00:00
stephan
0c7330985f rename mult4 to avoid clash with altera megafunction name
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1775 bc5caf13-1734-44f8-af43-603852e9ee25
2013-06-19 08:03:35 +00:00
stephan
6138b8b3d7 bring code and documentation into better agreement
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1741 bc5caf13-1734-44f8-af43-603852e9ee25
2013-06-11 09:43:32 +00:00
stephan
5f2c4e02d5 renumber the condition bits
00: unconditional
 01: S
 10: ~C
 11: C
opcode zero is now an unconditional STOP


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1712 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-27 20:10:21 +00:00
stephan
9400298cf5 sim fix new opcode bits
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1682 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-17 06:02:40 +00:00
stephan
4edc7e3eba minor fixes
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1679 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-14 14:31:02 +00:00
stephan
a2247e1493 complete
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1678 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-13 22:40:03 +00:00
stephan
90e206ce6f A good part of the L3 instruction manual
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1677 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-13 16:57:56 +00:00
stephan
94ab54dddd don't change forwardfile if no changes were detected
use l3dis() for verbose>=3


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1669 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-13 08:08:23 +00:00
stephan
b1685bd809 fix default format
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1668 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-13 07:47:42 +00:00
stephan
9b1b49a3a5 avoid emacs hassles
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1667 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-13 07:46:38 +00:00
stephan
849f012ed0 support float symbols in l3.py
add calibration factors to ept_calib.l3


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1665 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 22:48:04 +00:00
stephan
4abba6f428 add POKE
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1664 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 22:14:46 +00:00
stephan
a972425e13 opcode[3] assigned for Rx/Ry codes
NOP added


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1660 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 20:44:12 +00:00
stephan
cdbd38deb0 make negative shift more robust
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1659 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 20:42:06 +00:00
stephan
94eb285d1a properly treat negative input
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1658 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 20:34:23 +00:00
stephan
a213da272a l3 disassembler ans simulator
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1657 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 20:30:16 +00:00
stephan
2e48f53954 change trim semantics trim=max(min(opA,obB),opB+opC)-opB
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1656 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 10:45:36 +00:00
stephan
f235a429fc fix sign extension for right shifts
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1655 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 10:44:12 +00:00
stephan
6f3723a069 .print
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@1654 bc5caf13-1734-44f8-af43-603852e9ee25
2013-05-11 10:43:11 +00:00