Enviar pesquisa
Carregar
Wildcard expansion
•
0 gostou
•
255 visualizações
M
mayank_nsit
Seguir
Tecnologia
Negócios
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Baixar para ler offline
Recomendados
Pmr trial-2010-math-qa-perak
Pmr trial-2010-math-qa-perak
pheobi PHEOBI
Topic 2 fractions
Topic 2 fractions
School of Malaysia
Global Financial Markets & The Recent Credit Crisis: Impressions from a Perso...
Global Financial Markets & The Recent Credit Crisis: Impressions from a Perso...
Markus Krebsz
Duy may chap
Duy may chap
ngocduy2009
ICT Kedah 2010
ICT Kedah 2010
dean36
Back Splash options
Back Splash options
Jon Olson
Thomson 368
Thomson 368
skywu26
Butoke
Butoke
mike
Mais conteúdo relacionado
Mais procurados
1362 1363 1352 1353 ball valve with elect and pneu actuator
1362 1363 1352 1353 ball valve with elect and pneu actuator
Chaitannya Mahatme
Greg Lollback_Variation in biomass estimation among replicated PPBio PTER plo...
Greg Lollback_Variation in biomass estimation among replicated PPBio PTER plo...
TERN Australia
Ball spline
Ball spline
ochiba
Metrics
Metrics
Vijayan Reddy
Acordes piano
Acordes piano
cmusica
Tajmahal e a4
Tajmahal e a4
paciffic
Mais procurados
(6)
1362 1363 1352 1353 ball valve with elect and pneu actuator
1362 1363 1352 1353 ball valve with elect and pneu actuator
Greg Lollback_Variation in biomass estimation among replicated PPBio PTER plo...
Greg Lollback_Variation in biomass estimation among replicated PPBio PTER plo...
Ball spline
Ball spline
Metrics
Metrics
Acordes piano
Acordes piano
Tajmahal e a4
Tajmahal e a4
Último
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
Aggregage
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
IES VE
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
Seth Reyes
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UbiTrack UK
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
UiPathCommunity
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
Jamie (Taka) Wang
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
Matsuo Lab
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
shyamraj55
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
D Cloud Solutions
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Mahmoud Rabie
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Will Schroeder
Nanopower In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
Pedro Manuel
20150722 - AGV
20150722 - AGV
Jamie (Taka) Wang
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
Eric D. Schabell
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
Brian Pichman
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
infogdgmi
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
Liveplex
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
IES VE
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IES VE
Último
(20)
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Nanopower In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
20150722 - AGV
20150722 - AGV
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
Wildcard expansion
1.
Wildcard Match Mayank Gupta
and Rajpal Singh 0in FE Noida March, 2012
2.
Agenda
Introduction Motivation New Flow Class Hierarchy © 2011 Mentor Graphics Corp. Company Confidential 2 Mayank, Wildcard Match, March 2012 www.mentor.com
3.
Motivation
Efficiently matching a regular expression in a RTL design. Use NELT to do matching. — Previous flow creates a separate data structure altogether to do matching. — Using NELT hierarchy would reduce memory usage. Enhance Functionality. © 2011 Mentor Graphics Corp. Company Confidential 3 Mayank, Wildcard Match, March 2012 www.mentor.com
4.
New Flow
• Tokenizing Pattern Tokenize • Store it in appropriate Data structure • Start matching on NELT. Match on NELT • Do matching on UTG. • For Record/Arrays. Match on UTG © 2011 Mentor Graphics Corp. Company Confidential 4 Mayank, Wildcard Match, March 2012 www.mentor.com
5.
New Flow
STEP 1 : Tokenize wildcard Eg : Wildcard is ―a*.b*.*.*c*‖ a* b* * *c* © 2011 Mentor Graphics Corp. Company Confidential 5 Mayank, Wildcard Match, March 2012 www.mentor.com
6.
New Flow
STEP 2 : Start matching nodes in NELT - Match current token with top‘s children top a1 b1 a* b* * *c* a aa b2 b c1 b c1 c C © 2011 Mentor Graphics Corp. Company Confidential 6 Mayank, Wildcard Match, March 2012 www.mentor.com
7.
New Flow
- Match ―b*‖ with children of a1 top a1 b1 a aa b2 a* b* * *c* b c1 b c1 c C © 2011 Mentor Graphics Corp. Company Confidential 7 Mayank, Wildcard Match, March 2012 www.mentor.com
8.
New Flow
- Match ―*‖ with children of b2 top a1 b1 a aa b2 b c1 a* b* * *c* b c1 c c © 2011 Mentor Graphics Corp. Company Confidential 8 Mayank, Wildcard Match, March 2012 www.mentor.com
9.
New Flow
- Match ―*c*‖ and ―*‖ with children of c1 top a1 b1 a aa b2 b c1 a* b* * *c* b c1 c c a* b* * *c* Final Match © 2011 Mentor Graphics Corp. Company Confidential 9 Mayank, Wildcard Match, March 2012 www.mentor.com
10.
New Flow
Step 3 : Match on UTG hierarchy — If we hit a record/Array/Subtype we match using UTG Hierarchy. © 2011 Mentor Graphics Corp. Company Confidential 10 Mayank, Wildcard Match, March 2012 www.mentor.com
11.
Why match using
UTG? Because we do not create NELT for record symbols. top a1 b1 Record1 a b2 b Record2 f1 f2 b f21 f22 No NELT for this portion Hence we use UTG for matching inside records. © 2011 Mentor Graphics Corp. Company Confidential 11 Mayank, Wildcard Match, March 2012 www.mentor.com
12.
Tokenizing a wildcard
A token can be of two types : — String Token — Star Token TokenBase Star token is simply a ‗*‘ String token is anything other StringToken StarToken than ‗*‘ Eg : ―a*.b*.*.*c*‖ — String Tokens are a*,b*,*c* Class Hierarchy — Star token is only 1 here - * © 2011 Mentor Graphics Corp. Company Confidential 12 Mayank, Wildcard Match, March 2012 www.mentor.com
13.
How to do
Hierarchical Match? How we ensure that we match hierarchy in case of ‗*‘ Star Token There are two types of ‗*‘ — Local Match Star — Hierarchical Match Star Local Match Star Hierarchical Match Star Local Star matches only the nodes at current level Two types of ‗*‘ in regex Hierarchical Star matches all the nodes at current and lower level. © 2011 Mentor Graphics Corp. Company Confidential 13 Mayank, Wildcard Match, March 2012 www.mentor.com
14.
How to do
Hierarchical Match? Example. If pattern is ―a*.b*.*.*c*‖ Star Token It will be converted to Hierarchical Local Match Star Match Star a* H* b* H* L* H* *c* H* Two types of ‗*‘ in regex © 2011 Mentor Graphics Corp. Company Confidential 14 Mayank, Wildcard Match, March 2012 www.mentor.com
15.
Organizing Tokens
Class NeltTokenArray contains — vector<TokenBase*> a* b* * *c* Class NeltTokenIndex contains — NeltTokenArray* a* b* * *c* — Index (current token) Index Class NeltRegexExpr contains — Vector<NeltTokenIndex*> a* b* * *c* a* b* * *c* a* b* * *c* Index Index Index © 2011 Mentor Graphics Corp. Company Confidential 15 Mayank, Wildcard Match, March 2012 www.mentor.com
16.
Manager Classes
Class NeltRegexMgr is used to match on NELT. Class NeltUtgRegexMgr is used to match on UTG . It is the responsibility of NeltRegexMgr to invoke NeltUtgRegexMgr. © 2011 Mentor Graphics Corp. Company Confidential 16 Mayank, Wildcard Match, March 2012 www.mentor.com
17.
C++ classes
NeltRegexMgr NeltTraverse NeltUtgTypeTraverse — NeltTraverse NeltUtgRegexMgr NeltRegexMgr NeltUtgRegexMgr — NeltTypeTraverse NeltRegexExpr NeltTokenIndex NeltTokenIndex TokenBase — NeltUtgTokenIndex NeltTokenArray NeltUtgTokenIndex StringToken StarToken TokenBase — StringToken — StarToken © 2011 Mentor Graphics Corp. Company Confidential 17 Mayank, Wildcard Match, March 2012 www.mentor.com
18.
Source Code
Source files — src/commonpp/nelt – neltRegexMgr.cxx – neltRegexMgr.hxx – neltUtgRegexMgr.cxx – neltUtgRegexMgr.hxx – neltRegexUtils.cxx – neltRegexUtils.hxx © 2011 Mentor Graphics Corp. Company Confidential 18 Mayank, Wildcard Match, March 2012 www.mentor.com
19.
Performance data
S.No Test Case Old Flow Time(s) New Flow Time(s) 1 Parme 161 484 2 Oracle 1814 1658 © 2011 Mentor Graphics Corp. Company Confidential 19 Mayank, Wildcard Match, March 2012 www.mentor.com
20.
Future Work
Add a new class SliceToken deriving from TokenBase to store tokens of the form tok[slice] Avoid duplicate matching — Eg : ―a*.a*b‖ is expanded into two patterns : 1) a*.H*.a*b 2) a*.H*.a*.H*.*b Both the patterns have ―a*.H*‖ in the beginning and hence it gets matched twice. © 2011 Mentor Graphics Corp. Company Confidential 20 Mayank, Wildcard Match, March 2012 www.mentor.com
21.
www.mentor.com
© 2011 Mentor Graphics Corp. Company Confidential 21 Mayank, Wildcard Match, March 2012 www.mentor.com
Baixar agora