陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2009年10月1日 ESD-03 演算法的離散事件件模 DES Modeling ofAlgorithm 陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2009年10月1日
方法論
階層式模組分解
模組架構
離散事件建模
階層式的離散事件建模
階層式的離散事件建模
Pipeline Architecture
Two Level Modeling for Pipelining
Top Level Controller
Stage Control Signal Generation
Pipelined Control Sub-Grafcet
Pipelining Simulation
Waveform Vefification
迴圈的演算法型態 Sum=0; I=0; For(I=0;I<=10;I++) { Sum = Sum + I; }
GRAFCET離散事件建模
模擬
演算法離散化 Discretization of Algorithm 演算法在GRAFCET建模與硬體何成前,先以軟體模擬硬體的工作情形。再據此修改原始程式,使其在效率與性能之間取得最佳化。 將程式依其功能分解成較小的模組,以利分析。 將程式中之數值用可調位元的位元陣列方式表示,並模擬硬體運作
演算法離散化實例
無浮點數、無乘法器運算 Y*256 = 0.299*256 * R + 0.587*256 * G + 0.144*256 * B U = - 0.168 * R - 0.331 * G + 0.499 * B V = 0.500 * R - 0.419 * G - 0.081 * B Y*256 = 0.299*256 * R + 0.587*256 * G + 0.144*256 * B U*256 = - 0.168*256 * R - 0.331*256 * G + 0.499*256 * B V*256 = 0.500*256 * R - 0.419*256 * G - 0.081*256 * B Y*256 = 76 * R + 150 * G + 36 * B U*256 = - 43 * R - 84 * G + 127 * B V*256 = 128 * R - 107 * G - 20 * B
無浮點數、無乘法器運算 Total : 26個加法器 26個移位暫存器 Y*256 = 76 * R + 150 * G + 36 * B U*256 = - 43 * R - 84 * G + 127 * B V*256 = 128 * R - 107 * G - 20 * B 77=(1001101)2 =>4bit 150=(10010110)2 =>4bit 36=(11101)2 => 4bit 43=(101011)2 =>4bit 84=(1010101)2 => 4bit 127=(10000000)2 =>1bit 128=(10000000)2 =>1bit 107=(1101011)2 => 5bit 20=(10101)2 => 3bit Total : 26個加法器 26個移位暫存器 Ex: (76) 10 => (100110)2 R=(10)10 => (1010)2 76*R=[(1010<<5)+(1010<<2)+(1010<<1)]2 = (1011111000)2 = (760)10
演算法建模實例-求三角形函數內插值 求三角形函數內插值:輸入x,求y
演算法建模實例-求三角形函數內插值 求三角形函數內插值:輸入x,求y
演算法建模實例-找陣列值的最大值 求一個陣列值的最大值:從存放在記憶體中的陣列值data[j],j=0...N-1,找出其最大值。 max=0; for(j=0; j<=N; j++) { if(data[j]>max)max=data[j]; }
演算法建模實例-找陣列值的最大值
演算法建模實例-求Histogram陣列值的重心
演算法建模實例-求Histogram陣列值的重心
練習-RGB to XYZ [X,Y,Z] = [M] * [R,G,B] 其中[M]為一3x3矩陣: 0.2126, 0.7152, 0.0722; 0.0193, 0.1192, 0.9505]