Commit graph

754 commits

Author SHA1 Message Date
stephan
d443aa949c evgen: fix HET channels
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4426 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-28 20:05:52 +00:00
stephan
93e1933abd evgen: fix EPT channels
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4425 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-28 19:52:50 +00:00
stephan
305f0d6452 memwindow: fix valid
We were loosing data items in the science packets.
	The go_wim and go_enc counters differed, there were go_enc missing.
	Hypothesis: win_sum_valid were dropped under memory bus load.
	Code review: a memport val shall never be qualified by conditions
	unless you can make absolutely sure you get exactly all the val you need.
	This patch reimplements memwindow.valid and memwindow.busy
	so that we always get a valid after a go, and the busy is long enough
	to prevent the dps to gobble up a window to fast.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4421 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-28 14:26:09 +00:00
stephan
a31fe7187d backend: add win_sum_valid to contr bank 0x30
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4420 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-28 14:20:13 +00:00
stephan
4b67b5409c sirena: no fe_cntr port on the backend
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4418 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-28 13:26:15 +00:00
stephan
adc4ca4ba0 tfifo: add counters
use the spare bank 0x30 counter for dps and tfifo events


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4405 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-25 21:48:50 +00:00
stephan
9d0837b54a backend: remove port fe_cntr
The user of this port have been moved to spare cntrs to bank 0x40.
	Debug counters in step_core where removed.
	TODO: sirena


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4402 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-24 18:03:50 +00:00
stephan
eeb54d0bfb ppsschedule: comment typo
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4400 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-24 13:06:56 +00:00
stephan
775c2be501 sirena: new RBF
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4372 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-15 08:40:25 +00:00
stephan
ce211e9380 l3registerfile: add .clear command
This command clears all registers to zero.

	The register prefetch pipeline will fetch uninitialized
	registers which cause repeated EDAC errors. 

	We may do away with the Z register @R[0].  Z=0xdf instead?


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4355 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-12 20:44:57 +00:00
stephan
252a89966c counters: fix timing of SEU error counting
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4349 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-11 13:51:08 +00:00
stephan
0ae9608aca log2by8: add comments for decoding hints
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4348 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-11 13:49:53 +00:00
stephan
c473b55d98 sirena: bitfile with msg counter
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4315 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-28 20:06:32 +00:00
stephan
f0ba907f4f sirena: display message count, untested
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4313 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-28 19:48:12 +00:00
stephan
827868df38 hetept: v09
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4310 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-27 21:21:44 +00:00
stephan
5c55c27dba sirena: new bitfile
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4309 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-27 20:37:46 +00:00
stephan
28137dad17 l3test: add EPT events
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4299 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-26 21:29:04 +00:00
stephan
f4e41b0d05 compression: speed up compression when some data is zero
Do not wait for the encoder when a zero is added to the input.



git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4298 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-26 21:27:45 +00:00
stephan
46d12f374c compression: change how the running difference is suppressed for low count rates
For small count rates it does not make sense to compute
	running differences, and that would lead to oszillations.
	This patch simplifies the concept how this is handled.

	When the number of counts, as reconstructed by the reciever, is less
	or equal 8, then the next number will be sent as is, not as a 
	running difference.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4297 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-26 21:25:41 +00:00
stephan
e70794c768 encschedule: gold for old low rate algorithm
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4293 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-26 19:37:15 +00:00
stephan
998eea0827 Makefile for encschedule testjig
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4291 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-26 12:47:05 +00:00
stephan
bd4a25cbe0 ppsschedule: add verilog testjig for encschedule
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4290 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-26 12:45:26 +00:00
stephan
80227e8f56 l3test: gtkw
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4274 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-23 13:32:31 +00:00
stephan
ac76f4894d l3test: typo fix in `ifdef
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4253 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-20 16:29:51 +00:00
stephan
5cc55b4cf7 sirena: RBF with L3 pipeline fixes
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4240 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-19 18:32:46 +00:00
stephan
a559f9367a sirena: gold
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4232 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-19 09:59:36 +00:00
stephan
77e035eee2 step.l3: L3 trigger code for STEP
Make better use of conditional execution.
	Use TRIM for histogram bounds
	Do not combine Ix1 and Ix2 code.
	Implement multiplicity histograms.
	Distribute PHA records by energy.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4222 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-19 03:34:56 +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
206a69ecb9 sirena: add por
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4156 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-13 07:51:51 +00:00
stephan
3d67afe02c fpgas: add module por: Power On Reset
por is treated as abort
	por resets the opheater

	There is a 1 in 256 chance that the por will not happen
	if registers initialize randomly at power on.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4152 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-12 19:47:48 +00:00
stephan
624ea59ff8 sirena: update RBF and HKTABLE
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4129 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-10 13:26:02 +00:00
stephan
f571c941a8 ppsmodulus: fix modcount reset
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4102 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-07 14:59:53 +00:00
stephan
2d996cc29d log2by8: simulation testjig
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4098 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-07 12:25:03 +00:00
stephan
7b9be8055f sologse: EMITEST config
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4096 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-07 11:04:13 +00:00
stephan
fad5fe2c18 hetept_config: integrate dps, l3 for EPT
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4086 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-31 11:55:51 +00:00
stephan
a829b137c2 sirena: comment fix
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4057 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-27 09:35:59 +00:00
stephan
919e873cc6 sirena: with eeprom in RAM
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4030 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-24 23:33:54 +00:00
stephan
812bab8a21 backend...:
Reorganization of reset/abort/atbrk.
	Argument size warnings.
	Preparation for iverilog 0.10 (git)

	Icarus verilog version 0.10 issues warnings for unsized (0)
	connected to single ports.  These were fixed.

	Version 0.10 (git of today) does time 0 initializations
	differently.  The tfifo used to get reset a time 0, not any 
	more.  A simple reset issued to message() did not succeed, 
	because undefined state from the tfifo trickles through the tport
	chain, to set the message module back to undefined.  This was
	fixed by wireing abort into tports.

	errors[4] = atbrk is fixed.  It was always triggering itself 
	via strobes[0].  Now it really just triggers by the atbrk
	sequence.

	Gold for step, flyrena, heteptdig.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3978 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-18 19:41:12 +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
b2922724c0 counters:
When a counter input is stuck high, there will be a deadlock
	of the complete memory readback machive as soon as a readback
	of that counter memory was started.

	Wire up the abort to be able to clear this deadlock.

	Todo:	consider a timeout.
	Todo:	consider sending an abort to the counter memory when 
		any memory readback is started.
	


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3958 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-16 21:08:54 +00:00
stephan
47d7a85fa2 flyrena: add EEPROM, meminteeprom
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3947 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-16 07:13:22 +00:00
wetzel
bd2805c54a icu-message.txt: added ADDR for test pule
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3915 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-10 10:26:12 +00:00
stephan
c8d0664286 step: move pha stuff into stein_pha.v
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3913 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-09 20:10:13 +00:00
stephan
371a785bd2 EEPROM, TxE:
wire TxE to ~confs[5:4], invert EEPROM_nRES
	Both LDVS drivers and the EEPROM are enabled when confs==0.
	Now we can disable the unused LVDS driver. 


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3904 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-06 14:58:37 +00:00
stephan
bad25223a1 msg_regs: improve sim startup, issue wait at ack through R=1 ports
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3902 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-05 15:11:51 +00:00
stephan
3dab44c402 msg_regs: revert -c 3869
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3900 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-05 13:45:27 +00:00