作者Lizstlin (Lizst)
看板Electronics
標題[請益] 用VHDL 實作 Bubble sort
時間Sat Jan 8 18:32:21 2011
各位大大好, 這是我第一次在這邊PO文, 有些不懂的地方還請予以指教^^"
因為最近上課學了VHDL,老師出了兩項作業
1. 以方法論步驟設計一個電路執行給定的bubble sort 演算法
演算法如下:
unsigned char ram[10] = {13,5,7,9,2,4,6,8,0};
unsigned char temp1;
unsigned char temp2;
for (int i=0; i<10; i++)
{
temp1 = ram[i];
for (int j=i+1; j<10; j++)
{
temp2 = ram[j];
if (temp1>temp2)
{
ram[i]=temp2;
ram[j]=temp1;
temp1=temp2;
}
}
}
2. [X,Y,Z] = [M] * [R,G,B]
其中[M]為一3x3矩陣:
[M] = [0.4125, 0.3576, 0.1805;
0.2126, 0.7152, 0.0722;
0.0193, 0.1192, 0.9505]
請分別基於最低成本和最高效能考量,設計兩個電路執行此一色彩轉換
兩個都是要寫成VHDL 還有畫 Grafcet
不過因為上課時間過短, 且腳步緊湊, 實在很難學到些什麼,
第一項作業我找了許多資料硬擠一些東西出來
不過因手邊沒有編譯軟體可用, 所以也不知道有沒有錯
再加上只有學短短4堂課許多觀念還不懂
希望大大們能予以指教
以下是我第一項作業的 VHDL, 希望大大們能指正我這個VHDL新手的錯誤
(我是參考某大學的教學投影片的語法來寫, 不過我自己覺得錯誤應該很多 ~"~)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity Bubble_Sort is
port (
CLK : in std_logic
);
end entity Bubble_Sort;
architecture behavior of Bubble_Sort is
type ram_array is array (1 to 10) of std_logic_vector (3 downto 0);
signal ram : ram_array;
signal temp1 : std_logic_vector (3 downto 0);
signal temp2 : std_logic_vector (3 downto 0);
begin
ram <= (X"1", X"3", X"5", X"7", X"9", X"2", X"4", X"6", X"8", X"0");
sort : process (CLK)
begin
if (CLK'EVENT AND CLK='1') then
OutLP : for i in 1 to 10 loop
temp1 <= ram(i);
InLP : for j in i+1 to 10 loop
temp2 <= ram(j);
if (temp1 > temp2) then
ram(i) <= temp2;
ram(j) <= temp1;
temp1 <= temp2;
end if;
end loop InLP;
end loop OutLP;
end if;
end process sort;
end behavior;
希望有好心的大大可以指導我完成這次作業, 感恩
(方才改了點東西, 不知道對不對 ~"~)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: Lizstlin 來自: 140.115.202.53 (01/08 23:56)
1F:→ colinshih:i/o, latency, PSNR range, 都沒給定, 這是什麼問題? 01/09 00:29
2F:→ colinshih:是你沒給, 還是老師太混, 什麼是最少成本? 定義是? 01/09 00:32
3F:→ colinshih:這種問題還真是沒水準 01/09 00:37
※ 編輯: Lizstlin 來自: 140.115.202.53 (01/09 02:22)
4F:→ Lizstlin:題目就是這樣 01/09 02:23
5F:→ Lizstlin:他就只有給這些 01/09 02:23
6F:→ Lizstlin:問他也是沒說什麼 ~"~ 01/09 02:26
7F:→ MasterChang:可能老師也是被硬著頭皮上這門課...能期望甚麼? 01/09 12:34
8F:→ Lizstlin:據說是課教不完&心血來潮就突然換個東西教 ~"~ 01/09 13:15
9F:→ colinshih:那就按自已想法定條件, 把條件補完, 再開始設計 01/09 23:43
10F:→ colinshih:只是老師這樣混了完全對不起付學分費的學生 01/09 23:44
11F:→ Lizstlin:老師事後表示: 最低成本用循序, 最高效能用平行 @@a 01/11 13:54
12F:→ Lizstlin:不過也有人說一個用移位器&加法器, 一個直接乘法器 @@a 01/11 13:55
13F:→ Lizstlin:請問哪種說法才是對的呢? 感謝回答 ^^" 01/11 13:56