--定義matrix_index 為數(shù)組
TYPE matrix_index is array (3 downto 0) of std_logic_vector(7 downto 0);
SIGNAL a:matrix_index;--定義了數(shù)組a[4],即數(shù)組元素為a[0],a[1],a[2],a[3]
constant R :matrix_index:=( x"15",x"0F",x"0A",x"06");--定義了常數(shù)數(shù)組R[4]
--使用時跟C語言中一樣,加下標(biāo)就可以了,上面是用downto定義了方向,故R[0]是最后一項(xiàng),如在R數(shù)組中R[0]=X"06",R[3]=X"15"
以上不知道說清楚了沒,
我看還是補(bǔ)充一段參考程序吧
---------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
ENTITY shift_row_inv IS
PORT(
shiftrow_in :IN STD_LOGIC_VECTOR(127 DOWNTO 0);
shiftrow_out :OUT STD_LOGIC_VECTOR(127 DOWNTO 0)
);
END shift_row_inv;
ARCHITECTURE beh OF shift_row_inv IS
-- type describing the byte array consisting of 16 byte matrix array
TYPE matrix_index is array (15 downto 0) of std_logic_vector(7 downto 0);
SIGNAL b,c :matrix_index;
BEGIN
--initial mapping of input into a byte matrix array named b
matrix_mapping:PROCESS(shiftrow_in)
BEGIN
FOR i IN 15 DOWNTO 0 LOOP
\x05b(15-i) <= shiftrow_in(8*i+7 DOWNTO 8*i);
END LOOP;
END PROCESS matrix_mapping;
--shift row transformation
--\x05 b(i)\x05 -->\x05\x05c(i)
--
-- | 0 4 8 12 | | 0 4 8 12 | (no shift)
-- | 1 5 9 13 | ==> | 13 1 5 9 | ( 1 right shift)
-- | 2 6 10 14 | | 10 14 2 6 | ( 2 right shift)
-- | 3 7 11 15 | | 7 11 15 3 | ( 3 right shift)
--shifted first column
c(0) <= b(0);
c(1) <= b(13);
c(2) <= b(10);
c(3) <= b(7);
--shifted second column
c(4) <= b(4);
c(5) <= b(1);
c(6) <= b(14);
c(7) <= b(11);
--shfited third column
c(8) <= b(8);
c(9) <= b(5);
c(10) <= b(2);
c(11) <= b(15);
--shifted forth column
c(12) <= b(12);
c(13) <= b(9);
c(14) <= b(6);
c(15) <= b(3);
--mapping temporary c vector into shiftedrow output
matrix_mapping_back:PROCESS(c)
BEGIN
FOR i IN 15 DOWNTO 0 LOOP
\x05shiftrow_out(8*i+7 DOWNTO 8*i) <= c(15-i);
END LOOP;
END PROCESS matrix_mapping_back;
END beh;
type row is array ( 0 to 7) of std_logic; signal x1 :row; signal y1:std_logic_vector(0 to 7);
type row is array ( 0 to 7) of std_logic; signal x1 :row; signal y1:std_logic_vector(0 to 7);
x1(0 to3)
x1(0 to3)
英語人氣:271 ℃時間:2020-07-10 06:05:58
優(yōu)質(zhì)解答
我來回答
類似推薦
- 下雪的聲音 英文怎么說?
- Low Power的中文意思是?
- 請問聚丙烯熔噴無紡布的熔點(diǎn)是多少?就是在升溫過程中,一般溫度達(dá)到多少度會熔化?
- 暑假里的一件事 作文600字
- 寒假新時空五年級P40籃子里的雞蛋
- 1 Can Bob( )that in Chinese?
- 已知三角形ABC面積是12平方厘米,求陰影部分的面積?
- NO+CO=催化劑=N2+CO2配平
- 一種產(chǎn)品原來每件成本價是500元,銷售價為530元.
- 數(shù)a的絕對值就是在數(shù)軸上表示數(shù)a的點(diǎn)與____的距離,數(shù)a的絕對值記做_____,距離總是為 _____或0,所以有理數(shù)
- 英語翻譯 王俊峰很少做家庭作業(yè) wang junfeng ___ ___ ___ homework
- 實(shí)驗(yàn)室里的器材是怎樣分類擺放的
猜你喜歡
- 1I have been playing the piano since I _(be) 6 years old.
- 2比如現(xiàn)在讓你寫出 鎂(Mg)得到或者失去電子后的所成離子的符號,那我右上角
- 3太陽能如何轉(zhuǎn)換為煤中的能量?
- 4由參數(shù)方程確定的函數(shù)的求導(dǎo)公式
- 5在一道減法算式中,差比減數(shù)大40,減數(shù)是差的1/9,求被減數(shù)是多少.
- 6一道二元一次方程組!
- 7兩列火車,一列長110米,每秒行18米,另一列長130米,每秒行12米.(1)兩車相向而行,從車
- 8believe me和trust me 用法和區(qū)別是什么
- 9暚這個字現(xiàn)在在字典里還有嗎?
- 10I'll take a picture for lingling 改為現(xiàn)在進(jìn)行時 怎么改?
- 11用a,s,a,u,e,g,s拼單詞
- 12用兩個相同的電熱器給質(zhì)量相同的物質(zhì)甲和水加熱,它們的溫度隨加熱時間的變化關(guān)系如圖6所示,據(jù)此判斷物質(zhì)