{"id":1672,"date":"2025-04-25T13:15:33","date_gmt":"2025-04-25T05:15:33","guid":{"rendered":"https:\/\/dop.lyg-semi.com\/?page_id=1672"},"modified":"2025-12-09T12:28:30","modified_gmt":"2025-12-09T04:28:30","slug":"dfa-manual","status":"publish","type":"page","link":"https:\/\/dop.lyg-semi.com\/index.php\/dfa-manual\/","title":{"rendered":"DFA \u7528\u6237\u624b\u518c"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>1. \u5f15\u8a00<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.1 DFA \u5de5\u5177\u5b9a\u4f4d<\/h3>\n\n\n\n<p>DFA\uff08Design Flow Automation\uff09\u662fDOP\uff08Design Operation Platform\uff09\u7684\u6838\u5fc3\u6a21\u5757\uff0c\u901a\u8fc7<strong>\u7ed3\u6784\u5316\u914d\u7f6e\u6587\u4ef6\uff08Ticket\uff09<\/strong>\u548c<strong>\u6d41\u7a0b\u5b9a\u4e49\u6587\u4ef6\uff08.dfd\uff09<\/strong>\uff0c\u5b9e\u73b0\u96c6\u6210\u7535\u8def\u8bbe\u8ba1\u6d41\u7a0b\u7684\u6807\u51c6\u5316\u548c\u81ea\u52a8\u5316\uff0c\u4f7f\u7528\u8005\u53ea\u8981\u6240\u6309\u7167\u9700\u6c42\u586b\u5165Ticket\u53c2\u6570. \u5c31\u53ef\u4ee5\u8c03\u7528\u7cfb\u7d71\u9884\u5148\u8bbe\u5b9a\u7684Design Flow\u6d41\u7a0b\u8303\u672c, \u4ea7\u751f\u53ef\u6267\u884c\u7684EDA\u5de5\u4f5c\u73af\u5883\u76ee\u5f55\u3002\u5176\u6838\u5fc3\u4ef7\u503c\u5305\u62ec\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u6d88\u9664\u4eba\u4e3a\u5dee\u5f02<\/strong>\uff1a\u901a\u8fc7Ticket\u7edf\u4e00\u8f93\u5165\u53c2\u6570\u3001\u5de5\u827a\u5e93\u7248\u672c\u53ca\u6d41\u7a0b\u914d\u7f6e\u3002<\/li>\n\n\n\n<li><strong>\u590d\u6742\u6d41\u7a0b\u7ba1\u7406<\/strong>\uff1a\u652f\u6301\u591a\u6b65\u9aa4\u5d4c\u5957\u6d41\u7a0b\uff08\u5982\u7efc\u5408\u2192\u65f6\u5e8f\u5206\u6790\u2192\u7269\u7406\u9a8c\u8bc1\uff09\u3002<\/li>\n\n\n\n<li><strong>\u8d28\u91cf\u4e0e\u6548\u7387\u63d0\u5347<\/strong>\uff1a\u96c6\u6210DQI\uff08Design Quality Indicator\uff09\uff0c\u81ea\u52a8\u63d0\u53d6\u5173\u952e\u6307\u6807\u5e76\u751f\u6210\u62a5\u544a\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">1.2 \u9002\u7528\u89d2\u8272\u4e0e\u573a\u666f<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u89d2\u8272<\/strong><\/th><th><strong>\u5178\u578b\u573a\u666f<\/strong><\/th><th><strong>\u5173\u952e\u64cd\u4f5c<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u82af\u7247\u8bbe\u8ba1\u5de5\u7a0b\u5e08<\/strong><\/td><td>\u65e5\u5e38\u4efb\u52a1\u6267\u884c\uff08Synthesis\u3001STA\uff09\u3001\u6570\u636e\u63d0\u4ea4\u4e0e\u7248\u672c\u7ba1\u7406<\/td><td>\u7f16\u8f91Ticket\u3001\u751f\u6210\u8fd0\u884c\u76ee\u5f55\u3001\u6267\u884c\u6d41\u7a0b<\/td><\/tr><tr><td><strong>\u6d41\u7a0b\u8bbe\u8ba1\u5de5\u7a0b\u5e08<\/strong><\/td><td>\u7ef4\u62a4\u6d41\u7a0b\u6a21\u677f\u3001\u4f18\u5316\u811a\u672c\u3001\u5f00\u53d1\u6d41\u7a0b\u8303\u672c<\/td><td>\u7f16\u5199.dfd\u6587\u4ef6\u3001\u8c03\u8bd5\u6d41\u7a0b\u903b\u8f91<\/td><\/tr><tr><td><strong>\u9879\u76ee\u7ecf\u7406<\/strong><\/td><td>\u76d1\u63a7\u6d41\u7a0b\u72b6\u6001\u3001\u5ba1\u8ba1\u8bbe\u8ba1\u8d28\u91cf\u3001\u534f\u8c03\u8de8\u56e2\u961f\u534f\u4f5c<\/td><td>\u67e5\u770bDQI\u62a5\u544a\u3001\u6267\u884c\u5168\u5c40\u5ba1\u8ba1<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. \u7cfb\u7edf\u8981\u6c42\u4e0e\u5b89\u88c5<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 \u786c\u4ef6\u4e0e\u8f6f\u4ef6\u8981\u6c42<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u7ec4\u4ef6<\/strong><\/th><th><strong>\u89c4\u683c<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>\u8ba1\u7b97\u8282\u70b9<\/strong><\/td><td>64\u6838CPU\/256GB RAM\uff0c\u652f\u6301Slurm\u4f5c\u4e1a\u8c03\u5ea6<\/td><\/tr><tr><td><strong>\u8f6f\u4ef6\u4f9d\u8d56<\/strong><\/td><td>Python 3.8+\u3001EDA\u5de5\u5177\u94fe\uff08Synopsys\/Cadence\/Mentor\uff09<\/td><\/tr><tr><td><strong>\u5e73\u53f0\u7ec4\u4ef6<\/strong><\/td><td>DVC \uff08\u7248\u672c\u63a7\u5236\uff09\u3001TLP \uff08\u5de5\u827a\u5e93\u7ba1\u7406\uff09\u3001DQI\uff08\u8d28\u91cf\u6307\u6807\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2.2 \u5b89\u88c5\u4e0e\u914d\u7f6e\u6b65\u9aa4<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u4e0b\u8f7dDFA\u8f6f\u4ef6\u5305<\/strong>\uff1a\u901a\u8fc7\u7ec8\u7aef\u6216\u547d\u4ee4\u63d0\u793a\u7b26\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4e0b\u8f7d DFA \u5305git clone https:\/\/gitlab.lyg-semi.com\/ly0108\/dfa.git<\/li>\n\n\n\n<li><strong>\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf<\/strong>\uff1a\u4e0b\u8f7d\u5b8c\u6210\u540e\uff0csource DFA\u73af\u5883\u53d8\u91cf\u5230\u60a8\u7684\u5f53\u524d shell \u4f1a\u8bdd source dfa-master\/cshrc_dfa &nbsp;<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. \u7528\u6237\u754c\u9762\u4e0e\u6838\u5fc3\u6982\u5ff5<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 DFA \u7cfb\u7edf\u67b6\u6784<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/youke1.picui.cn\/s1\/2025\/07\/25\/6882e2e64c519.png\" alt=\"DFA_structure.png\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DFA\u603b\u4f53\u67b6\u6784\u5206\u4e3a\u5982\u56fe\u6240\u793a\u7684\u90e8\u5206<\/strong>\uff0c\u5176\u4e2d\u6700\u4e3b\u8981\u7684\u90e8\u5206\u4e3a\u4ee5\u4e0b\uff1a<strong><code>ticket<\/code><\/strong>\uff1a\u50a8\u5b58\u4e0edesign flow\u5bf9\u5e94\u7684ticket\u6587\u4ef6\u7684\u4ed3\u5e93\u76ee\u5f55\uff0c\u76ee\u5f55\u7ed3\u6784\u4e3a\u5982\u56fe\u6240\u793a\u7684<code>stage_id\/flow_ref_id<\/code>\u7684\u683c\u5f0f\u3002 <strong><code>cshrc_dfa<\/code><\/strong>\uff1aDFA \u73af\u5883\u914d\u7f6e\u6587\u4ef6\u3002 <strong><code>flow<\/code><\/strong>\uff1a\u50a8\u5b58\u6784\u5efa\u8d77EDA\u5de5\u4f5c\u73af\u5883\u7684design flow\u7684\u811a\u672c\u7684\u76ee\u5f55\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 \u4e0eDOP\u5404\u4e2a\u6a21\u5757\u7684\u4ea4\u4e92<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">3.2.1 DOP\u6982\u8ff0<\/h4>\n\n\n\n<p>DOP\uff08Design Operation Platform\uff09\u662f\u82af\u7247\u8bbe\u8ba1\u5168\u6d41\u7a0b\u7ba1\u7406\u5e73\u53f0\uff0c\u5305\u542b\u4ee5\u4e0b\u6838\u5fc3\u6a21\u5757\uff1a<\/p>\n\n\n\n<p><strong><code>DVC\uff08Design Version Control\uff09<\/code><\/strong>\uff1a\u7ba1\u7406\u8bbe\u8ba1\u6570\u636e\u7248\u672c\uff0c\u652f\u6301\u5206\u652f\u3001\u6807\u7b7e\u548c\u7248\u672c\u56de\u6eda\u3002<\/p>\n\n\n\n<p><strong><code>TLM\uff08Technology Library Management\uff09<\/code><\/strong>\uff1a\u6807\u51c6\u5355\u5143\u5e93\u7684\u5b89\u88c5\u3001\u66f4\u65b0\u4e0e\u8def\u5f84\u7ba1\u7406\u3002<\/p>\n\n\n\n<p><strong><code>DFA\uff08Design Flow Automation\uff09<\/code><\/strong>\uff1a\u81ea\u52a8\u5316\u6267\u884c\u8bbe\u8ba1\u6d41\u7a0b\uff0c\u652f\u6301\u591a\u6d41\u7a0b\u7ec4\u5408\u4e0e\u52a8\u6001\u6269\u5c55\u3002<\/p>\n\n\n\n<p><strong><code>DQI\uff08Design Quality Indicator\uff09<\/code><\/strong>\uff1a\u81ea\u52a8\u5316\u751f\u6210\u8bbe\u8ba1\u8d28\u91cf\u62a5\u544a\uff0c\u652f\u6301\u8de8\u9879\u76ee\u5bf9\u6bd4\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3.2.2 DFA\u4e0eDOP\u5404\u4e2a\u6a21\u5757\u7684\u4ea4\u4e92<\/h4>\n\n\n\n<p><strong><code>DVC<\/code><\/strong>\uff1a\u4ece DVC\uff08Design Version Control\uff09\u83b7\u53d6\u4ee5\u53ca\u5b58\u50a8\u8bbe\u8ba1\u6570\u636e\uff0c\u786e\u4fdd\u6d41\u7a0b\u8f93\u5165\u7684\u4e00\u81f4\u6027\u3002\uff08<code>DVC_SRC<\/code>\u4e3a\u8f93\u5165\u8def\u5f84\uff0c<code>DVC_DST<\/code>\u4e3a\u8f93\u51fa\u8def\u5f84\uff09\u3002<\/p>\n\n\n\n<p><strong><code>TLM<\/code><\/strong>\uff1a\u901a\u8fc7 TLM\uff08Technology Library Management\uff09\u81ea\u52a8\u52a0\u8f7d\u6280\u672f\u5e93\u8def\u5f84\uff0c\u907f\u514d\u624b\u52a8\u914d\u7f6e\u9519\u8bef\uff08\u901a\u8fc7\u5728<code>TECHLIB<\/code>\u5b57\u6bb5\u6307\u5b9a\u5e93\u914d\u7f6e\u6587\u4ef6\uff09\u3002<\/p>\n\n\n\n<p><strong><code>DQI<\/code><\/strong>\uff1a\u81ea\u52a8\u5316\u751f\u6210\u8d28\u91cf\u62a5\u544a\uff08\u5982\u65f6\u5e8f\u8fdd\u4f8b\u3001\u529f\u8017\u5206\u6790\uff09\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.3 \u5173\u952e\u914d\u7f6e\u6587\u4ef6<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><ul><li><strong>Stander Ticket Format(.stf)<\/strong>\uff1a ticket\u6587\u4ef6\u662fDFA\u7684\u6838\u5fc3\u914d\u7f6e\u6587\u4ef6\uff0c\u4e3b\u8981\u7528\u4e8e\u5b9a\u4e49flow\u7684\u8f93\u5165\/\u8f93\u51fa\u8def\u5f84\u3001\u7248\u672c\u63a7\u5236\u4fe1\u606f\u3001\u5de5\u827a\u5e93\u914d\u7f6e\u53ca\u8fd0\u884c\u53c2\u6570\uff0c\u7528\u6237\u901a\u8fc7\u5728ticket\u6587\u4ef6\u4e2d\u6309\u7167\u9700\u6c42\u586b\u5165\u53c2\u6570\uff0c\u5c31\u4f1a\u6784\u5efa\u51fa\u5bf9\u5e94design flow\u7684EDA\u5de5\u4f5c\u73af\u5883\uff0cticket\u683c\u5f0f\u5982\u4e0b\uff1a<\/li><\/ul><\/li>\n\n\n\n<li><ul><li><strong>[HEADER]<\/strong><br>## DESCRIPTION : flow name &amp; run directory<br>## ARGUMENT \u00a0 : &lt; flow_name:run_dir_name >, ex. 510_RCX:rcxt_spef<br>FLOW_ID = flow_reference_id:ticket_run_dir<br>\u200b<br>## DESCRIPTION : techlib confilg file from TLM<br>## ARGUMENT \u00a0 : &lt; techlib config file name >, ex.dfalib.cfg<br>TECHLIB = techlib_config_file<br>\u200b<br>## DESCRIPTION : source path from DVC<br>## ARGUMENT \u00a0 : &lt; source path >, ex.phase\/block\/stage\/v1<br>DVC_SRC = design_source_version_path<br>\u200b<br>## DESCRIPTION : destination path from DVC<br>## ARGUMENT \u00a0 : &lt; destination path >, ex.phase\/block\/stage\/v2<br>DVC_DST = design_dest_version_path<br>\u200b<br>## DESCRIPTION : top module name<br>## ARGUMENT \u00a0 : &lt; top module name >, ex.design<br>DESIGN \u00a0= top_module_name<br>\u200b<br>\u200b<br><strong>[INPUT]<\/strong><br>## DESCRIPTION : input file of this flow<br>## ARGUMENT \u00a0 : &lt; path | file_name >, ex. netlist.v<br>input_ref_id1 \u00a0= input_file_name<br>input_ref_id2 \u00a0= input_dir_name<br>\u200b<br>\u200b<br><strong>[OUTPUT]<\/strong><br>## DESCRIPTION : output file of this flow<br>## ARGUMENT \u00a0 : &lt; output file_name >, ex. netlist.v<br>output_ref_id1 = output_file_name<br>output_ref_id2 = output_dir_name<br>\u200b<br>\u200b<br><strong>[PARAM]<\/strong><br>## DESCRIPTION : Script path of EDA tool<br>## ARGUMENT \u00a0 : &lt;eda_tool_path_script>, ex. encounter<br>TOOL = encounter<br>\u200b<br>## DESCRIPTION : Set tool option<br>## ARGUMENT \u00a0 : &lt;eda_tool_options> ex. tool version, &#8230;<br>TOOL_OPTION = -uv 9.10-e014_1 -u64<br>\u200b<br>## DESCRIPTION : Specify queue name<br>## ARGUMENT \u00a0 : [Local | FE | BE ]<br>## if QUEUE = Local, only run job in local machine<br>QUEUE = Local<br>\u200b<br>## DESCRIPTION: Set queue option<br>## ARGMENT \u00a0 : &lt;queue_options> \u00a0 #ex. slurm&#8217;s options<br>QUEUE_OPTION = -mem=64 -c 1 \u00a0 #slurm&#8217;s options<br>\u200b<br>## DESCRIPTION : PARAMETER of this flow<br>## ARGUMENT \u00a0 : &lt; path | parameter >, ex. Typ_85c<br>parameter_id1 \u00a0= parameter_value1<br>parameter_id2 \u00a0= parameter_value2<br>&#8230;<strong>Standard Ticket Format\u6863\u6848\u5305\u542b\u7684\u4e0b\u5217\u5185\u5bb9<\/strong>\uff1a<ul><li><strong>\u8bbe\u8ba1\u73af\u5883\u53c2\u6570 (GLOBAL\/HEADER)<\/strong> \u6307\u5b9a\u4f7f\u7528\u7684\u6d41\u7a0b\u8303\u672c\uff0c\u5de5\u827aPDK\uff0c\u8bbe\u8ba1\u8d44\u6599\u5e93Version&#8230;.<strong>\u8f93\u5165\u6863\u6848(INPUT)<\/strong> \u5305\u542b\u8bbe\u8ba1\u8d44\u6599(design db)\uff0c\u8bbe\u8ba1\u89c4\u8303\u6587\u6863\uff08constraint\uff09<strong>\u8f93\u51fa\u6863\u6848 (OUTPUT)<\/strong> \u5b8c\u6210\u7684\u8bbe\u8ba1\u8d44\u6599\uff08design db\uff09, \u8bbe\u8ba1\u8d28\u91cf\u62a5\u544a(report), \u6267\u884c\u8fc7\u7a0b\u8bb0\u5f55(log) ,\u7b49\u7b49<strong>\u8bbe\u8ba1\u89c4\u8303\u53c2\u6570\uff08Parameters\uff09<\/strong> \u6839\u636e\u4f7f\u7528\u7684\uff08EDA\u5de5\u5177Flow\u6d41\u7a0b\/\u5236\u6210\u5de5\u827aProcess\uff09\u6240\u9700\u8981\u7684\u53c2\u6570\u5217\u8868\uff0c\u4ee5\u53ca\u9884\u8bbe\u7684\u503c\u3002<\/li><\/ul><strong>\u5b57\u6bb5\u8bf4\u660e<\/strong><ul><li><code>TICKET<\/code>\uff1aTicket\u6587\u4ef6\u7684\u540d\u5b57\uff0c\u4e00\u822c\u683c\u5f0f\u90fd\u4e3aTXXX_XXX\uff08ex. T510_RCXT\uff09<code>FLOW_ID<\/code>\uff1a\u7ed1\u5b9a\u6d41\u7a0b\u6a21\u677f\uff0c\u683c\u5f0f\u4e3a <code>reference_id:ticket_run_dir<\/code> \uff0c\u5176\u4e2d reference_id \u4e0eDFA \u4e2d\u5bf9\u5e94\u7684reference flow\u7684\u540d\u5b57\u76f8\u540c\uff0c\u5728ticket build\u65f6\u5c06reference id flow\u4e0b\u7684flow script \u590d\u5236\u5230ticket_run_dir\u4e2d\uff0c <code>ticket_run_dir<\/code> \u4e3a\u672c\u6b21\u8fd0\u884c\u76ee\u5f55\u540d\u3002\u82e5\u7701\u7565\u76ee\u5f55\u540d\u5219\u9ed8\u8ba4\u4f7f\u7528<code>reference_id<\/code> \u4f5c\u4e3a\u76ee\u5f55\u540d\u3002<code>TECHLIB<\/code>\uff1a\u6307\u5411 TLP\uff08Technology Library Package\uff09\u7ba1\u7406\u7684\u5de5\u827a\u5e93\u914d\u7f6e\u6587\u4ef6\uff0c\u683c\u5f0f\u4e3a\u8fd9\u4e2a\u914d\u7f6e\u6587\u4ef6\u7684\u7edd\u5bf9\u8def\u5f84<code>DVC_SRC\/DVC_DST<\/code>\uff1aDVC_SRC\u4e3a\u8f93\u5165\u8bbe\u8ba1\u7248\u672c\uff0c\u9700\u901a\u8fc7checkout\u5c06design data\u4eceDVC\u4e2d\u68c0\u51fa\u5230\u672c\u5730\u3002 DVC_DST \u4e3a\u8f93\u51fa\u76ee\u6807\u8def\u5f84\uff0cflow run\u5b8c\u7ed3\u679c\u901a\u8fc7checkin\u5c06design data\u63d0\u4ea4\u5230DVC\u3002<code>DESIGN<\/code>:\u5bf9design\u8fdb\u884c\u547d\u540d<code>[INPUT\/OUTPUT]<\/code>:\u5bf9\u8f93\u5165\u8f93\u51fa\u6587\u4ef6\u540d\u5b9a\u4e49<code>[PARAM]<\/code>:\u53c2\u6570\u5b9a\u4e49<\/li><\/ul><\/li><\/ul><strong>\u6ce8\uff1a<\/strong><ul><li>Ticket\u7684[INPUT]\u4e2d\u53c2\u6570\u7684\u503c\u652f\u6301\u4ee5\u7edd\u5bf9\u8def\u5f84\u53bb\u6307\u5b9a\u8f93\u5165\u6587\u6863\uff0c\u4f8b\u5982\uff1a<\/li><\/ul>#\u7edd\u5bf9\u8def\u5f84<br><strong>[INPUT]<\/strong><br>NETLIST_FILE = \/home\/netlist\/design.v<ul><li>[INPUT]\u4e0b\u7684\u53c2\u6570\u540c\u6837\u652f\u6301\u4ee5\u76f8\u5bf9\u8def\u5f84\u53bb\u6307\u5b9a\u4f4d\u4e8eDVC\u4e0b\u7684\u6587\u6863\uff0c\u6b64\u76f8\u5bf9\u8def\u5f84\u662f\u76f8\u5bf9\u4e8eDVC_SRC\u7684\u56db\u5c42\u76ee\u5f55\u4e0b\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u4ee5\u4e0b\u9762\u7247\u6bb5\u4e3a\u4f8b\u82e5\u8981\u4f7f\u7528DVC\u7684phase\/block\/stage\/version\/netlist\/design.v\u8fd9\u4e00\u8def\u5f84\u4e0b\u7684design.v\u7684\u5316\u5219\u9700\u6309\u7167\u5982\u4e0b\u4f8b\u5b50\u65b9\u5f0f\u586b\u5199\uff1a<\/li><\/ul>#DVC\u4e2d\u7684data<br>DVC_SRC = phase\/block\/stage\/version<br>&#8230;<br><strong>[INPUT]<\/strong><br>NETLIST_FILE = netlist\/design.v<ul><li>[INPUT]\u4e0b\u7684\u53c2\u6570\u503c\u7684\u76f8\u5bf9\u8def\u5f84\u9664\u4f4d\u4e8eDVC\u4e0b\u5916\uff0c\u8fd8\u6709\u53e6\u4e00\u79cd\u60c5\u51b5\u662f\u7531\u53e6\u4e00flow\u4ea7\u751f\uff0c\u6b64\u65f6INPUT\u586b\u5199\u7684\u53c2\u6570\u503c\u5219\u9700\u8981\u586b\u5199\u8fd9\u4e24\u6761flow\u7684::main\u76ee\u5f55\u7684\u76f8\u5bf9\u8def\u5f84\uff0c\u5373\u5b58\u5728\u4ee5\u4e0b\u76ee\u5f55\u7ed3\u6784\uff0c\u5176\u76f8\u5bf9\u8def\u5f84\u7684\u586b\u5199\u5219\u5982\u4e0b<\/li><\/ul>#\u76ee\u5f55\u7ed3\u6784<br>\u251c\u2500\u2500 rcxt2spef\/ \u00a0 \u00a0<br>| \u2514\u2500\u2500::main\/<br>| \u00a0 \u00a0 \u2514\u2500\u2500design.spef<br>\u2514\u2500\u2500 spef2sdf\/ \u00a0 \u00a0<br>\u2514\u2500\u2500::main\/<br>\u00a0 \u00a0 \u2514\u2500\u2500design.spef -> ..\/.inpSPEF_FILE \u00a0 \u00a0 #\u6b64\u6587\u6863\u662f\u7531rcxt2spef\u8fd9\u4e00flow\u4ea7\u751f<br>\u200b<br>#ticket\u4e2dINPUT\u586b\u5199<br><strong>[INPUT]<\/strong><br>spef2sdf\/SPEF_FILE = ..\/..\/rcxt2spef\/::main\/design.spef #\u6b64\u76f8\u5bf9\u8def\u5f84\u4e3aspef2sdf\u7684::main\u76ee\u5f55\u76f8\u5bf9\u4e8e\u539f\u59cb\u6587\u4ef6\u76ee\u5f55\u7684\u8def\u5f84<br><strong>[OUTPUT]<\/strong><br>rcxt2spef\/SPEF_FILE = design.spef<ul><li>Ticket\u4e2d\u652f\u6301\u5728\u503c\u4e2d\u4f7f\u7528\u4e0a\u4e0b\u6587\u4e2d\u7684\u53d8\u91cf\u53bb\u6307\u5b9a\u7684\u884c\u4e3a\uff0c\u4f8b\u5982\uff1a<\/li><\/ul>DESIGN = design<br>&#8230;&#8230;<br>SPEF_FILE = ${DESIGN}_${rc_corner}.spef.gz \u00a0<br>&#8230;&#8230;<br>rc_corner = cworst<ul><li>Ticket\u4e2d\u652f\u6301\u5728\u952e\u524d\u6307\u5b9a\u8def\u5f84\u7684\u884c\u4e3a\uff0c\u4e14\u9002\u7528\u901a\u914d\u7b26\u53bb\u5339\u914d\u8def\u5f84\uff0c\u4f8b\u5982\uff1a<\/li><\/ul>5M0_MMMC\/01_RCX\/cbest_125\/DEF_FILE = ${rc_corner}.def<br>&#8230;&#8230;<br>5M0_MMMC\/01_RCX\/*\/SPEF_FILE = ${DESIGN}_${rc_corner}.spef.gz<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. \u57fa\u672c\u64cd\u4f5c\u6d41\u7a0b<\/strong><\/h2>\n\n\n\n<p>\u82af\u7247\u8bbe\u8ba1\u5de5\u7a0b\u5e08\u4e3b\u8981\u901a\u8fc7\u4f7f\u7528DFA\u6765\u5b9e\u73b0\u81ea\u52a8\u6784\u5efa\u51fa\u53ef\u6267\u884c\u7684EDA\u5de5\u4f5c\u73af\u5883\uff0c\u4ee5\u4e0b\u662f\u7528\u6237\u4f7f\u7528DFA\u6784\u5efa\u6d41\u7a0b\u7684\u57fa\u672c\u64cd\u4f5c\u6b65\u9aa4<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u64cd\u4f5c\u6b65\u9aa4<\/strong>\uff1a<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Source DOP environment valuable<\/strong>\uff1a\u5728\u4f7f\u7528DFA\u524d\u5148source\u4f4d\u4e8eDOP\u4e2d\u5fc3\u76ee\u5f55\u4e0b\u7684\u73af\u5883\u53d8\u91cf\u811a\u672c\uff0c\u8fd9\u6837\u624d\u80fd\u4f7f\u7528DFA\u547d\u4ee4source \/path\/to\/DOP\/cshrc_dop<\/li>\n\n\n\n<li><strong>Checkout Ticket<\/strong>\uff1a\u82af\u7247\u8bbe\u8ba1\u5de5\u7a0b\u5e08\u4eceDFA\u4e2d\u5fc3\u8d44\u6599\u5e93\u4e2d\u4e0b\u8f7dPM\/CAD\u51c6\u5907\u7684Ticket\u6587\u4ef6\u5230\u672c\u5730\u5de5\u4f5c\u6267\u884c\u73af\u5883 dop ticket checkout &lt;Ticket file name&gt; &nbsp; &nbsp;<\/li>\n\n\n\n<li><strong>Edit Ticket<\/strong>\uff1a\u4f7f\u7528\u8005\u6839\u636e\u9700\u6c42\u4fee\u6539Ticket\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\u53c2\u6570<\/li>\n\n\n\n<li><strong>Build Ticket<\/strong>\uff1a\u6839\u636eTicket\u5b9a\u4e49\u7684\u5185\u5bb9\u4ea7\u751f\u53ef\u6267\u884c\u7684EDA\u5de5\u4f5c\u73af\u5883\uff08create run directory &amp; Makefile\uff09,\u5305\u542b\u628a\u6240\u9700\u8981\u7684\u8f93\u5165\u8bbe\u8ba1\u6587\u6863\u4ee5\u53ca\u8bbe\u8ba1\u89c4\u8303\u4e0b\u8f7d\u5230\u5de5\u4f5c\u6267\u884c\u73af\u5883\uff0cEDA\u5de5\u5177\u8fd0\u884c\u6d41\u7a0b\u4e5f\u4f1a\u6839\u636eTicket\u6587\u4ef6\u4e2d\u7684\u53c2\u6570\u8fdb\u884c\u8c03\u8bd5\uff0c\u540c\u65f6\u4e5f\u4f1a\u5bf9\u8d44\u6599\u5b8c\u6574\u6027\u8fdb\u884c\u9a8c\u8bc1\uff0c\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4dop ticket build &lt;Ticket file name&gt; \u4e4b\u540e\u4f1a\u6839\u636eticket\u4ee5\u53cadefinition\u6587\u4ef6\u7684\u5185\u5bb9\u751f\u6210\u76ee\u5f55\u53c2\u8003\u5982\u4e0b\uff1a### \u5355\u4e2aSTEP\u7684flow\u5c55\u5f00\u540e\u76ee\u5f55\u7ed3\u6784 ###<br>ticket_run_dir<br>\u251c\u2500\u2500.techlib -&gt; TLP\/techlib_config_file<br>\u251c\u2500\u2500.design -&gt; DVC\/phase\/block\/stage\/version<br>\u251c\u2500\u2500.script -&gt; DFA\/flow\/flow_stage_id<br>\u251c\u2500\u2500.inp$input_ref_id1 -&gt; .design\/input_file_name<br>\u251c\u2500\u2500.out$output_ref_id1 -&gt; ::main\/output_file_name<br>\u2514\u2500\u2500::main\/<br>&nbsp; &nbsp; \u251c\u2500\u2500script -&gt; ..\/.script\/flow_ref_id<br>&nbsp; &nbsp; \u251c\u2500\u2500input_file_name -&gt; ..\/.inp$input_ref_id1<br>&nbsp; &nbsp; \u2514\u2500\u2500Makefile -&gt; script\/Makefile.flow<br>&nbsp; &nbsp; &nbsp;<br>### \u591a\u4e2aSTEP\u7684flow\u5c55\u5f00\u540e\u76ee\u5f55\u7ed3\u6784 ###<br>ticket_run_dir<br>\u251c\u2500\u2500.techlib -&gt; TLP\/techlib_config_file<br>\u251c\u2500\u2500.design -&gt; DVC\/phase\/block\/stage\/version<br>\u251c\u2500\u2500.script -&gt; DFA\/flow\/flow_stage_id<br>\u251c\u2500\u2500.inp$input_ref_id1 -&gt; .design\/input_file_name1<br>\u251c\u2500\u2500.inp$input_ref_id2 -&gt; .design\/input_file_name2<br>\u251c\u2500\u2500.out$output_ref_id1 -&gt; step_dir1\/.out$output_ref_id1<br>\u251c\u2500\u2500.out$output_ref_id2 -&gt; step_dir2\/.out$output_ref_id2<br>\u251c\u2500\u2500::main\/<br>| &nbsp; &nbsp; \u251c\u2500\u2500script -&gt; ..\/.script\/flow_ref_id<br>| &nbsp; &nbsp; \u251c\u2500\u2500input_file_name1 -&gt; ..\/.inp$input_ref_id1<br>| &nbsp; &nbsp; \u251c\u2500\u2500input_file_name2 -&gt; ..\/.inp$input_ref_id2<br>| &nbsp; &nbsp; \u251c\u2500\u2500output_file_name1 -&gt; ..\/.out$output_ref_id1<br>| &nbsp; \u251c\u2500\u2500output_file_name2 -&gt; ..\/.out$output_ref_id2<br>| &nbsp; &nbsp; \u2514\u2500\u2500Makefile -&gt; script\/Makefile.flow<br>\u251c\u2500\u2500 step_dir1\/ &nbsp; &nbsp;<br>| \u251c\u2500\u2500.techlib -&gt; ..\/.techlib<br>| \u251c\u2500\u2500.design -&gt; ..\/.design<br>| \u251c\u2500\u2500.script -&gt; ..\/.script<br>| \u251c\u2500\u2500.inp$input_ref_id1 -&gt; ..\/input_file_name1<br>| \u251c\u2500\u2500.out$output_ref_id1 -&gt; ::main\/output_file_name1<br>| \u2514\u2500\u2500::main\/<br>| &nbsp; &nbsp; \u251c\u2500\u2500script -&gt; ..\/.script\/flow_ref_id<br>| &nbsp; &nbsp; \u251c\u2500\u2500input_file_name1 -&gt; ..\/.inp$input_ref_id1<br>| &nbsp; &nbsp; \u2514\u2500\u2500Makefile -&gt; script\/Makefile.flow<br>\u2514\u2500\u2500 step_dir2\/ &nbsp; &nbsp;<br>\u251c\u2500\u2500.techlib -&gt; ..\/.techlib<br>\u251c\u2500\u2500.design -&gt; ..\/.design<br>\u251c\u2500\u2500.script -&gt; ..\/.script<br>\u251c\u2500\u2500.inp$input_ref_id2 -&gt; ..\/input_file_name2<br>\u251c\u2500\u2500.inp$output_ref_id1 -&gt; ..\/step_dir1\/.out$output_ref_id1 &nbsp; &nbsp; ### \u5404\u4e2aSTEP\u95f4\u7684\u4f9d\u8d56\u5173\u7cfb\u901a\u8fc7\u94fe\u63a5\u6784\u5efa<br>\u251c\u2500\u2500.out$output_ref_id2 -&gt; ::main\/output_file_name2<br>\u2514\u2500\u2500::main\/<br>&nbsp; &nbsp; \u251c\u2500\u2500script -&gt; ..\/.script\/flow_ref_id<br>&nbsp; &nbsp; \u251c\u2500\u2500input_file_name2 -&gt; ..\/.inp$input_ref_id2<br>&nbsp; &nbsp; \u2514\u2500\u2500Makefile -&gt; script\/Makefile.flow\u751f\u6210Makefile\u6587\u4ef6\u53c2\u8003\u5982\u4e0b\uff1a### STEP\u4e0b\u7684Makefile\u6587\u4ef6 ###<br>FLOW &nbsp; &nbsp; &nbsp; &nbsp; := 510-RCX<br>INPUT &nbsp; &nbsp; &nbsp; := input_file_name<br>OUTPUT &nbsp; &nbsp; &nbsp; := output_file_name<br>TOOL &nbsp; &nbsp; &nbsp; &nbsp; := synopsys_starrc_shell_U<br>TOOL_OPTION := -2022.12-SP5-2<br>QUEUE &nbsp; &nbsp; &nbsp; := BE<br>QUEUE_OPTION := &#8211;mem=64G -c 4<br>PRE_CHECK &nbsp; := script\/run_precheck<br>EXEC &nbsp; &nbsp; &nbsp; &nbsp; := script\/run_execute<br>POST_CHECK &nbsp; := script\/run_postcheck<br>EXEC_DQI &nbsp; &nbsp; := script\/run_execdqi<br>run :<br>&nbsp; &nbsp; &nbsp; ..\/.dfa\/dfa_run.sh<br>precheck :$(INPUT)<br>&nbsp; &nbsp; &nbsp; &nbsp;$(PRE_CHECK) | tee precheck.log<br>$(OUTPUT) :precheck<br>&nbsp; &nbsp; &nbsp; &nbsp;$(EXEC) | tee execute.log<br>postcheck :$(OUTPUT)<br>&nbsp; &nbsp; &nbsp; &nbsp;$(POST_CHECK) | tee postcheck.log<br>dqi :$(OUTPUT)<br>&nbsp; &nbsp; &nbsp; dqi_extractor.py &#8211;spec .\/script\/dqi_ext.spec &#8211;dfd ..\/.dfa\/dfd.tcl &#8211;ticket ..\/.dfa\/ticket.tcl<br>&nbsp; &nbsp; &nbsp; dqi_generate_rpt.py &#8211;flow_dqi_value_path .\/.dqi &#8211;flow_dqi_path ${DFA_FOLDER}\/dqi_def &#8211;output .\/dqi_rpt.json<br>&nbsp; &nbsp; &nbsp; cksum dqi_rpt.json &gt; ..\/.dfa\/.dqi_cksum<br>clean :<br>&nbsp; &nbsp; &nbsp; &nbsp;rm -rf .\/.dqi\/* .\/dfa.log .\/dfa_run_*.log<br>&nbsp; &nbsp; &nbsp; dfa_set_status.sh 00_dfa_Init<br>&nbsp; &nbsp; &nbsp; script\/f_flow_clean.run<br>rerun :<br>&nbsp; &nbsp; &nbsp; &nbsp;make clean<br>&nbsp; &nbsp; &nbsp; &nbsp;make run<br>kill :<br>&nbsp; &nbsp; &nbsp; dfaPid=$$(cat ..\/.dfa\/dfa.pid)<br>&nbsp; &nbsp; &nbsp; &nbsp;kill -9 $$dfaPid<br>checkin :<br>&nbsp; &nbsp; &nbsp; dfa_checkin.py<br>&nbsp; &nbsp; &nbsp; &nbsp;<br>### \u591a\u4e2aSTEP\u6d41\u7a0b\u4e0b\u7684\u9876\u5c42Makefile\u6587\u4ef6 ###<br>FLOW &nbsp; &nbsp; := 521-DEF2SDF<br>INPUT &nbsp; &nbsp; := A.v design.def design.spef.gz design.v<br>OUTPUT &nbsp; := design.sdf.gz design.spef.gz<br>run:<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make run<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make run<br>clean:<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make clean<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make clean<br>kill:<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make kill<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make kill<br>precheck:<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make precheck<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make precheck<br>postcheck:<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make postcheck<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make postcheck<br>dqi:<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make dqi<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make dqi<br>checkin:<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make checkin<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make checkin<br>rerun: clean run<br>design.sdf.gz: A.v design.spef.gz design.v<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/511-SPEF2SDF\/::main &amp;&amp; make design.sdf.gz<br>design.spef.gz: A.v design.def<br>&nbsp; &nbsp; &nbsp; &nbsp;cd ..\/510-RCX\/::main &amp;&amp; make design.spef.gz<\/li>\n\n\n\n<li><strong>Execute Ticket<\/strong>\uff1a \u8c03\u7528\u6240\u9700\u7684EDA\u5de5\u5177\u6267\u884c\u8bbe\u8ba1\uff0c\u4ea7\u51fa\u8bbe\u8ba1\u8f93\u51fa\u6587\u6863\uff0c\u6b64\u9636\u6bb5\u4e5f\u53ef\u4ee5\u642d\u914d\u8bbe\u8ba1\u6d41\u7a0b\u7ba1\u63a7\u5de5\u5177\uff08DFA Job Manager\uff09\u5b9e\u65f6\u76d1\u63a7\u5de5\u5177\u6267\u884c\u72b6\u6001make run<\/li>\n\n\n\n<li><strong>Checkin Design<\/strong>\uff1a\u5c06\u4fee\u6539\u8fc7\u7684Ticket\u6587\u6863\u4ee5\u53ca\u62bd\u53d6\u7684\u91cd\u8981\u8bbe\u8ba1\u8d44\u6599\u4e0a\u4f20\u81f3DVC\u7684\u8bbe\u8ba1\u8d44\u6599\u5e93\u4e2d\u5fc3make checkin<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. \u6545\u969c\u5904\u7406\u4e0e\u7ef4\u62a4<\/strong><\/h2>\n\n\n\n<p>DFA \u5728\u4ee5\u4e0b\u9636\u6bb5\u4f1a\u6709\u62a5\u9519\uff0c\u4ee5\u4e0b\u4e3a\u5bf9\u5e94\u9636\u6bb5\u62a5\u9519\u539f\u56e0\u4ee5\u53ca\u5904\u7406<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.1\u7968\u636e\u5c55\u5f00\u9636\u6bb5\uff1a<\/h3>\n\n\n\n<p>\u62a5\u9519\u539f\u56e0\uff1a\u5982\u679c\u7968\u636e\u6587\u4ef6\u4e2d\u7684\u53c2\u6570\u586b\u5199\u9519\u8bef\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7968\u636e\u5c55\u5f00\u5931\u8d25\u3002<\/p>\n\n\n\n<p>\u62a5\u9519\u5904\u7406\uff1a\u68c0\u67e5\u7968\u636e\u6587\u4ef6\u4e2d\u7684\u53c2\u6570\u662f\u5426\u6b63\u786e\u586b\u5199\uff0c\u786e\u4fdd\u6240\u6709\u5fc5\u586b\u53c2\u6570\u90fd\u5df2\u586b\u5199\uff0c\u5e76\u4e14\u683c\u5f0f\u6b63\u786e\u3002\u67e5\u770b DFA \u751f\u6210\u7684\u65e5\u5fd7\u6587\u4ef6\uff0c\u5b9a\u4f4d\u5177\u4f53\u7684\u62a5\u9519\u4fe1\u606f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.2\u9884\u68c0\u67e5\u9636\u6bb5 \uff1a<\/h3>\n\n\n\n<p>\u62a5\u9519\u539f\u56e0\uff1a\u8f93\u5165\u6587\u6863\u6216\u53c2\u6570\u9a8c\u8bc1\u5931\u8d25\u3002<\/p>\n\n\n\n<p>\u62a5\u9519\u5904\u7406\uff1a\u68c0\u67e5\u8f93\u5165\u6587\u6863\u662f\u5426\u5b8c\u6574\u4e14\u683c\u5f0f\u6b63\u786e\uff0c\u786e\u4fdd\u6240\u6709\u53c2\u6570\u90fd\u7b26\u5408\u9884\u5b9a\u4e49\u7684\u8981\u6c42\u3002\u67e5\u770b\u65e5\u5fd7\u6587\u4ef6\u4e2d\u7684\u5177\u4f53\u62a5\u9519\u4fe1\u606f\uff0c\u8fdb\u884c\u76f8\u5e94\u7684\u8c03\u6574\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.3\u4e3b\u6d41\u7a0b\u9636\u6bb5 \uff1a<\/h3>\n\n\n\n<p>\u62a5\u9519\u539f\u56e0\uff1aEDA \u5de5\u5177\u6267\u884c\u5931\u8d25\u3002<\/p>\n\n\n\n<p>\u62a5\u9519\u5904\u7406\uff1a\u68c0\u67e5 EDA \u5de5\u5177\u7684\u8bbe\u7f6e\u6587\u4ef6\u662f\u5426\u6b63\u786e\u751f\u6210\uff0c\u786e\u4fdd EDA \u5de5\u5177\u7684\u6267\u884c\u73af\u5883\u914d\u7f6e\u6b63\u786e\u3002\u67e5\u770b EDA \u5de5\u5177\u7684\u65e5\u5fd7\u6587\u4ef6\uff0c\u5b9a\u4f4d\u5177\u4f53\u7684\u62a5\u9519\u4fe1\u606f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.4\u540e\u68c0\u67e5\u9636\u6bb5 \uff1a<\/h3>\n\n\n\n<p>\u62a5\u9519\u539f\u56e0\uff1aEDA \u5de5\u5177\u7684\u7ed3\u679c\u9a8c\u8bc1\u5931\u8d25\u3002<\/p>\n\n\n\n<p>\u62a5\u9519\u5904\u7406\uff1a\u68c0\u67e5 EDA \u5de5\u5177\u7684\u8f93\u51fa\u6587\u4ef6\u662f\u5426\u5b8c\u6574\u4e14\u683c\u5f0f\u6b63\u786e\uff0c\u786e\u4fdd\u6240\u6709\u5173\u952e\u6307\u6807\u90fd\u7b26\u5408\u9884\u671f\u3002\u67e5\u770b\u65e5\u5fd7\u6587\u4ef6\u4e2d\u7684\u5177\u4f53\u62a5\u9519\u4fe1\u606f\uff0c\u8fdb\u884c\u76f8\u5e94\u7684\u8c03\u6574\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.5\u751f\u6210 DQI \u62a5\u544a\u9636\u6bb5 \uff1a<\/h3>\n\n\n\n<p>\u62a5\u9519\u539f\u56e0\uff1aDQI \u62a5\u544a\u751f\u6210\u5931\u8d25\u3002<\/p>\n\n\n\n<p>\u62a5\u9519\u5904\u7406\uff1a\u68c0\u67e5 EDA \u5de5\u5177\u7684\u7ed3\u679c\u6587\u4ef6\u662f\u5426\u5b8c\u6574\u4e14\u683c\u5f0f\u6b63\u786e\uff0c\u786e\u4fdd DQI \u62a5\u544a\u751f\u6210\u811a\u672c\u914d\u7f6e\u6b63\u786e\u3002\u67e5\u770b\u65e5\u5fd7\u6587\u4ef6\u4e2d\u7684\u5177\u4f53\u62a5\u9519\u4fe1\u606f\uff0c\u8fdb\u884c\u76f8\u5e94\u7684\u8c03\u6574\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>6. \u6848\u4f8b\u5206\u6790\u4e0e\u5b9e\u6218\u6f14\u7ec3<\/strong><\/h2>\n\n\n\n<p>\u4f7f\u7528<code>dop ticket checkout T510_RCXT.stf<\/code>\u5c06ticket checkout\u5230\u672c\u5730\u5de5\u4f5c\u76ee\u5f55\uff0c\u4fee\u6539ticket\u5185\u5bb9<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>[HEADER]<\/strong><br>\u200b<br>## DESCRIPTION : flow name &amp; run directory<br>## ARGUMENT \u00a0  : &lt; flow_name:run_dir_name >, ex. 510_RCX:rcxt_spef<br>FLOW_ID = 510-RCX\uff1arcxt<br>\u200b<br>## DESCRIPTION : techlib confilg file from TLM<br>## ARGUMENT \u00a0  : &lt; techlib config file name >, ex.dfalib.cfg<br>TECHLIB = dfalib.cfg<br>\u200b<br>## DESCRIPTION : source path from DVC<br>## ARGUMENT \u00a0  : &lt; source path >, ex.phase\/block\/stage\/v1<br>DVC_SRC = phase\/block\/stage\/v1<br>\u200b<br>## DESCRIPTION : destination path from DVC<br>## ARGUMENT \u00a0  : &lt; destination path >, ex.phase\/block\/stage\/v2<br>DVC_DST = phase\/block\/stage\/v2<br>\u200b<br>## DESCRIPTION : top module name<br>## ARGUMENT \u00a0  : &lt; top module name >, ex.design<br>DESIGN = design<br>\u200b<br>\u200b<br><strong>[INPUT]<\/strong><br>\u200b<br>## DESCRIPTION : input file of this flow<br>## ARGUMENT \u00a0  : &lt; path | file_name  >, ex. netlist.v<br>TOP_DEF_FILE = design.full_chip.def.gz<br>METAL_FILL_GDS_FILE = design_Dummy_BE.gds<br>\u200b<br>\u200b<br><strong>[OUTPUT]<\/strong><br>\u200b<br>## DESCRIPTION : output file of this flow<br>## ARGUMENT \u00a0  : &lt; output file_name  >, ex. netlist.v<br>COUPLING_REPORT_FILE = couplingreport.rep<br>NETLIST_FILE =${DESIGN}.spef.gz<br>\u200b<br>\u200b<br><strong>[PARAMETER]<\/strong><br>\u200b<br>## DESCRIPTION : PARAMETER of this flow<br>## ARGUMENT \u00a0  : &lt; path | parameter  >, ex. Typ_85c<br>MAPPING_FILE = \/path\/to\/layers.map<br>CORNERS_FILE = .\/script\/corners.smc<br>GDS_LAYER_MAP_FILE =  .\/script\/dummy_gds.map<br>SELECTED_CORNERS =Typ_85c<br>\u200b<br>## DESCRIPTION : Script path of EDA tool<br>## ARGUMENT \u00a0  : &lt;eda_tool_path_script>, ex. encounter<br>TOOL = synopsys_starrc_shell_U<br>\u200b<br>## DESCRIPTION : Set tool option<br>## ARGUMENT \u00a0  : &lt;eda_tool_options> ex. tool version, ...<br>TOOL_OPTION = -2022.12-SP5-2<br>\u200b<br>## DESCRIPTION : Specify queue name<br>## ARGUMENT \u00a0  : [Local | BE | FE ]<br>## if QUEUE = Local, only run job in local machine<br>QUEUE = BE<br>\u200b<br>## DESCRIPTION: Set queue option<br>## ARGMENT \u00a0  : &lt;queue_options> \u00a0 #ex. slurm's options<br>QUEUE_OPTION = -mem=64G -c 4<br>\u200b<\/pre>\n\n\n\n<p>\u4fee\u6539\u5b8cticket\u540e\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5efa\u7acbflow\u73af\u5883<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dop ticket build T510_RCXT.stf<\/pre>\n\n\n\n<p>\u5efa\u7acb\u51fa\u5982\u4e0b\u7684\u76ee\u5f55\u7ed3\u6784\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rcxt\/<br>\u251c\u2500\u2500 .design  -&gt; $DVC_HOME\/P1-trial\/CPU\/500-TIMING\/2025_0101_RCX<br>\u251c\u2500\u2500 .script  -&gt; DFA\/flow\/500-TIMING<br>\u251c\u2500\u2500 .techlib -&gt; $TLM_HOME\/20250101.cfg<br>\u251c\u2500\u2500 .inpTOP_DEF_FILE  -&gt; .design\/design.full_chip.def.gz<br>\u251c\u2500\u2500 .inpMETAL_FILL_GDS_FILE  -&gt; .design\/design_Dummy_BE.gds<br>\u251c\u2500\u2500 .outNETLIST_FILE -&gt; ::main\/design.spef.gz<br>\u251c\u2500\u2500 .outCOUPLING_REPORT_FILE -&gt; ::main\/couplingreport.rep<br>\u2514\u2500\u2500 ::main<br> &nbsp;  \u251c\u2500\u2500 design.full_chip.def.gz -&gt; ..\/.inpTOP_DEF_FILE<br> &nbsp;  \u251c\u2500\u2500 design_Dummy_BE.gds -&gt; ..\/.inpMETAL_FILL_GDS_FILE<br> &nbsp;  \u251c\u2500\u2500 script  -&gt; ..\/.script\/510-RCXT<br> &nbsp;  \u2514\u2500\u2500 Makefile -&gt; script\/Makefile<\/pre>\n\n\n\n<p>\u8fdb\u5165::main\u76ee\u5f55\uff0c\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5f00\u59cb\u8fd0\u884cEDA\u5de5\u4f5c\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">make run<\/pre>\n\n\n\n<p>\u786e\u8ba4\u65e0\u8bef\u540e\u5c06\u4fee\u6539\u8fc7\u7684Ticket\u6587\u6863\u4ee5\u53ca\u62bd\u53d6\u7684\u91cd\u8981\u8bbe\u8ba1\u8d44\u6599\u4e0a\u4f20\u81f3DVC\u7684\u8bbe\u8ba1\u8d44\u6599\u5e93\u4e2d\u5fc3<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">make checkin<\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>7. \u9644\u5f55<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">7.1 \u547d\u4ee4\u901f\u67e5\u8868<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u529f\u80fd<\/strong><\/th><th><strong>\u547d\u4ee4<\/strong><\/th><\/tr><\/thead><tbody><tr><td>\u67e5\u770bDFA\u4e2d\u5fc3\u8d44\u6599\u5e93\u53ef\u7528ticket<\/td><td><code>dop ticket query<\/code><\/td><\/tr><tr><td>\u5c06DFA\u4e2d\u5fc3\u8d44\u6599\u5e93\u4e2d\u7684ticket checkout\u5230\u672c\u5730<\/td><td><code>dop ticket checkout &lt;ticket file name&gt;<\/code><\/td><\/tr><tr><td>\u6784\u5efaEDA\u5de5\u4f5c\u73af\u5883<\/td><td><code>dop ticket build &lt;ticket file name&gt;<\/code><\/td><\/tr><tr><td>\u6267\u884c\u6d41\u7a0b<\/td><td><code>make run<\/code><\/td><\/tr><tr><td>\u5c06\u4fee\u6539\u8fc7\u7684Ticket\u6587\u6863\u4ee5\u53ca\u957f\u5904\u7684\u91cd\u8981\u8bbe\u8ba1\u8d44\u6599\u4e0a\u4f20\u81f3DVC\u7684\u8bbe\u8ba1\u8d44\u6599\u5e93\u4e2d\u5fc3<\/td><td><code>make checkin<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">7.2 \u672f\u8bed\u8868<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u672f\u8bed<\/strong><\/th><th><strong>\u5b9a\u4e49<\/strong><\/th><\/tr><\/thead><tbody><tr><td>DVC_SRC<\/td><td>\u8bbe\u8ba1\u8f93\u5165\u6570\u636e\u7684\u7248\u672c\u63a7\u5236\u8def\u5f84<\/td><\/tr><tr><td>TECHLIB<\/td><td>\u5de5\u827a\u5e93\u914d\u7f6e\u6587\u4ef6\uff08\u5305\u542b\u5e93\u8def\u5f84\u3001\u5de5\u827a\u89d2\u53c2\u6570\uff09<\/td><\/tr><tr><td>STEP<\/td><td>\u6d41\u7a0b\u7684\u6700\u5c0f\u6267\u884c\u5355\u5143\uff0c\u652f\u6301\u5d4c\u5957\u4e0e\u53c2\u6570\u4f20\u9012<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n"},"excerpt":{"rendered":"<p>1. \u5f15\u8a00 1.1 DFA \u5de5\u5177\u5b9a\u4f4d DFA\uff08Design Flow Automation\uff09\u662fDOP\uff08Desi [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1672","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/pages\/1672","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/comments?post=1672"}],"version-history":[{"count":7,"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/pages\/1672\/revisions"}],"predecessor-version":[{"id":2641,"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/pages\/1672\/revisions\/2641"}],"wp:attachment":[{"href":"https:\/\/dop.lyg-semi.com\/index.php\/wp-json\/wp\/v2\/media?parent=1672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}