Commit graph

166 commits

Author SHA1 Message Date
stephan
0b415890bb heteptdig gold
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@6635 bc5caf13-1734-44f8-af43-603852e9ee25
2018-02-23 23:28:15 +00:00
stephan
55b67fd076 merge C'E4 tuning into trunc
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5958 bc5caf13-1734-44f8-af43-603852e9ee25
2017-03-17 20:56:45 +00:00
stephan
5f13437017 C'E4 ana,dig/v01: merge periphery fixes into trunc
MM   altera/actel/actel.v
   MM   change4/altera/ce4ana.v
   R  + flyrena/altera/ce4dig.v
   MM   hetept/altera/heteptana.v

   Merged /solo/eda/change4/dig/v01/altera/actel/actel.v:r5814,5837
   Merged /solo/eda/change4/ana/v01/ce4ana.v:r5845-5846
   Reverse-merged /solo/eda/heteptdig/em/v01/heteptdig.v:r2217
   Reverse-merged /solo/eda/heteptdig/em/v03/heteptdig.v:r2651
   Reverse-merged /solo/eda/heteptdig/em/v04/heteptdig.v:r2703
   Reverse-merged /solo/eda/heteptdig/em/v05/heteptdig.v:r3330-3350,3357,3361,3367-3368
   Reverse-merged /solo/eda/heteptdig/em/v06/heteptdig.v:r3540,3604
   Reverse-merged /solo/eda/heteptdig/em/v08/heteptdig.v:r3885
   Merged /solo/eda/flyrena/altera/heteptdig.v:r2125,2204,2207,2212,2219,2319-2323,2408,2563,2591,3009,3186,3355,3378,3380,3390,3507,3549,3875,3904,3956,3978,4029,4355
   Merged /solo/eda/change4/ana/v01/heteptana.v:r5832



git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5942 bc5caf13-1734-44f8-af43-603852e9ee25
2017-03-15 13:03:28 +00:00
stephan
b04ac346b2 heteptdig: new gold for message refactor and testjig rework
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5672 bc5caf13-1734-44f8-af43-603852e9ee25
2016-11-25 09:35:51 +00:00
stephan
470a953270 heteptdig: old gold
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5663 bc5caf13-1734-44f8-af43-603852e9ee25
2016-11-23 22:09:52 +00:00
stephan
0f8e1fb9eb C'E4 ana/dig simulation
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5480 bc5caf13-1734-44f8-af43-603852e9ee25
2016-10-04 19:19:08 +00:00
stephan
ac7c26744b heteptdig: gold
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5479 bc5caf13-1734-44f8-af43-603852e9ee25
2016-10-04 08:35:25 +00:00
stephan
43ea1423d6 flyrena: fix IO_STANDARD assinment
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5321 bc5caf13-1734-44f8-af43-603852e9ee25
2016-07-25 12:06:38 +00:00
stephan
e045bd7807 l3dump/backend: exec
Increase memory dump size counter to 16-bit.
	Add output exec to l3dump, signaling reads when msg_da[48] was set.
	Add backend output exec, exec_da[7:0] for EERPOM reads.

	TODO: implement a message generator. Read 12 bytes per message, that is 
	enough delay between messages.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@5175 bc5caf13-1734-44f8-af43-603852e9ee25
2016-06-13 18:49:31 +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
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
6da2d3af54 heteptdig: gold
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4350 bc5caf13-1734-44f8-af43-603852e9ee25
2015-05-11 20:03:41 +00:00
stephan
de558e6528 heteptdig: gold w/ L3 sim output
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4237 bc5caf13-1734-44f8-af43-603852e9ee25
2015-04-19 14:09:12 +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
18edaa23ed heteptdig sim: iniz scratch
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@4029 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-24 23:33:35 +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
e9b897168e flyrena: sim eeprom
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3956 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-16 19:46:38 +00:00
stephan
22d7c4727e flyrena: add EEPROM
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3946 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-16 07:12:36 +00:00
stephan
71af29c2d6 flyrena: new Altera bitfiles
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3939 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-13 11:16:42 +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
a0e2942090 hetept: merge -c 3885 from em/v08: synthesis warnings
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3888 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-03 20:39:30 +00:00
stephan
c9b1ff4bcd heteptdig: sim new registers
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3875 bc5caf13-1734-44f8-af43-603852e9ee25
2015-03-02 07:13:32 +00:00
stephan
10f13cd152 heteptdig: gold update, pre reg readout reorg
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3872 bc5caf13-1734-44f8-af43-603852e9ee25
2015-02-28 11:38:31 +00:00
stephan
e5ffb299ce heteptdig: v08 gold
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3816 bc5caf13-1734-44f8-af43-603852e9ee25
2015-02-18 16:20:14 +00:00
stephan
0ea1680ef0 eeprom_page: fix write cycle time bug
The flight EEPROM requires at least 750ns between nWE pulses.  
	The memory driver gives 80ns.  The consequence is that we were
	not able to write to the HET/EPT PQM EEPROM.

	This change add delays in the eeprom_page engine to ensure sufficient 
	time between write cycles.  

	A write is started after two uticks passed.  That yields 2µs per byte
	under non-contetsted memory bus conditions.  This also provides lower
	priority access slots during an EEPROM page write.

	The maximum time between write cycles must be no more than 30µs, 
	else the EEPROM will start commiting the page to persistent 
	flash cells.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3805 bc5caf13-1734-44f8-af43-603852e9ee25
2015-02-17 22:45:58 +00:00
stephan
2a34ad55f1 heteptdig: merge em/v06 synth fixes into trunc
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3759 bc5caf13-1734-44f8-af43-603852e9ee25
2015-02-05 21:02:38 +00:00
stephan
9774c2bef7 heteptcore: count tf_lost
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3739 bc5caf13-1734-44f8-af43-603852e9ee25
2015-01-30 11:48:53 +00:00
stephan
667bc29959 pha:
Use only one RAM block for pha_acc_mem.
	The SUE of the removed RAM block causes different PRNG sequences 
	for the analog input data.
	Also: pass -v to vvp.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3593 bc5caf13-1734-44f8-af43-603852e9ee25
2014-12-07 19:25:37 +00:00
stephan
bf99b86424 pha:
Use separate memory in pha_acc_mem for tcnt and wptr.
	This allows for 24 bit tcnt without an extra RAM block.
	The extra RAM block is still there, not to mess up the PRNG.
	The next commit will have the extra RAM removed and a 
	new gold file.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3592 bc5caf13-1734-44f8-af43-603852e9ee25
2014-12-07 15:47:13 +00:00
stephan
8c7c6b2e81 heteptdig: add actel.v lib to Makefile
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3585 bc5caf13-1734-44f8-af43-603852e9ee25
2014-12-04 16:09:43 +00:00
stephan
70b9cc32d7 heteptdig: gold with initials
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3559 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-27 22:58:34 +00:00
stephan
61f41d810b pha:
New reset: e_reset = strobes[6]
	Restore orthogonal meanings to
		e_enable, l3_enable, pha_enable.
	Do not clear events at ~e_enable.  Events will be processed
	when ~e_enable.  Do not clear events at ~l3_enable.  Events can
	be stored without processing them immediately.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3554 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-27 11:27:51 +00:00
stephan
ec2c4209aa heteptdig: all new gold, the extra RAM unsettled the PRNG
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3553 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-26 16:29:01 +00:00
stephan
d6355a7d14 heteptdig: more enables reassignment sim fixes
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3549 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-26 13:07:02 +00:00
stephan
4180cdc3aa heteptdig: reduce SEU_RATE to avoid double bit errors in the PPSS
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3546 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-26 12:55:43 +00:00
stephan
dc5592f40b merge -c 3540: fallout from enables reassignment
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3541 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-25 12:25:48 +00:00
stephan
b08668b407 backend:
Provide a confs port all the way to the toplevel.
	Use confs[7] to drive EEPROM_nRES.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3507 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-20 13:46:08 +00:00
stephan
489b7ad48e heteptana hkadc:
A change in module aschedule for STEP broke heteptana hkadc.
	The change suppressed din1 and doute strobes when the ADC is not active.
	This had two effects:
	 1. The hkadc state machine would hang at startup.
	 2. The state machine would not terminate reading the sequence.
	This was fixed by driving the state from mtick, and fix the resulting
	timing shifts.  The result is a more robust design of the hkadc module.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3505 bc5caf13-1734-44f8-af43-603852e9ee25
2014-11-20 13:42:59 +00:00
stephan
c7b654f949 heteptana: add verilog config macro NO_BCHANNEL
When this macro is defined, the B-channel data from the filter
	is ignored, and zeros used instead.  The effect is that close to 
	half the logic will optimize out.  Let's try.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3392 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-27 07:44:03 +00:00
stephan
e8d94a979c hetept:
Remove `ifdef TARGET_ACTEL from FPGA toplevel modules.
	Provide models for the Actel buffers in use.
	This version now properly models the interconnection
	of the FPGAs.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3390 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-26 21:29:33 +00:00
stephan
1d684d1c7d heteptdig: merge -c 3367,3368 from dig/em/v05
Add unused pins as outputs driven low.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3389 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-26 14:08:31 +00:00
stephan
04f4f82fcc heteptdig: merge -c 3361 from dig/em/v05
Add ARxDD register in the IO-pad. 
	Add a mergable register in sermerge, to share with 
	the deserializer, just in case.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3388 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-26 14:02:18 +00:00
stephan
dfa21db131 heteptdig: merge -c 3367 from dig/em/v05
Add a 8-bit port to feed status bits to the status register
	all the way from the toplevel, 
	and used one bit for EEPROM_BUSY.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3387 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-26 13:51:18 +00:00
stephan
9d31183ea8 heteptdig: lock timestamps to ms, add eeprom write/read
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3380 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-24 22:26:18 +00:00
stephan
996c3d9ca9 heteptdig:
simulate DPS config that actually finds some EPT hits.


git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3378 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-24 18:54:08 +00:00
stephan
67c36ffdfb heteptdig: gtkw for mem16ee
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3356 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-23 13:30:07 +00:00
stephan
a355a14e97 memport: fully pad-registered IO in memasync16ee24
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3355 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-22 23:15:28 +00:00
stephan
b4c6f30cf9 heteptdig: merge -c 2651 MEM16EE sim fix into trunc
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3354 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-22 21:06:07 +00:00
stephan
a3040ddcf3 heteptdig em/v05: merge more IO timing adjustments back into the trunc.
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3351 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-22 19:45:53 +00:00
stephan
0ba0b3a05a heteptana: v05 gold
git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda@3339 bc5caf13-1734-44f8-af43-603852e9ee25
2014-10-22 05:58:57 +00:00