CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 4 : Demonstration of Machine Problem 1 : CAM-based Firewall Washington.

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
Chapter 3 Review of Protocols And Packet Formats
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
1 - ECpE 583 (Reconfigurable Computing): Tools overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing (Tools overview) Instructor: Dr.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
The FPX KCPSM Module Exercise 1 Henry Fu The Layered Protocol Wrappers Exercise: Network Data Encryption / Decryption Using ROT13 Algorithm Henry Fu Washington.
NetFPGA Cambridge Spring School Mar Day 2: NetFPGA Cambridge Spring School Module Development and Testing Presented by: Andrew W. Moore and.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
The Layered Protocol Wrappers 1 Florian Braun, Henry Fu The Layered Protocol Wrappers: A Solution to Streamline Networking Functions to Process ATM Cells,
Applied research laboratory David E. Taylor Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop 1/2002.
Xilinx Development Software Design Flow on Foundation M1.5
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
Gigabit Kits Workshop August Washington WASHINGTON UNIVERSITY IN ST LOUIS IP Processing Wrapper Tutorial Gigabitkits Workshop August 2001
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 4 : Demonstration of Machine Problem 1 : CAM-based Firewall Washington.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
The FPX KCPSM Module Exercise 1 Henry Fu The FPX KCPSM Module Exercise: Network Data Encryption / Decryption Using ROT13 Algorithm Henry Fu Washington.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Extensible Networking Platform Lockwood / Zuver - Applied Research Laboratory -- Extensible Networking Development of a System-On-Chip Extensible.
Lecture #2 Page 1 ECE 4110– Sequential Logic Design Lecture #2 Agenda 1.Logic Design Tools Announcements 1.n/a.
CS/CoE 536 : Lockwood 1 Project Integration : In order to ensure that projects can be integrated at the end of the semester, a few rules have been developed.
Programmable Logic Training Course HDL Editor
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Lecture 13: Reconfigurable Computing Applications October 10, 2013 ECE 636 Reconfigurable Computing Lecture 11 Reconfigurable Computing Applications.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 7 : Demonstration of Machine Problem 2 : SPAM FILTER Washington University.
Field Programmable Port Extender (FPX) 1 NCHARGE: Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied.
CSE/CoE 535 : Attig 1 ModelSim Tutorial for CSE 535 Michael Attig
Field Programmable Port Extender (FPX) 1 Simulation of the Hello World Application for the Field-programmable Port Extender (FPX) Dave Lim and John Lockwood.
Teaching Digital Logic courses with Altera Technology
Tools - Analyzing your results - Chapter 7 slide 1 Version 1.5 FPGA Tools Course Analyzing your Results.
Gigabit Kits Workshop January Washington WASHINGTON UNIVERSITY IN ST LOUIS Higher-Level Data Processing on the FPX Applied Research Laboratory Washington.
PARBIT Tool 1 PARBIT Partial Bitfile Configuration Tool Edson L. Horta Washington University, Applied Research Lab August 15, 2001.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 11 : Priority and Per-Flow Queuing in Machine Problem 3 (Revision 2) Washington.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the Field Programmable Port Extender John Lockwood and David Taylor Washington University.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 10 : MP3 Working Draft Washington University Fall 2002
Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
The FPX KCPSM Module 1 Henry Fu The FPX KCPSM Module: An Embedded, Reconfigurable Active Processing Module for the FPX Henry Fu Washington University.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
VLSI Synthesis and Simulation Tools Nitin Yogi 01/09/2009
Using Build A Step-by-Step Guide
Introduction to Vivado
Dept. of Electrical and Computer Engineering
Dave Lim and John Lockwood Washington University,
CPRE 583 Reconfigurable Computing
Washington University
Washington University
Washington University
CPRE 583 Reconfigurable Computing
Hello Bob – An example application for the FPX
Washington University in St. Louis
CPRE 583 Reconfigurable Computing (Tools overview)
Layered Protocol Wrappers Design and Interface review
CAM Update Datagram ATM Header Ver HL ToS Packet Len Fragment IP ID
Founded in Silicon Valley in 1984
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 4 : Demonstration of Machine Problem 1 : CAM-based Firewall Washington University Fall Chris Neely, Chris Zuver Copyright 2002

CS/CoE 536 : Lockwood 2 MP1 Packet Classification Hardware CAM_MASK_2 CAM_VALUE_ Src IP Dest IP Src Port Dest Port CAM_MASK_1 CAM_VALUE_ Drop match <= ‘1’ when (input = 0xFFFFFFFFFFFFFFFFFFFFFFFFFF”) else ‘0’; Proto

CS/CoE 536 : Lockwood 3 Protocol Headers Cell Header IP Header UDP IP Header Payload PAD AAL5 Trailer AAL5 Frame Checksum AAL5 Frame LenCPS-UU & CPI AAL5 Pad

CS/CoE 536 : Lockwood 4 Protocol Wrappers Timing Diagram DataEn SOF EOF Data SOC Data SOD AAIIIIIUUDDDDDDDDDDDDAA--PPPFF-- A-IIIIIUDDDDD----DDDDDDDFF----- A - I U U FP DATM HeaderIP Header Don't careFrame TrailerPadding Payload Data UDP Header CLK Cell Level Frame Level IP Level Only use these signals to process UDP/IP packets UDP payload starts 2 cycles after SOD signal. UDP payload ends with EOF signal. This cycle is optional. It does not appear in simulation Data Enabled during frame trailer

CS/CoE 536 : Lockwood 5 State Transitions for Processing Packet States correspond to order of data in the packet header. State transition are based on data_en=‘1’ idle ver flags ttl srcip_ttl_1 dstip_ttl_2 ports_ttl_3 checksum_ttl_4 xmit GIVEN FSM

CS/CoE 536 : Lockwood 6 CAM Update Datagram Special UDP/IP Datagram updates values of CAM Entries –Allows software- controlled update of CAM registers –Fields alocated for: CAM_VALUE_1 CAM_MASK_1 CAM_VALUE_2 CAM_MASK_2 ATM Header Packet Len Source IP address ( 0xC0A81E0D ) (Reserved) CAM_1_SRC_IP CAM_MASK_1 … (if necessary) ToSHLVer FragmentIP ID Src Port Dest Port ( 0x0320 ) LengthChecksum # CAMs AAL5 Pad CPS-UU & CPI AAL5 Frame Checksum Frame Len CAM_1_DEST_IP CAM_1_PORTS CAM_1_ PROTO (PAD) CAM_2_SRC_IP CAM_MASK_2 CAM_2_DEST_IP CAM_2_PORTS CAM_2_ PROTO (PAD) CAM_VALUE_1 CAM_MASK_1 CAM_VALUE_2 CAM_MASK_2 ChecksumProtoTTL

CS/CoE 536 : Lockwood 7 State Transitions for updating CAMs idle ver flags ttl srcip_ttl_1 dstip_ttl_2 ports_ttl_3 checksum_ttl_4 xmit GIVEN FSM control_ports_ttl_3 Data_flop = x”C0A80101” Data_flop(15..0) /= x”0320” control_checksum_ttl_4 control_ports_ttl3 control_cam_header control_cam1_src_entry control_cam1_dst_entry control_cam1_ports_entry control_cam1_proto_entry control_cam1_src_mask control_cam1_dst_mask control_cam1_ports_mask control_cam1_proto_mask control_cam2_src_entry control_cam2_dst_entry control_cam2_ports_entry control_cam2_proto_entry control_cam2_src_mask control_cam2_dst_mask control_cam2_ports_mask control_cam2_proto_mask eof_flop=‘1’ and den_flop=‘1’ eof_flop=‘0’ and den_flop=‘1’ State transition are based on data_en=‘1

CS/CoE 536 : Lockwood 8 FPX Hardware Design Flow Place and Route with constraints (Xilinx) Synthesize Logic to Xilinx gate technology (Synplicity) Verify Functionality (vsim) Test Module with actual traffic input Constrain Placement to FPX RAD Upload bitfile To FPX for testing Verify Post Place & Route Timing (ModelSim) Generate bitstream (Xilinx) Verify that that resulting packets have correct TTL Compile circuit (vcom)

CS/CoE 536 : Lockwood 9 Accessing FPGA Design Tools in Sever 201 Opening Cygwin, ModelSim, and Synplicity –Start Menu --> Engineering --> FPGA Tools

CS/CoE 536 : Lockwood 10 Downloading and extracting MP1 files Download the MP1 tar file from the website. Save the file under your CEC home directory (e.g. H:\cs536\mp1) Extract the files from Cygwin: –tar xvfz FireWall.tar.gz

CS/CoE 536 : Lockwood 11 VHDL EDITORS EMACS –emacs /vhdl/wrapper_app.vhd & –Good for beginners VI –vi /vhdl/wrapper_app.vhd ModelSim –Click open.. Browse to /vhdl/wrapper_app.vhd Synplicity –Open wrapper_app.vhd OTHER ………..

CS/CoE 536 : Lockwood 12 Compiling the design Compiling the tools –cd H :\cs536\mp1\FireWall –make compile Simulating the Design –make sim (It may take a couple minutes to load the simulation.)

CS/CoE 536 : Lockwood 13 ModelSim Simulation ModelSim Workspace Run simulation Open windows Select entity Select signals Force values View simulation waveforms ModelSim’s Status (ex. Loading…)

CS/CoE 536 : Lockwood 14 ModelSim Simulation [continued] Zooming in on waveforms Incoming packet Outgoing packet Custom Zoom Zoom Full

CS/CoE 536 : Lockwood 15 ModelSim Simulation [continued] TTL Src IP Dest IP TTL ≠ 0 Src IP Transmitted Packet

CS/CoE 536 : Lockwood 16 Editing wrapper_app.vhd From cygwin –Emacs /sim/wrapper_app.vhd From Emacs –Scroll to the Signal Process Line 248 –Change the null assignment for state dstip_ttl_2 to assign data_buf2(31 downto 24) to zero. This sets TTL to zero. –Exact code is shown in diagram.

CS/CoE 536 : Lockwood 17 ModelSim Simulation [continued] TTL Src IP Dest IP TTL = 0 Src IP Dropped Packet

CS/CoE 536 : Lockwood 18 Testbench Data Sample format of input data file (/sim/INPUT_CELLS.DAT) Compared to output data file (/sim/LC_CELLSOUT.DAT) Transmitted Packet Dropped Packet

CS/CoE 536 : Lockwood 19 Synthesizing the Design (Synplicity) Open the project file: /syn/wrapper_app.prj Listing of the synthesizable vhdl files in the design. The files are listed in bottom-up order Wrapper_app.ssr Error/Warnings log with estimated timing information Target FPGA Xilinx Virtex-E XCV2000E -7 FG680

CS/CoE 536 : Lockwood 20 Synthesizing the Design [continued] Synplicity from the Cygwin console –make syn Quick method Poor feedback: must open wrapper_app.srr to view details.

CS/CoE 536 : Lockwood 21 Backend Tools : Generating the Bitstream Xilinx Tools –make build Build Script (/syn/rad-xcv2000e/build) #!/bin/bash part=xcv2000e-7-fg680 #defines the target device design=wrapper_app #defines the design name used in Synplicity ngdbuild -p ${part} ${design} -uc fpx.ucf #Parses netlist into logical description map -p ${part} -o top.ncd ${design}.ngd ${design}.pcf #Maps description into components par -w -ol 2 top.ncd ${design}.ncd ${design}.pcf #Connects and positions components trce ${design}.ncd ${design}.pcf -e 2 -o ${design}.twr #Generates a timing report bitgen ${design}.ncd -b -l -w -f bitgen.ut #Creates the bitstream to program the FPGA More information about these tools is available in the CEC under: P:\Xilinx42\doc\usenglish\docs\dev

CS/CoE 536 : Lockwood 22 Testing the design on the FPX NCHARGE website for automated testing: Username –Cs536 Password –soc_firewall

CS/CoE 536 : Lockwood 23 Testing the design on the FPX Click TEST BIT FILE Enter Class ID (5 digit) Enter MP1 Click Create Entry Locate empty file in list of files. Click Upload next to file Click Browse and select /syn/rad-scv2000e/wrapper_app.bit

CS/CoE 536 : Lockwood 24 Verifying the Results After uploading your bitfile the website will automatically load your design into an FPX, create traffic, send the traffic, and return a results file showing the tests. To view results (this may take several minutes to appear after uploading) click on the results link under “TEST BIT FILE.”

CS/CoE 536 : Lockwood 25 Creating the waveforms Generating postscript files from ModelSim 1.Adjust ModelSim wave window such that all important information needed to verify your results are visible (a.k.a zoom in enough to see data values, etc) 2.From the file menu select Print Postscript…\ 3.Specify the filename and select “current view” for both signals and time range.

CS/CoE 536 : Lockwood 26 Creating the waveforms (cont.) Converting postscript files to PDF format from Cygwin. –ps2pdf input.ps > output.pdf If your.ps file will not display using Ghostview then try this command to fix the errors. –ps2ps input.ps output.ps

CS/CoE 536 : Lockwood 27 Uploading your solutions Open the page –