Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones

Similar presentations


Presentation on theme: "CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones"— Presentation transcript:

1 CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones
Lecture 7: 9/14/2011 (Common VHDL Mistakes: “It works perfect in simulation, but not in the hardware!” ) Instructor: Dr. Phillip Jones Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA

2 Announcements/Reminders
MP1: Due Next Friday. We will push MP2 back a week and cut it from 3 weeks to 2 weeks Mini literary survey assigned PowerPoint tree due: Fri 9/23 by class, so try to have to me by 9/22 night. My current plan is to summarize some of the classes findings during class. Final 5-10 page write up on your tree due: Fri 9/30 midnight.

3 Literary Survey Start with searching for papers from on IEEE Xplorer: Advanced Search (Full Text & Meta data) Find popular cross references for each area For each area try to identify 1 good survey papers For each area Identify 2-3 core Problems/issues For each problem identify 2-3 Approaches for addressing For each approach identify 1-2 papers that Implement the approach.

4 Literary Survey: Example Structure
Hardware Accelerated Bioinformatics P1 P2 P3 A1 A2 A3 A1 A2 A1 A2 I1 I1 I2 I1 I1 I1 I1 I2 I1 5-10 page write up on your survey tree

5 Fall 2010 Student Example Network Intrusion Detection Systems
detection accuracy signatures The Study on Network Intrusion Detection System of Snort heuristics An FPGA-Based Network Intrusion Detection Architecture adaptability to new threats neural networks Network Intrusion Detection Method Based on Radial Basic Function Neural Network principal component analysis An Efficient FPGA Implementation of Principle Component Analysis based Network Intrusion Detection System support vector machine Network Intrusion Detection Based on Support Vector Machine Network Intrusion Detection Method Based on Agent and SVM

6 Common Questions

7 Common Questions

8 Overview Common VHDL mistakes What you should learn
What are the ~6 common mistakes How to identify these mistakes How to fix these mistakes

9 My design works in simulation, but not in hardware!!
Clocked and non-clock processes common issues. Clean Statemachine design, using best know practices Common Mistakes pdf document

10 Clocked vs. non-clock processes
Non-clocked process (clock is NOT in the sensitivity list) Clocked process (clock is ONLY in the sensitivity list) process (clk) begin -- check for rising edge of the clk if(clk’event and clk = ‘1’) then -- initialize all driven signals during reset if(reset = ‘1’) then a_out <= x”00”; data_out <= x”00”; else if (sel = ‘1’) then a_out <= a; data_out <= my_data; end if; end process; process (sel, a, my_data) begin -- default all driven signals a_out <= x”00”; data_out <= x”00”; if (sel = ‘1’) then a_out <= a; data_out <= my_data; end if; end process;

11 State Machine Structure
-- Assign STATE to next state process (clk) begin -- check for rising edge of the clk if(clk’event and clk = ‘1’) then -- initialize all driven signals during reset if(reset = ‘1’) then STATE <= S1; else STATE <= Next_STATE; end if; end process; -- Compute next state process (STATE, x) begin -- defaults next_state <= STATE; case STATE is when S1 => if(x = ‘0’) then Next_STATE <= S1; else Next_STATE <= S2; end if; when S2 => Next_State <= S1; end process; No memory!!!! Has memory (e.g. flip-flops)

12 Manage Registers/Counters
process (clk) begin if(clk’event and clk = ‘1’) then -- initialize all driven signals during reset if(reset = ‘1’) then store_x_reg <= x”00”; counter_1 <= x“00”; else -- update registers and counters if(update_reg) then store_x_reg <= new_val; end if; if(update_count) then counter_1 <= new_count; end process; These are memory elements (e.g. flip-flops)

13 Good papers on state machine design
FSM “good practices” paper (Note: inVerilog) The Fundamentals of Efficient Synthesizable Finite State Machine (2002) Synthesizable Finite State Machine Design Techniques (2003)

14 Common Mistakes in more detail
See Common VHDL mistakes pdf on course web

15 Common Mistakes in more detail

16 Common Mistakes in more detail

17 Common Mistakes in more detail

18 Common Mistakes in more detail

19 Common Mistakes in more detail

20 Common Mistakes in more detail

21 Common Mistakes in more detail

22 Common Mistakes in more detail

23 Common Mistakes in more detail

24 Common Mistakes in more detail

25 Common Mistakes in more detail

26 Common Mistakes in more detail

27 Common Mistakes in more detail

28 Common Mistakes in more detail
Correct Example of a counter

29 Common Mistakes in more detail

30 Next Class Short History of Reconfigurable computing and applicaitons

31 Questions/Comments/Concerns


Download ppt "CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones"

Similar presentations


Ads by Google