-
Notifications
You must be signed in to change notification settings - Fork 140
TaskList
Adam edited this page Feb 26, 2013
·
5 revisions
Task | Priority | Deadline | ETA | Assigned To | Proposer |
Re-run selftest on new boards (batch 1) | High | Glen | |||
Perform Virtex reprogramming stress test to identify power supply issues | High | Glen | |||
Spartan reprogram from Virtex test | Done | 6/22/07 | Glen | Glen | |
Run selftest on new boards (batch 2) | Done | Glen |
Task | Priority | Deadline | ETA | Assigned To | Proposer |
DMA interface test | Normal | Jianying | Glen | ||
Produce new self test for Digilent | Normal | Glen | |||
Clock select test | Done | 6/19/07 | Glen | Glen |
Task | Priority | Deadline | ETA | Assigned To | Proposer |
Minimal Spartan design to support reprogramming | Normal | Glen | |||
Clean up Virtex -> Spartan reprogramming design | Done | Glen | Glen | ||
Virtex design to reprogram Spartan | Done | 6/22/07 | Glen | Glen |
Task | Priority | Deadline | ETA | Assigned To | Proposer |
Fix negative queue occupancies and negative numbers in statistics | High | Jad | |||
Fix Event capture GUI to be updated from hardware | High | Jad | |||
Fix details panel to disallow multiple instances of the same window | Normal | Jad | |||
Integrate with management interface | Normal | Jad | |||
Enhance details panel to provide quick feedback about current state of all modules (eg. enabled/disabled/rate) | Normal | Glen | |||
Add read-only mode to GUI to prevent changes during demonstrations | Normal | Glen | |||
Add save/load state to more modules (not just IP/routing/ARP tables) | Normal | Glen | |||
Improve error handling when loading a config file with erroneous entries | Normal | Glen | |||
Add support to read configuration from the hardware and dynamically setup available modules | Low | Jad | |||
Fix the event capture to use sockets instead of jpcap | Low | Jad |
Task | Priority | Deadline | ETA | Assigned To | Proposer |
Add hit counter for ARP entries so that the software knows not to time them out | High | Jad | |||
Change all counters to saturating and self-clearing after a read | High | Jad | |||
Rewrite small async fifo -- currently uses third part code | High | Glen | |||
Work out the set of registers we want for the CPU queues (they currently have NONE!) | Normal | Glen | |||
Add packet length header to packets coming in from Rx queues | Normal | Glen | Jad | ||
Simplify output queues registers/counters and modules by using the length header | Normal | Jad | |||
Implement larger Routing table and ARP cache not using cams | Normal | Jad | |||
Add a Host queue so that it looks like an additional port - depends on DMA implementation | Normal | Jad | |||
Restructure/rewrite the modules to optimize area | Normal | Jad | |||
Remove unnecessary registers | Normal | Jad | |||
Make sure to register all outputs (inputs can be registered as needed) | Normal | Jad | |||
Remove unnecessary pipeline registers | Normal | Jad | |||
Solve race conditions for reads and writes to tables | Normal | Jad | |||
Add per module registers to indicate which modules are available/version info | Normal | Jad | |||
Modify the SRAM arbiter to use a more efficient protocol (no wasted cycles) | Normal | Jad | |||
Add code to store_pkt/remove_pkt to verify lengths in simulation | Normal | Glen | |||
Check if the Rx/Tx queues can be modified to use a simpler/more efficient time-domain crossing | Low | Jad | |||
Fix the CPU register queue interface to make it easier (maybe two data words instead of one, and a length) | Low | Jad | |||
Move as many registers into BRAM as possible/maybe centralized counters | Low | Jad | |||
Auto-generate reg_defines.h and NF21RouterLib.pm constants from NF_2.1_defines | Low | Glen | |||
Look at the way broadcast addresses are handled in input packets |
Low | Glen | ||||
Add general registers: version, project id, ... | Done | Glen | Jad | ||
Put SRAM flops back in SRAM module while maintaining IOB flops | Done | Glen | Glen | ||
Make register access in the user datapath modular, maybe as a packet. Need flush/clear ability | Done | Glen | Jad | ||
Only write one module header into SRAM in the output queues instead of all module headers | Done | Glen | Jad |
Task | Priority | Deadline | ETA | Assigned To | Proposer |
Using DMA for event capture | High | Jad | |||
Tweaks to the GUI: add read-only mode, fix negative queue occupancies and negative numbers | High | Jad | |||
SR implementation to support multiple hosts on the same link | High | Jad | |||
Tweaks to Event capture: allow pkt queue occupancy correction to fix negative numbers | High | Jad | |||
Simple centralized management interface for all machines to detect misconfigurations/change topologies.... | Normal | Jad | |||
Figure out a topology for testing event capture where all hosts can participate | Normal | Jad | |||
HW tweaks: change incrementing statistics registers to saturating and self-resetting after reads | Normal | Jad | |||
Add virtual interface to eliminate need for additional NIC | Low | Nick |
Task | Priority | Deadline | ETA | Assigned To | Proposer |
Add ability to create/destroy network interfaces on the fly from driver with ioctl | Normal | Glen | |||
Provide batch read/write operations in a single ioctl | Normal | Glen | |||
Add character mode interface in driver with ability to dynamically create/destroy with ioctl | Low | Glen |
Task | Priority | Deadline | ETA | Assigned To | Proposer |
Modify the Simulation Environment to support DMA easily | Normal | Jad |
Format:
- Write a tasklist -- Mr Manager (Due: 3/1/1981)
-
Buy a computer-- Mr Manager (Due: 1/1/1981, Done: 1/2/1981)
-
NetFPGA Documentation -- All
- What needs to be done for the documentation?
-
Simulation Environment
-
Decide on simulation environment-- (Done: 1/22/07) - Set up basic simulation environment for CNET/UNET designs -- Glen
-
- Base design -- All
-
Simplifying Module interfaces
(done) - Implement and test rx_queue(done) - Implement cpu_dma_input_queue(done) - Implement round robin input_arbiter(unnecessary) - Implement user_filter_i-
(done) - Implement and test switch output_port_lookup(done) - Implement ethernet_parser (simple state machine)(done) - Implement mac_lut using CAM (Xilinx tools generates CAM, need to add LUT, make easy to change for router implementation)(done) - Implement forwarding state machine (connect everything)(done) - Testing
-
(done) - Implement and test router output_port_lookup(done) - Reuse ethernet_parser(done) - Implement ip_parser(done) - Implement lpm_lut using CAM (reuse mac_lut design)(done) - Implement arp_lut using CAM(done) - Implement forwarding state machine(done) - Testing
(done) - Implement and test output_queues_arbiter(done) - Implement output_port_demux(done) - Implement and test tx_queue(done) - Implement cpu_dma_output_queue(done) Full system simulations
- Restructure/rewrite the modules to optimize area
- Remove unnecessary registers
- Make sure to register all outputs (inputs can be registered as needed)
- Remove unnecessary pipeline registers
- Add packet length header to packets coming in from Rx queues
- Simplify output queues registers/counters and modules by using the length header
- (tentative) Move as many registers into BRAM as possible
- Only write one module header into SRAM in the output queues instead of module headers
- Fix the CPU register queue interface to make it easier (maybe two data words instead of one, and a length)
Packets destined to the CPU should go into the source queue instead of the destination queue (needed so that PWOSPF knows which port a packet came from)- Check if the Rx/Tx queues can be modified to use a simpler/more efficient time-domain crossing
- Modify the SRAM arbiter to use a more efficient protocol (no wasted cycles)
- Implement larger Routing table and ARP cache
- Add general registers: version, project id, ...
- Solve race conditions for reads and writes to tables
- Make register access in the user datapath modular
- Add hit counter for ARP entries so that the software knows not to time them out