Genehackers - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Genehackers

Description:

Just got this to work yesterday, with hacks. BLASTP Search ... DSP Issues solved with hacks! Ran set of samples through filter ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 24
Provided by: ece9
Category:

less

Transcript and Presenter's Notes

Title: Genehackers


1
(No Transcript)
2
  • FINAL PRESENTATION

3
Design Goals Review
  • Compressing virus database
  • Fits use case of remote aid worker in the field,
    limited resources and memory
  • Storing in Compact Flash for easier portability
  • In-system Decompression
  • Will be decompressing on-the-fly, as input
    queries are entered

4
Final Architecture
  • Revised memory system
  • Storing compressed data on Compact Flash card,
    loaded from a PC
  • Decompression with custom hardware and software
  • Speed advantages
  • BLASTP in software on NIOS
  • Development time pressures
  • Output display on terminal

5
Final System Design
PC
PC
DSP
NIOS
Decompression HW
ARM
Compact Flash
6
Current Status
  • Integration still needed
  • Finishing that up this week!
  • DSP A/D Conversion
  • Just got this to work yesterday, with hacks
  • BLASTP Search
  • Ported to software hardware taking too long
  • Storage System
  • Compact Flash working well
  • LZW Decompression
  • Working with Compact Flash

7
Changes from Initial Goals
  • Shifting division of labor
  • Charles LZW Decompression
  • Mark DSP Blast
  • Chris Compact Flash, Interfacing, Blast
  • BLASTP initially in Verilog
  • Flash to Compact Flash

8
Performance
  • Decompression
  • Initial compression rate is about 34, so even
    though we are using a compact flash to store the
    compressed data (we couldnt find 2 flash chips
    that were large enough), if somebody wanted they
    could store 387 mb of data on our 256mb chip (it
    was actually designed for say someone with
    limited resources and a small flash chip that
    wanted to squeeze as much data as possible on
    it. we are NOT stupid)

9
Performance
  • Decompression
  • It is actually split between the custom hardware
    and the NIOS
  • Couldnt all be done in hardware as it requires
    about 3 4,000 length char arrays, and 2 5,000
    length int arrays why dont you index into that
    and tell me how fun it is?
  • Custom Hardware handles decision making and
    basically every part of the decompression that
    doesnt involve memory accesses

10
Performance
  • Custom Hardware
  • It can run at 100 MHZ!!
  • Fastest clocked device on our system, but due to
    extra states for handshake verification (more on
    that later), it cant receive the OPTIMAL
    performance
  • At 3 times the speed of the NIOS clock, we are
    still in good shape total of about 9 states, so
    it is about equivalent to doing only about 3
    instructions on the NIOS solid improvement IMO

11
War Story Custom Hardware
  • Its a Tricky Mofo
  • ModelSim? Pointless!
  • Much verilog wasnt tested through simulation at
    all
  • Simulation is deceitful because there is no
    concept of timing
  • Timing Issues Up the YinYang
  • Performing handshakes means that you never know
    when the signal will arrive
  • Put as little in those states as possible
    Decreases chance of error

12
War Story Custom Hardware
  • WTF?!?!
  • Even after everything works. Nothing works!!!
  • Everything looks perfect, and should work, so
    just had to try to add more states in case other
    missed timing problems still exist
  • Take the derivative and set it equal to 0
  • Problem became Since I cant get this to be
    perfect, how can I maximize my ability to not
    fail so bad
  • Lots of fail-safe states that perform simple
    tasks to try to leave time sensitive states alone
    (didnt I just say this?)

13
War Story Custom Hardware
  • Now that youre done its all good right?
  • WRONG!!!!!
  • Occasionally after say about 600 character
    decompressions, my COUNTER of all freakin things
    will be off by 1 or 2 hopefully I will get
    lucky during check off, because this means
    decompression from the flip on will be all wrong
  • WTF?!?!?
  • Cant be me, im perfect what about this garbage
    board?
  • Could be an LUT is flipping and messing with us,
    or the sun is not shining on the western
    hemisphere in a way that boosts feng shui in
    Jersey.

14
War Story Custom Hardware
  • Now that youre done its all good right?
  • WRONG!!!!!
  • Occasionally after say about 600 character
    decompressions, my COUNTER of all freakin things
    will be off by 1 or 2 hopefully I will get
    lucky during check off, because this means
    decompression from the flip on will be all wrong
  • WTF?!?!?
  • Cant be me, im perfect what about this garbage
    board?
  • Could be an LUT is flipping and messing with us,
    or the sun is not shining on the western
    hemisphere in a way that boosts feng shui in
    Jersey.

15
War Story Custom Hardware
  • Moral Life is like a box of. LUTs?

16
War Stories (Mark)
  • DSP Issues solved with hacks!
  • Ran set of samples through filter
  • Calculated sum of resulting values, compared to
    find absolute largest
  • Was getting inconsistent results!

17
War Stories (Mark)
  • Reshuffling responsibilities is hard
  • Lost group member had certain expertise (DSP,
    Signals)
  • No obvious (or more importantly, willing!)
    replacement
  • Collective effort to complete task
  • Redistributing labor affects other parts of the
    project, lessens scope and overall ability

18
War Stories (Chris)
  • Internal pull-up/pull-downs suck
  • Wired up the CompactFlash
  • ARM was reading top 2 data bits as 1
  • Logic analyzer showed switching between 0 and 1
  • The signal could be pulled down with a 10k
    resistor and the ARM would read all 0s
  • 100k resistors had no effect
  • PCB doesnt indicate anything special about the
    top GPIOs
  • ARM datasheet mentions internal pull-ups
  • Doesnt specify actual resistance, so I couldnt
    just use a voltage divider
  • Bi-directional signals arent easy to buffer
  • Had to change pin assignments
  • GPIOs that need external pull-ups suck too

19
War Stories (Chris)
  • Losing a group member sucks
  • I was the only remaining person who took 396
  • I hate analog/signals stuff
  • I forgot most of my signals knowledge

20
SoC Design Issues
  • DSP tools are awful
  • You cant view printfs in real-time
  • Lots of clicks keystrokes to reset the DSP
  • I/O is slow
  • Print statements in DSP code cause dropped
    samples
  • Print statements in handshake code hide timing
    issues

21
SoC Design Issues
  • Designing complex systems without simulation is
    hard
  • No undo make a bad change, and struggle for
    hours to get it back to a working state
  • Cant monitor all signals in real-time
  • Cant arbitrarily pause all components and
    observe internal state
  • Monitoring many wires is difficult

22
Working As A Group
  • Morale falling after lost group member
  • Very bad timing
  • Stumbled around for a while afterwards
  • All extremely busy
  • Should have taken this class with less units!
  • Too much partitioning
  • Spread thinly, every member has different role
  • Hard to find times to work together
  • Not knowing about each others parts
  • Slipping schedules

23
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com