1
0
mirror of https://github.com/KastnerRG/riffa.git synced 2024-12-24 22:58:54 +08:00

109 Commits

Author SHA1 Message Date
Dustin Richmond
2a832ffe4e Fixed a bug in the TX Alignment Pipeline where two EOFs in a cycle from the Data
Fifo would cause corruption in subsequent transfers.
2016-02-02 17:14:29 -08:00
Dustin Richmond
4da00b7d84 Merge branch 'linux-safelock' of git://github.com/marzoul/riffa into marzoul-linux-safelock 2016-01-28 09:46:29 -08:00
Dustin Richmond
ce83bdefe1 Adding updated bit files and project files 2016-01-27 10:39:17 -08:00
Dustin Richmond
ceb60c92f9 Adding source search path in C4 Development board example design 2016-01-27 10:16:50 -08:00
Dustin Richmond
0fb6908dd3 Updating copyright statements with correct file names 2016-01-27 10:12:17 -08:00
Dustin Richmond
e60f64efe2 Adding additional commands to base Makefile 2016-01-26 11:31:06 -08:00
Dustin Richmond
fee2c60a6b updating project files, upgrading IP, and removing project errors 2016-01-26 11:30:02 -08:00
Dustin Richmond
ad101929f2 Updating board.mk makefiles to clean and reset xilinx projects 2016-01-26 11:15:21 -08:00
Dustin Richmond
83ebefe37e Removing unnecessary file from riffa.mk 2016-01-26 11:14:34 -08:00
Dustin Richmond
025d2a424c Correcting all C_NUM_CHNL parameters to 1 (for testing) 2016-01-25 16:51:19 -08:00
Dustin Richmond
cd204136c6 Further updates to hierarchical makefiles. 2016-01-25 16:37:33 -08:00
Dustin Richmond
680260b3f7 Adding copyright statments 2016-01-20 18:13:06 -08:00
Dustin Richmond
ad496b4c94 Mega-commit (which I usually like to avoid, but this one didn't really come cleanly)
The majority of this work can be summarized as: Makefiles have been added to
generate all of the boards, boards for each vendor, board, and projects for each
board.

To make things cleaner I renamed a few of the Xilinx projects, and may rename
the latera projects for consistency.

I removed the de5_qsys directory, and moved all projects into the de5 directory,
but those projects have a Q between DE5 and the PCIe specifications, ie
DE5QGen... (haven't updated the documentation)

Added c4dev board (untested)

Apologies to those of you who recently switched onto the DEVEL branch.
2016-01-20 17:46:39 -08:00
Dustin Richmond
c209dac5d3 Fixing a small bug in the tx_port_buffer related to xilinx synthesis in Xilinx
2015 versions.
2016-01-15 15:34:33 -08:00
Adrien Prost-Boucle
9f791acfea Linux driver: Protect recv and send with atomic test and set instead of lock to enable clear at reset 2016-01-06 17:34:41 +01:00
Adrien Prost-Boucle
3775133808 Use appropriate ioctl return codes 2015-12-14 15:16:29 +01:00
Adrien Prost-Boucle
4369d5b6ef Linux driver: Protect recv and send from conflicting simultaneous access 2015-10-23 14:34:00 +02:00
Dustin Richmond
7b1d9b2dfd Merge branch 'master' into devel/RIFFA/2.2.1 2015-09-14 09:53:57 -07:00
Dustin Richmond
9e4c9241a1 Updating ultrascale projects, and riffa documentation
The riffa documentation said that the 7-series core lacked Gen2x8 support. This
is incorrect.
2015-09-01 08:55:00 -07:00
Dustin Richmond
c9a68ddd7a Updating ML605 files 2015-09-01 08:48:41 -07:00
Dustin Richmond
78a7130dec Fixed the Virtex-7 documentation.
Stated that Gen2 x8 was not available. That is incorrect
2015-08-28 09:44:56 -07:00
Dustin Richmond
3d3f866649 Fixing a bug in the RXR engines/RXC Engines that seems to only affect DE4 Gen2
devices.

On IP Compiler devices, it is apparently possible to have valid drop
mid-packet. This condition is now checked, and has been tested (though new bit
files have not be uploaded)
2015-08-26 16:14:40 -07:00
Dustin Richmond
d6c5115c10 Cleaning up more reset logic (no real changes) 2015-08-26 16:11:33 -07:00
Dustin Richmond
ad83ed811c To reduce confusion, renaming riffa.tex and riffa.pdf 2015-08-26 07:37:39 -07:00
Dustin Richmond
918665aff2 Adding BSD 3-Clause licenses to files that were missing it. 2015-08-26 07:33:40 -07:00
Dustin Richmond
d2cb526218 Adding updated AC701 bit files 2015-08-13 08:37:35 -07:00
Dustin Richmond
bfa63eb3ad Fixed a naming issue in the AC701 wrapper file.
tx_tlp_ready was named wTxTlpReady
2015-08-13 08:03:27 -07:00
Dustin Richmond
2f13ce9adc Adding missing ac701 riffa wrapper file. 2015-08-13 08:01:01 -07:00
Dustin Richmond
c420b76c16 Finishing reset logic and testing/implementing across a wide swath of boards.
Changes are mostly in the RX logic, where RST_IN was still used, though some new
logic (reset_extender) was added to riffa.v. Updated projects for: VC709, VC707,
ZC706 (partial), NetFPGA, ADM-7V3, ML605 (Still not working), AC701 (Untested)
and KC705 (Untested)
2015-08-12 16:16:27 -07:00
Dustin Richmond
9d7543a5ff Adding DE2 project files (only slightly tested) 2015-08-11 16:47:13 -07:00
Dustin Richmond
f836029e8d Adding a few changes the the ML605 project.
Forgot to specify development board in the ip block, also commented out a ucf
file line.
2015-08-11 15:34:35 -07:00
Dustin Richmond
47530ee0cf Adding AC701 projects for RIFFA 2.2.1.
Also fixed a small bug in the KC705 riffa wrapper, and KC705 boards
2015-08-11 15:33:49 -07:00
Dustin Richmond
e13b825fa1 Adding VERY PRELIMINARY ML605 development board files. 2015-07-31 15:29:00 -07:00
Dustin Richmond
f0efc47981 Adding preliminary VCU108 and KCU105 projects.
Also fixed a warning in the riffa.v file where a /* was in a comment
2015-07-31 15:19:52 -07:00
Dustin Richmond
f96391061e Updating 7V3 board for bug fixes, and adding preliminary support for new boards.
Added and tested the 7V3 and NetFPGA board projects. Added the KC705 board (Gen1
and Gen2, but haven't tested them)
2015-07-30 15:45:13 -07:00
Dustin Richmond
ff9d11d2c1 Fixed two bugs, one in riffa.v, one in tx_data_fifo.v
In riffa.v, the interrupt module was getting data from the TXC_DATA, which didn't match the assertion of the ready signal from the registers module. Changed to _wTxcData.

In tx_data_fifo.v, changed the DATA_READY signal to connect to the fifo instead of the packet counter.

In the tx_engine, removed the curious case of the +1 in the data fifo packet depth
2015-07-30 13:35:48 -07:00
Dustin Richmond
dc93333b9c Fixing a bug in the tx_data_fifo where the data fifo was not large enough.
The error occured when calculating the actual header fifo depth,
C_ACTUAL_FIFO_DEPTH. This was initially clog2(C_FIFO_DEPTH), but should have
been 1<<clog2(C_FIFO_DEPTH).
2015-07-29 08:33:11 -07:00
Dustin Richmond
d0e4df9737 Adding the Gen2 and Gen3 projects for the ADM 7V3 board 2015-07-29 08:32:44 -07:00
Dustin Richmond
5058a758fc Adding timing improvements to tx_alignment pipeline.
This does not fix the user bug, which occurs in the 64-bit interface. I suspect
this is a data under-read/over-read error in the data fifo but I have yet to
confirm it.
2015-07-27 19:26:55 -07:00
Dustin Richmond
e11eb70853 Adding AlphaData 7V3 project for user.
Does not meet timing, may have potential bug in TX Engine Logic
2015-07-27 11:20:38 -07:00
Dustin Richmond
1254f44441 Adding graceful reset logic to the RIFFA core. 2015-07-27 10:31:16 -07:00
Dustin Richmond
924d52e6ab Finalized reset logic in the classic engines (see previous commit) 2015-07-23 09:56:44 -07:00
Dustin Richmond
31b82c1777 Adding graceful reset logic to the Ultrascale TX Engines
The graceful reset logic splits the RST_IN port into the RST_BUS and RST_LOGIC
ports. The RST_BUS port is for when the entire PCIe (or whatever) bus is
undergoing reset and the RIFFA logic should not worry about corrupting any state
by terminating a packet early (causing a malformed packet). RST_LOGIC is for logic resets, where PCIe state is not affected and may be corrupted by a malformed packet.
2015-07-22 17:29:35 -07:00
Dustin Richmond
505c72d16f Adding new reset_controller.v file.
The reset_controller module will safely reset a single stage pipeline without
using an asychronous reset (bleh). It is intended for use in the TX engines,
where it will control the output stage of the engine, and provide a gracefull
end-of-packet reset.
2015-07-22 17:25:09 -07:00
Dustin Richmond
e2f3abe01b Fixed a bug in RIFFA 2.2 for the Classic Xilinx 128-bit interface.
Bug caused received 128-bit Request Headers without payload to signal data word valid one cycle early. May not be a final fix. Unlikely to affect current users.
2015-07-21 15:46:36 -07:00
Dustin Richmond
5be7627910 Added a S_AXIS_**_TREADY Check on the reset logic in the ultrascale engines. 2015-07-17 16:54:06 -07:00
Dustin Richmond
ad90d61584 Finished wiring reset logic in the Engine Layer (untested)
Expanded DONE_RST into four signals, for each of the four engine interfaces. In
the ultrascale engines, wired up all of the RST and DONE_RST signals. Quickly tested the logic in a power-on-reset like situation, no guarantees on graceful in-transmission resets. Classic engines will have to wait.
2015-07-16 16:26:05 -07:00
Dustin Richmond
5ee3747243 Replaced RST_IN with RST_BUS and RST_LOGIC and addded DONE_RST in top level engine layer files.
Still need to propagate the changes and hook the resets up in the formatters,
multiplexers, etc. RST_BUS will be the equivalent of a PCIe PERST Pin reset, a
general inelegant reset where formatting is disregarded. RST_LOGIC is a reset
caused by application or higher level logic, where formatting needs to be
considered so that the bus does not lock up. DONE_RST will signal that the
engine layer has finished resetting, and is ready to transmit data.
2015-07-16 12:07:04 -07:00
Dustin Richmond
744953c2ad Adding resetter.v, a new module that controls the reset logic in riffa.v.
This logic will allow us to reset the TX pipeline safely, and still transmit the
status completion. This is a feature requested by the NetFPGA team.
2015-07-15 17:27:17 -07:00
Dustin Richmond
d5f3ba7309 Added a parameter C_VALUE to shiftreg.v and changed all declarations.
The C_VALUE parameter sets the reset value of each bit in the shift
register. All bits will get the same value, individual setting of reset values
is not implemented.
2015-07-15 17:26:00 -07:00