CH9_程序处理与状态机 电路设计.ppt

CH9_程序处理与状态机 电路设计.ppt

ID:49202076

大小:1.83 MB

页数:33页

时间:2020-02-01

CH9_程序处理与状态机 电路设计.ppt_第1页
CH9_程序处理与状态机 电路设计.ppt_第2页
CH9_程序处理与状态机 电路设计.ppt_第3页
CH9_程序处理与状态机 电路设计.ppt_第4页
CH9_程序处理与状态机 电路设计.ppt_第5页
资源描述:

《CH9_程序处理与状态机 电路设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1程序處理與狀態機電路設計第九章儒林圖書公司TB061VHDL數位電路設計實務教本使用QuartusIICase-when敘述指令2Case-when指令本身是敘述組合邏輯的,但它卻必須在Process指令中執行,因此它是序向邏輯指令之一,其語法如下:Case選擇訊號ISWhen選擇訊號1=>敘述命令1;When選擇訊號2=>敘述命令2;:WhenOthers=>敘述命令N;EndCase;Case-when敘述指令Example:四對一的多工器設計3libraryIEEE;useIEEE.STD_LOGIC_1164.all;ENTITYmux4to1_caseISPORT(S:INS

2、TD_LOGIC_VECTOR(1downto0);D0,D1,D2,D3:INSTD_LOGIC;Y:OUTSTD_LOGIC);ENDmux4to1_case;ARCHITECTUREaOFmux4to1_caseISBEGINprocess(S)BeginCaseSISWhen"00"=>Y<=D0;When"01"=>Y<=D1;When"10"=>Y<=D2;WhenOthers=>Y<=D3;EndCase;EndProcess;ENDa;Case-when敘述指令Example:一對四的解多工器設計4libraryIEEE;useIEEE.STD_LOGIC_1164.al

3、l;ENTITYdemux1to4_caseISPORT(data:INSTD_LOGIC;S:INSTD_LOGIC_VECTOR(1downto0);D0,D1,D2,D3:OUTSTD_LOGIC);ENDdemux1to4_case;ARCHITECTUREaOFdemux1to4_caseISBEGINprocess(S,data)BeginD0<='0';D1<='0';D2<=‘0’;D3<=‘0’;CaseSISWhen"00"=>D0<=data;When"01"=>D1<=data;When"10"=>D2<=data;WhenOthers=>D3<=data;End

4、Case;EndProcess;ENDa;Case-when敘述指令Example:JK正反器設計5libraryieee;useieee.std_logic_1164.all;entityJK_ffisport(clk:instd_logic;J,K:instd_logic;rst:instd_logic;Q,Qbar:outstd_logic);endJK_ff;architectureaofJK_ffissignaltemp:std_logic;signalx:std_logic_vector(1downto0);beginx<=J&K;process(clk,rst)begini

5、f(rst='1')thentemp<='0';elsifclk'eventandclk='1'thencase(x)iswhen“11”=>temp<=nottemp;when"10"=>temp<='1';when"01"=>temp<='0';whenothers=>null;endcase;endif;endprocess;Q<=temp;Qbar<=nottemp;enda;Case-when敘述指令Example:ALU設計6C00001111S100110011S001010101OperationF<=A;F<=AandB;F<=AorB;F<=NotA;F<=A+B;F

6、<=A-B;F<=A+1;F<=A-1;libraryIEEE;useIEEE.STD_LOGIC_1164.all;useIEEE.std_logic_unsigned.all;ENTITYaluISPORT(C:instd_logic;S:INSTD_LOGIC_VECTOR(1downto0);A,B:INSTD_LOGIC_VECTOR(7downto0);F:OUTSTD_LOGIC_VECTOR(7downto0));ENDalu;Case-when敘述指令Example:ALU設計(續)7ARCHITECTUREaOFaluISBEGINprocess(s,A,B)Begi

7、nIFC='0'then--當C=’0’時執行邏輯運算CasesISWhen"00"=>F<=A;When"01"=>F<=AandB;--AND邏輯運算When"10"=>F<=AorB;--OR邏輯運算Whenothers=>F<=NotA;--NOT邏輯運算ENDcase;ELSE--當C=’1’時執行算術運算CasesISWhen"00"=>F<=A+B;--加法運算When"01"=>F<=A-B;--減法運算When"1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。