EDA用VHDL语言设计一个2-4译码器.doc

上传人:飞****9 文档编号:134195878 上传时间:2020-06-03 格式:DOC 页数:4 大小:22KB
返回 下载 相关 举报
EDA用VHDL语言设计一个2-4译码器.doc_第1页
第1页 / 共4页
EDA用VHDL语言设计一个2-4译码器.doc_第2页
第2页 / 共4页
EDA用VHDL语言设计一个2-4译码器.doc_第3页
第3页 / 共4页
EDA用VHDL语言设计一个2-4译码器.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《EDA用VHDL语言设计一个2-4译码器.doc》由会员分享,可在线阅读,更多相关《EDA用VHDL语言设计一个2-4译码器.doc(4页珍藏版)》请在金锄头文库上搜索。

1、2-4译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY decoder 2 _4 ISPORT( a:IN STD_LOGIC_VECTOR(1 DOWNTO 0); s:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END decoder2_4;ARCHITECTURE Behavioral OF decoder2 _4_t ISBEGINPROCESS(sel)BEGINCASE a ISWHEN

2、00=ssssssssss=ZEND CASE;END PROCESS;END Brhavioral; 100进制加法计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter IS PORT(clk,en,load,rst:IN STD_LOGIC d;IN STD_LOGIC_VECTOR(6 DOWNTO 0); q: OUT STD_LOGIC_VECTOR(6DOWNTO 0):END counter 10

3、0;ARCHTECTURE Behavioral OF counter 100 ISsignal qtemp:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINPROCESS(clk,d,en,load,rst)BEGIN IF rst= 1 THEN qtemp=”00000000”; ELSIF rising-edge(clk) THEN IF en=1 THEN IF load=1 THEN qtemp=d, ELSIF qtemp=”1100011” THEN qtemp=”00000000”; ELSIF qtemp=qtemp+1; END IF; END IF;

4、END IF; END PROCESS;q=qtemp;END Behavioral;8位从高至低串入串出移位寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY shift.register ISPORT( d,clk:IN STD_LOGIC; q:OUT STD_LOGIC);END d shift.register;ARCHITECTURE Behavioral OF shift.register ISsignal q

5、temp:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(d,clk)BEGIN IF rising-edge(clk) THEN q=dtemp(0); dtemp=d&dtemp(7 DOWNTO 1); END IF;END PROCESS;END Behavioral;状态机LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fsm IS PORT(tin,clk:IN STD_LOGI

6、C; yout:OUT STD_LOGIC_VECTOR(1DOWNTO 0);END fsm;ARCHITECTURE Behavioral OF fsm ISTYPE state-type IS (S0,S1,S2)signal state,next_state:state_type;BEGINSYNC_PROC:PROCESS(clk) BEGIN IF rising_edge(clk) THEN state yout yout youtyout=”zz”;END LAST; END PROCESS;NEXT_STATE_DECODE:PROCESS(state,tin) BEGIN next_statenext_state next_state IF tin=0 THEN next_state=S1; ELSIF tin=1 THEN next_stateNULL; END CASE;END PROCESS;END Behavioral;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号