ece 545 lecture 14 athena - automated tool for hardware...
TRANSCRIPT
![Page 1: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/1.jpg)
George Mason University
ATHENa - Automated Tool for Hardware EvaluatioN
ECE 545Lecture 14
![Page 2: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/2.jpg)
2
Resources
• ATHENa websitehttp://cryptography.gmu.edu/athena
![Page 3: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/3.jpg)
3
ATHENa– AutomatedToolforHardwareEvaluatioN
Supported in part by the National Institute of Standards & Technology (NIST)
![Page 4: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/4.jpg)
ATHENaTeam
Venkata“Vinny”MS CpEstudent
Ekawat“Ice”
PhD CpEstudent
Marcin
PhD ECEstudent
Rajesh
PhD ECEstudent
MichalPhD exchangestudent from
Slovakia
John
MS CpEstudent
![Page 5: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/5.jpg)
ATHENa – Automated Tool for Hardware EvaluatioN
5
Benchmarking open-source tool,written in Perl, aimed at an
AUTOMATED generation of OPTIMIZED results for MULTIPLE hardware platforms
Currently under development at George Mason University.
http://cryptography.gmu.edu/athena
![Page 6: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/6.jpg)
Why Athena?
6
"The Greek goddess Athena was frequently called upon to settle disputes between the gods or various mortals. Athena Goddess of Wisdom was known for her superb logic and intellect. Her decisions were usually well-considered, highly ethical, and seldom motivated by self-interest.”
from "Athena, Greek Goddess of Wisdom and Craftsmanship"
![Page 7: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/7.jpg)
7
Generation of Results Facilitated by ATHENa
vs.old days…
“working” with ATHENa…
![Page 8: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/8.jpg)
ATHENaServer
FPGA Synthesis and Implementation
Result Summary+ Database Entries
2 3
HDL + scripts + configuration files
1
Database Entries
Download scripts and
configuration files8
Designer
4
HDL + FPGA Tools
User
Databasequery
Ranking of designs
56
Basic Dataflow of ATHENa
0Interfaces
+ Testbenches 8
![Page 9: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/9.jpg)
9
synthesizablesourcefiles
configurationfiles
testbench
constraintfiles
resultsummary
(user-friendly)
databaseentries
(machine-friendly)
![Page 10: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/10.jpg)
ATHENaMajorFeatures(1)• synthesis,implementation,andtiminganalysisinbatchmode
• supportfordevicesandtoolsofmultipleFPGAvendors:
• generationofresultsformultiplefamiliesofFPGAsofagivenvendor
• automatedchoiceofabest-matchingdevicewithinagivenfamily
10
![Page 11: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/11.jpg)
ATHENaMajorFeatures(2)• automatedverificationofdesignsthroughsimulationinbatch
mode
• supportformulti-coreprocessing
• automatedextractionandtabulationofresults
• several optimizationstrategiesaimedatfinding– optimumoptionsoftools
– besttargetclockfrequency
– beststartingpointofplacement
OR
11
![Page 12: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/12.jpg)
12
• batch mode of FPGA tools
• ease of extraction and tabulation of results• Text Reports, Excel, CSV (Comma-Separated Values)
• optimized choice of tool options• GMU_optimization_1 strategy
Generation of Results Facilitated by ATHENa
vs.
![Page 13: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/13.jpg)
13
Relative Improvement of Results from Using ATHENa Virtex 5, 256-bit Variants of Hash Functions
0
0.5
1
1.5
2
2.5
AreaThrThr/Area
Ratios of results obtained using ATHENa suggested optionsvs. default options of FPGA tools
![Page 14: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/14.jpg)
14
Other (Somewhat) Similar Tools
ExploreAhead (part of PlanAhead)
Design Space Explorer (DSE)
Boldport Flow
EDAx10 Cloud Platform
![Page 15: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/15.jpg)
15
Distinguishing Features of ATHENa
• Support for multiple tools from multiple vendors
• Optimization strategies aimed at the best possible
performance rather than design closure
• Extraction and presentation of results
• Seamless integration with the ATHENa database of results
![Page 16: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/16.jpg)
ManualDesign
HDLCode
Manual OptimizationFPGATools
Netlist
PostPlace&Route
Results
Functional Verification
Timing Verification
InformalSpecification TestVectors
Traditional Development and Benchmarking Flow
![Page 17: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/17.jpg)
ManualDesign
HDLCode
Option OptimizationFPGATools
Netlist
PostPlace&Route
Results
Functional Verification
Timing Verification
InformalSpecification TestVectors
Extended Traditional Development and Benchmarking Flow
GMU ATHENa
![Page 18: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/18.jpg)
Read the Tutorial!
Install the Required Tools(see Tutorial - Part 1 – Tools Installation)
Run ATHENa_setup
HowToStartWorkingWithATHENa?One-Time Tasks
Download and unzip ATHENa http://cryptography.gmu.edu/athena/
![Page 19: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/19.jpg)
Modify design.config.txt+ possibly other configuration files
Run ATHENa
HowToStartWorkingWithATHENa?Repetitive Tasks
Prepare or modify your source files& source_list.txt
![Page 20: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/20.jpg)
design.config.txtYourDesign
#directorycontainingsynthesizablesourcefilesfortheprojectSOURCE_DIR =<examples/sha256_rs>
#Afilelistcontaininglistoffilesintheordersuitableforsynthesisandimplementation#lowlevelmodulesfirst,toplevelentitylastSOURCE_LIST_FILE =source_list.txt
#projectname#itwillbeusedinthenamesofresultdirectoriesPROJECT_NAME=SHA256
#nameoftoplevelentityTOP_LEVEL_ENTITY =sha256
#nameoftoplevelarchitectureTOP_LEVEL_ARCH=rs_arch
#nameofclocknetCLOCK_NET=clk
![Page 21: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/21.jpg)
design.config.txtTimingFormulas
#formulaforlatencyLATENCY=TCLK*65
#formulaforthroughputTHROUGHPUT=512/(TCLK*65)
![Page 22: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/22.jpg)
design.config.txtApplication&OptimizationTarget
#OPTIMIZATION_TARGET=speed|area|balancedOPTIMIZATION_TARGET=speed
#OPTIONS=default|userOPTIONS=default
#APPLICATION=single_run|exhaustive_search|placement_search|frequency_search |#GMU_Optimization_1|GMU_Xilinx_optimization_1APPLICATION=single_run
#TRIM_MODE=off|zip|deleteTRIM_MODE=zip
![Page 23: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/23.jpg)
design.config.txtFPGAFamilies
#commentingthenextlineremovesallfamiliesofXilinxFPGA_VENDOR=xilinx
#commentingthenextlineremovesagivenfamilyFPGA_FAMILY=spartan3
#FPGA_DEVICES=<listofdevices>|best_match|allFPGA_DEVICES=best_matchSYN_CONSTRAINT_FILE =defaultIMP_CONSTRAINT_FILE =defaultREQ_SYN_FREQ =120REQ_IMP_FREQ =100MAX_SLICE_UTILIZATION =0.8MAX_BRAM_UTILIZATION=0.8MAX_MUL_UTILIZATION=1MAX_PIN_UTILIZATION=0.9
ENDFAMILY
ENDVENDOR
![Page 24: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/24.jpg)
design.config.txtFPGAFamilies
#commentingthenextlineremovesallfamiliesofAlteraFPGA_VENDOR=altera
#commentingthenextlineremovesagivenfamilyFPGA_FAMILY=StratixIII
#FPGA_DEVICES=<listofdevices>|best_match|allFPGA_DEVICES=best_matchSYN_CONSTRAINT_FILE =defaultIMP_CONSTRAINT_FILE =defaultREQ_IMP_FREQ =120MAX_LOGIC_UTILIZATION=0.8MAX_MEMORY_UTILIZATION=0.8MAX_DSP_UTILIZATION=0MAX_MUL_UTILIZATION=0MAX_PIN_UTILIZATION=0.8
ENDFAMILY
ENDVENDOR
![Page 25: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/25.jpg)
LibraryFiles
device_lib/xilinx_device_lib.txtdevice_lib/altera_device_lib.txt
• FilescreatedduringATHENasetup
• Characterize FPGAfamiliesanddevicesavailableintheversionofXilinxandAlteratoolsinstalledonyourcomputer
• Currently supported toolversions:– XilinxWebPACK from9.1to14.7– XilinxDesignSuite from11.1to14.7– AlteraQuartusIIWebEdition from8.1to14.0– AlteraQuartusIISubscriptionEdition from9.1to14.0
• Incasealibraryforagivenversionnotavailableyet,usealibraryfromtheclosestavailableversion
![Page 26: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/26.jpg)
LibraryFilesdevice_lib/xilinx_device_lib.txt
VENDOR=Xilinx#Device,TotalSlices,BlockRAMs,DSP,DedicatedMultipliers, MaximumUser I/OPinsITEM_ORDER =SLICE,BRAM, DSP,MULT,IOFAMILY=spartan3xc3s50pq208-5, 768, 4, 0, 4, 124xc3s200ft256-5, 1920,12, 0, 12,173xc3s400fg456-5,3584,16, 0, 16,264xc3s1000fg676-5, 7680,24, 0, 24,391xc3s1500fg676-5,13312,32,0,32,487END_FAMILY
FAMILY=virtex5xc5vlx30ff676-3, 4800,32, 32, 0, 400xc5vfx30tff665-3,5120,68,64,0,360xc5vlx30tff665-3,4800,36,32,0,360xc5vlx50ff1153-3,7200,48,48,0,560xc5vlx50tff1136-3,7200,60,48,0,480END_FAMILY
![Page 27: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/27.jpg)
ResultFilesreport_resource_utilization.txt
xilinx : spartan3 +---------+-----------------+-----+------+---+--------+---+-------+----+-------+----+------+---+----+----+| GENERIC | DEVICE | RUN | LUTs | % | SLICES | % | BRAMs | % | MULTs | % | DSPs | % | IO | % |+---------+-----------------+-----+------+---+--------+---+-------+----+-------+----+------+---+----+----+| default | xc3s200ft256-5* | 1 | 142 | 3 | 74 | 3 | 4 | 33 | 7 | 58 | 0 | 0 | 20 | 11 |+---------+-----------------+-----+------+---+--------+---+-------+----+-------+----+------+---+----+----+
xilinx : spartan6 +---------+------------------+-----+------+---+--------+---+-------+---+-------+---+------+----+----+----+| GENERIC | DEVICE | RUN | LUTs | % | SLICES | % | BRAMs | % | MULTs | % | DSPs | % | IO | % |+---------+------------------+-----+------+---+--------+---+-------+---+-------+---+------+----+----+----+| default | xc6slx9csg324-3* | 1 | 41 | 1 | 22 | 1 | 4 | 6 | 0 | 0 | 9 | 56 | 20 | 10 |+---------+------------------+-----+------+---+--------+---+-------+---+-------+---+------+----+----+----+
xilinx : virtex5 +---------+-------------------+-----+------+---+--------+---+-------+----+-------+---+------+----+----+----+| GENERIC | DEVICE | RUN | LUTs | % | SLICES | % | BRAMs | % | MULTs | % | DSPs | % | IO | % |+---------+-------------------+-----+------+---+--------+---+-------+----+-------+---+------+----+----+----+| default | xc5vlx20tff323-2* | 1 | 101 | 1 | 56 | 1 | 4 | 15 | 0 | 0 | 9 | 37 | 20 | 11 |+---------+-------------------+-----+------+---+--------+---+-------+----+-------+---+------+----+----+----+
xilinx : virtex6 +---------+-------------------+-----+------+---+--------+---+-------+---+-------+---+------+---+----+---+| GENERIC | DEVICE | RUN | LUTs | % | SLICES | % | BRAMs | % | MULTs | % | DSPs | % | IO | % |+---------+-------------------+-----+------+---+--------+---+-------+---+-------+---+------+---+----+---+| default | xc6vlx75tff784-3* | 1 | 44 | 1 | 21 | 1 | 4 | 1 | 0 | 0 | 9 | 3 | 20 | 5 |+---------+-------------------+-----+------+---+--------+---+-------+---+-------+---+------+---+----+---+
![Page 28: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/28.jpg)
ResultFilesreport_timing.txt
REQ SYN FREQ - Requested synthesis clk freq. SYN FREQ – Achieved synthesis clk. freq.REQ SYN TCLK - Requested synthesis clk period SYN TCLK – Achieved synthesis clk. periodREQ IMP FREQ - Requested implement. clk freq. IMP FREQ – Achieved implement. clk. freq.REQ IMP TCLK - Requested implement. clk period IMP TCLK – Achieved implement clk. periodLATENCY - Latency [ns] THROUGHPUT – Throughput [Mbits/s]TP/Area - Throughput/Area [(Mbits/s)/CLB slices Latency*Area – Latency*Area [ns*CLB slices]
xilinx : spartan3
+---------+-----------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| GENERIC | DEVICE | RUN | REQ SYN FREQ | SYN FREQ | REQ SYN TCLK | SYN TCLK | REQ IMP FREQ | IMP FREQ | REQ IMP TCLK | IMP TCLK | LATENCY | THROUGHPUT | TP/Area | Latency*Area |
+---------+-----------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| default | xc3s200ft256-5* | 1 | default | 207.370 | default | 4.822 | default | 112.448 | default | 8.893 | 17.786 | 449.792 | 6.078 | 1316.164 |
+---------+-----------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
xilinx : spartan6
+---------+------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| GENERIC | DEVICE | RUN | REQ SYN FREQ | SYN FREQ | REQ SYN TCLK | SYN TCLK | REQ IMP FREQ | IMP FREQ | REQ IMP TCLK | IMP TCLK | LATENCY | THROUGHPUT | TP/Area | Latency*Area |
+---------+------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| default | xc6slx9csg324-3* | 1 | default | 75.751 | default | 13.201 | default | 78.119 | default | 12.801 | 25.602 | 312.476 | 14.203 | 563.244 |
+---------+------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
xilinx : virtex5
+---------+-------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| GENERIC | DEVICE | RUN | REQ SYN FREQ | SYN FREQ | REQ SYN TCLK | SYN TCLK | REQ IMP FREQ | IMP FREQ | REQ IMP TCLK | IMP TCLK | LATENCY | THROUGHPUT | TP/Area | Latency*Area |
+---------+-------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| default | xc5vlx20tff323-2* | 1 | default | 156.347 | default | 6.396 | default | 126.952 | default | 7.877 | 15.754 | 507.808 | 9.068 | 882.224 |
+---------+-------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
xilinx : virtex6
+---------+-------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| GENERIC | DEVICE | RUN | REQ SYN FREQ | SYN FREQ | REQ SYN TCLK | SYN TCLK | REQ IMP FREQ | IMP FREQ | REQ IMP TCLK | IMP TCLK | LATENCY | THROUGHPUT | TP/Area | Latency*Area |
+---------+-------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
| default | xc6vlx75tff784-3* | 1 | default | 158.053 | default | 6.327 | default | 135.410 | default | 7.385 | 14.770 | 541.638 | 25.792 | 310.170 |
+---------+-------------------+-----+--------------+----------+--------------+----------+--------------+----------+--------------+----------+---------+------------+------------+--------------+
![Page 29: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/29.jpg)
ResultFilesreport_options.txt
xilinx : spartan3 +---------+-----------------+-----+------------+------------------------------+-------------------------+--------------+| GENERIC | DEVICE | RUN | COST TABLE | Synthesis Options | Map Options | PAR Options |+---------+-----------------+-----+------------+------------------------------+-------------------------+--------------+| default | xc3s200ft256-5* | 1 | 1 | -opt_level 1 -opt_mode speed | -c 100 -pr b -cm speed | -w -ol std |+---------+-----------------+-----+------------+------------------------------+-------------------------+--------------+
xilinx : spartan6 +---------+------------------+-----+------------+------------------------------+---------------+--------------+| GENERIC | DEVICE | RUN | COST TABLE | Synthesis Options | Map Options | PAR Options |+---------+------------------+-----+------------+------------------------------+---------------+--------------+| default | xc6slx9csg324-3* | 1 | 1 | -opt_level 1 -opt_mode speed | -c 100 -pr b | -w -ol std |+---------+------------------+-----+------------+------------------------------+---------------+--------------+
xilinx : virtex5 +---------+-------------------+-----+------------+------------------------------+-------------------------+--------------+| GENERIC | DEVICE | RUN | COST TABLE | Synthesis Options | Map Options | PAR Options |+---------+-------------------+-----+------------+------------------------------+-------------------------+--------------+| default | xc5vlx20tff323-2* | 1 | 1 | -opt_level 1 -opt_mode speed | -c 100 -pr b -cm speed | -w -ol std |+---------+-------------------+-----+------------+------------------------------+-------------------------+--------------+
xilinx : virtex6 +---------+-------------------+-----+------------+------------------------------+---------------+--------------+| GENERIC | DEVICE | RUN | COST TABLE | Synthesis Options | Map Options | PAR Options |+---------+-------------------+-----+------------+------------------------------+---------------+--------------+| default | xc6vlx75tff784-3* | 1 | 1 | -opt_level 1 -opt_mode speed | -c 100 -pr b | -w -ol std |+---------+-------------------+-----+------------+------------------------------+---------------+--------------+
COST TABLE - parameter determining the starting point of placementSynthesis Options – options of the synthesis toolMap Options – Options of the mapping toolPAR Options – Options of the place & route tool
![Page 30: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/30.jpg)
ResultFilesreport_execution_time.txt
xilinx : spartan3 +---------+-----------------+-----+----------------+---------------------+--------------+| GENERIC | DEVICE | RUN | Synthesis Time | Implementation Time | Elapsed Time |+---------+-----------------+-----+----------------+---------------------+--------------+| default | xc3s200ft256-5* | 1 | 0d 0h:0m:12s | 0d 0h:0m:36s | 0d 0h:0m:48s |+---------+-----------------+-----+----------------+---------------------+--------------+
xilinx : spartan6 +---------+------------------+-----+----------------+---------------------+--------------+| GENERIC | DEVICE | RUN | Synthesis Time | Implementation Time | Elapsed Time |+---------+------------------+-----+----------------+---------------------+--------------+| default | xc6slx9csg324-3* | 1 | 0d 0h:0m:21s | 0d 0h:1m:13s | 0d 0h:1m:34s |+---------+------------------+-----+----------------+---------------------+--------------+
xilinx : virtex5 +---------+-------------------+-----+----------------+---------------------+--------------+| GENERIC | DEVICE | RUN | Synthesis Time | Implementation Time | Elapsed Time |+---------+-------------------+-----+----------------+---------------------+--------------+| default | xc5vlx20tff323-2* | 1 | 0d 0h:0m:39s | 0d 0h:1m:50s | 0d 0h:2m:29s |+---------+-------------------+-----+----------------+---------------------+--------------+
xilinx : virtex6 +---------+-------------------+-----+----------------+---------------------+--------------+| GENERIC | DEVICE | RUN | Synthesis Time | Implementation Time | Elapsed Time |+---------+-------------------+-----+----------------+---------------------+--------------+| default | xc6vlx75tff784-3* | 1 | 0d 0h:0m:22s | 0d 0h:3m:22s | 0d 0h:3m:44s |+---------+-------------------+-----+----------------+---------------------+--------------+
Synthesis Time - Time of SynthesisImplementation Time - Time of ImplementationElapsed Time - Total Time
![Page 31: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/31.jpg)
design.config.txtFunctionalSimulation(1)
#FUNCTIONAL_VERFICATION_MODE =<on|off>FUNCTIONAL_VERIFICATION_MODE =<off>
#directorycontainingsourcefilesofthetestbenchVERIFICATION_DIR =<examples/sha256_rs/tb>
#Afilecontainingalistoftestbenchfilesintheordersuitableforcompilation;#lowlevelmodulesfirst,toplevelentitylast.#Testvectorfilesshouldbelocatedinthesamedirectoryandlisted#inthesamefile,unlessfixedpathisused.Pleaserefertotutorialformoredetail.VERIFICATION_LIST_FILE =<tb_srcs.txt>
#nameoftestbench'stoplevelentityTB_TOP_LEVEL_ENTITY =<sha_tb>
#nameoftestbench'stoplevelarchitectureTB_TOP_LEVEL_ARCH =<behavior>
![Page 32: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/32.jpg)
design.config.txtFunctionalSimulation(2)
#MAX_TIME_FUNCTIONAL_VERIFICATION =<$time$unit># supportedunitare:ps,ns,us,andms# ifblank,simulationwillrununtilitfinishes=#=nochangesinsignals,i.e., clockisstoppedandnomoreinputscomingin.MAX_TIME_FUNCTIONAL_VERIFICATION =<>
#Performonlyverification(synthesisandimplementationparametersareignored)#VERIFICATION_ONLY =<ON|OFF>VERIFICATION_ONLY =<off>
![Page 33: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/33.jpg)
33
ATHENa – Databaseof Results
![Page 34: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/34.jpg)
34
ATHENa Databasehttp://cryptography.gmu.edu/athenadb
![Page 35: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/35.jpg)
35
ATHENa Database – Result View• Algorithm parameters• Design parameters
§ Optimization target§ Architecture type§ Datapath width§ I/O bus widths§ Availability of source code
§ Platform§ Vendor, Family, Device
§ Timing§ Maximum clock frequency§ Maximum throughput
§ Resource utilization§ Logic blocks (Slices/LEs/ALUTs)§ Multipliers/DSP units
§ Tools§ Names & versions§ Detailed options
§ Credits§ Designers & contact information
![Page 36: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/36.jpg)
36
ATHENa Database – Compare Feature
Matching fields in greyNon-matching fields in red and blue
![Page 37: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/37.jpg)
37
• Already available athttp://cryptography.gmu.edu/athena
• Similar to the database of results for hash functions
• Results can be entered by designers themselves.
• The ATHENa Option Optimization Tool supports automaticgeneration of results suitable for uploading to the database
ATHENa Database of Results for Authenticated Ciphers
![Page 38: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/38.jpg)
38
Ordered Listing with a Single-Best (Unique) Result per Each Algorithm
![Page 39: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/39.jpg)
39
![Page 40: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/40.jpg)
40
![Page 41: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/41.jpg)
41
![Page 42: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/42.jpg)
42
Possible Future Customizations
The same basic database can be customized
and adapted for other domains, such as
• Digital Signal Processing
• Bioinformatics
• Communications
• Scientific Computing, etc.
![Page 43: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/43.jpg)
43
Source Codes
![Page 44: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/44.jpg)
44
• GMU Source Codes forall Round 3 SHA-3 Candidates & SHA-2
made available at the ATHENa website at:http://cryprography.gmu.edu/athena
• Included in this release:• Basic architectures• Folded architectures• Unrolled architectures• Each code supports two variants:
with 256-bit and 512-bit output.• Each source code accompanied by comprehensive
hierarchical block diagrams
GMU Source Codes and Block Diagrams
![Page 45: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/45.jpg)
45
ATHENa Result Replication Files• Scripts and configuration files sufficient to easily
reproduce all results (without repeating optimizations)• Automatically created by ATHENa for all
results generated using ATHENa• Stored in the ATHENa Database
In the same spirit of Reproducible Research as:
• Patrick Vandewalle1, Jelena Kovacevic2, and Martin Vetterli1 (1EPFL, 2CMU)Reproducible research in signal processing - what, why, and how. IEEE Signal Processing Magazine, May 2009. http://rr.epfl.ch/17/
• J. Claerbout (Stanford University)“Electronic documents give reproducible research a new meaning,”in Proc. 62nd Ann. Int. Meeting of the Soc. of Exploration Geophysics, 1992, http://sepwww.stanford.edu/doku.php?id=sep:research:reproducible:seg92
.....
![Page 46: ECE 545 Lecture 14 ATHENa - Automated Tool for Hardware ...ece.gmu.edu/coursewebpages/ECE/ECE545/F15/... · design.config.txt Your Design # directory containing synthesizable source](https://reader030.vdocument.in/reader030/viewer/2022040922/5e9be4efcce76833a42dc7dc/html5/thumbnails/46.jpg)
46
Benchmarking Goals Facilitated by ATHENa
1. cryptographic algorithms
2. hardware architectures or implementationsof the same cryptographic algorithm
3. hardware platforms from the point of view of their suitability for the implementation of a given algorithm,(e.g., choice of an FPGA device or FPGA board)
4. tools and languages in terms of qualityof results they generate (e.g. Verilog vs. VHDL, Synplicity Synplify Premier vs. Xilinx XST, ISE v. 13.1 vs. ISE v. 14.7)
Comparing multiple: