設計一個8位雙向循環(huán)移位寄存器vhdl
狀態(tài)表如下:
CLK | RESET | LOAD | M | 工作狀態(tài) |
× |
0 | × |
× |
復位 |
↑文章來源:http://www.zghlxwxcb.cn/news/detail-508373.html |
1 | 1 | × |
置數(shù) |
↑ |
1 | 0 | 1 | 左移 |
↑ |
1 | 0 | 0 | 右移 |
(4)不考慮串行輸出,移動不能用移位操作符。文章來源地址http://www.zghlxwxcb.cn/news/detail-508373.html
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY H2 IS
PORT(CLK,LOAD,M,RESET:IN STD_LOGIC;
DATA:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END ENTITY H2;
ARCHITECTURE hbv OF H2 IS
BEGIN
PROCESS(CLK,RESET,M,LOAD)
VARIABLE Q1 : STD_lOGIC_VECTOR(7 DOWNTO 0);
BEGIN
IF RESET = '0' THEN --RESET低電平有效
Q1 := (OTHERS=>'0');
ELSIF CLK'EVENT AND CLK='1' THEN
IF LOAD = '1' THEN --預置
Q1 := DATA;
ELSE
IF M ='0' THEN --右移
Q1 := Q1(0)&Q1(7 DOWNTO 1);
ELSIF M ='1' THEN --左移
Q1 := Q1(6 DOWNTO 0)&Q1(7);
END IF;
END IF;
END IF;
Q<=Q1;
END PROCESS;
END ARCHITECTURE hbv;
到了這里,關于設計一個8位雙向循環(huán)移位寄存器vhdl的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!