⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grammar

📁 將VHDL設計轉換成Verilog設計的程式
💻
字号:
Translation grammar in YACC formattrad  : rem entity rem architecture remrem      : /* Empty */         | remlistremlist  : REM          | REM remlistentity : ENTITY NAME IS PORT '(' rem portlist ')' ';' rem END NAME ';'portlist  : s_list ':' dir type rem           | s_list ':' dir type ';' rem portlistdir    : IN       | OUTtype   : BIT        | BITVECT '('vec_range ')' {$$=$3;}       | NAME vec_range : NATURAL updown NATURAL           | NATURALupdown : DOWNTO       | TOarchitecture : ARCHITECTURE NAME OF NAME IS rem a_decl BEGN doindent               a_body END NAME ';' unindent doindent : /* Empty */unindent : /* Empty */a_decl    : /* Empty */          | a_decl SIGNAL s_list ':' type ';' rem          | a_decl CONSTANT NAME ':' type ':' '=' STRING ';' rem           | a_decl TYPE NAME IS '(' s_list ')' ';' rem           | a_decl COMPONENT NAME PORT nolist '(' rem portlist ')' ';'            rem END COMPONENT ';' yeslist rem nolist : /*Empty*/yeslist : /*Empty*/s_list : NAME        | NAME ',' s_lista_body : rem       | rem signal '<' '=' sigvalue doothers a_body        | rem WITH expr SELECT rem yeswith signal '<' '=' with_list         doothers a_body       | rem NAME ':' NAME PORT MAP '(' doindent map_list ')' ';'         unindent a_body       | optname PROCESS '(' sign_list ')' p_decl BEGN doindent         p_body END PROCESS oname ';' unindent a_body       | optname PROCESS '(' sign_list ')' p_decl BEGN doindent rem         IF edge THEN p_body END IF ';' END PROCESS oname ';'         unindent a_body       | optname PROCESS '(' sign_list ')' p_decl BEGN doindent rem         IF exprc THEN doindent p_body unindent ELSIF edge THEN doindent         p_body unindent END IF ';' END PROCESS oname ';' unindent a_bodyoname : /*Empty*/      | NAME optname : rem        | rem NAME ':'edge : NAME '\'' EVENT AND exprc     | exprc AND NAME '\'' EVENT     | POSEDGE '(' NAME ')'     | NEGEDGE '(' NAME ')'yeswith : /*Empty*/doothers : /*Empty*/with_list : with_item ';'          | with_item ',' rem with_list          | expr delay WHEN OTHERS ';'with_item : expr delay WHEN wlistp_decl : rem       | rem VARIABLE s_list ':' type ';' p_declp_body : rem       | rem signal ':' '=' expr ';' doothers p_body       | rem signal '<' '=' sigvalue doothers p_body       | rem IF exprc THEN doindent p_body unindent elsepart END IF ';' p_body       | rem CASE signal IS rem cases END CASE ';' p_body       | rem NULLV ';' p_bodyelsepart : /*Empty*/         | ELSIF exprc THEN doindent p_body unindent elsepart         | ELSE doindent p_body unindentcases : WHEN wlist '=' '>' doindent p_body unindent cases      | WHEN OTHERS '=' '>' doindent p_body unindentwlist : wvalue      | wlist '|' wvaluewvalue : STRING       | NAMEsign_list : signal          | signal ',' sign_listsigvalue : expr delay ';'         | expr delay WHEN exprc ';'         | expr delay WHEN exprc ELSE nodelay sigvaluenodelay  : /* empty */delay    : /* empty */         | AFTER NATURAL UNITmap_list : rem map_item         | rem map_item ',' map_listmap_item : signal         | NAME '=' '>' signalsignal : NAME       | NAME '('vec_range ')'expr : signal     | STRING     | '(' OTHERS '=' '>' STRING ')'     | expr '&' expr     | '-' expr %prec UMINUS     | '+' expr %prec UPLUS     | expr '+' expr     | expr '-' expr     | expr '*' expr     | expr '/' expr     | NOT expr     | expr AND expr     | expr OR expr     | expr XOR expr     | '(' expr ')'exprc : conf      | '(' exprc ')'      | exprc AND exprc %prec ANDL      | exprc OR exprc %prec ORL      | NOT exprc %prec NOTLconf : expr '=' expr %prec EQUAL     | expr '>' expr     | expr '>' '=' expr %prec BIGEQ     | expr '<' expr     | expr '<' '=' expr %prec LESSEQ      | expr '/' '=' expr %prec NOTEQ

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -