Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介

631 views

Published on

「fukuoka.ex#19:Elixir実践テクニック公開します③」での発表資料です.下線と枠付き画像にはハイパーリンクが付いています.
https://fukuokaex.connpass.com/event/120102/

関数型だけど書きやすい新たなプログラミング言語Elixir,これでFPGAハードウェアの設計できたら面白くない!??という発表をしました.冒頭では「ElixirでIoT芸」と称してIoTシステム向けのElixir/Erlang実行環境についても紹介しています.

P.18のデモ動画はコチラ:
https://twitter.com/TAKASEhideki/status/1010117388174422016
P.19のデモ動画はコチラ:
https://twitter.com/TAKASEhideki/status/1074494095404367873

画像色落ちの少ないSpeakerDeck版はコチラ:
https://speakerdeck.com/takasehideki/elixirdehadoueagazuo-retiyau-kamo-detahuroxing-hadoueashe-ji-huan-jing-cockatricefalsegoshao-jie

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Elixirでハードウェアが作れちゃう,かも!!? データフロー型ハードウェア設計環境Cockatriceのご紹介

  1. 1. . . 11 E Cockatrice . -
  2. 2. . 4
  3. 3. . 4
  4. 4. ­ P EN UN ­ 9 G ­ . .- 1) I ­ a ­ B - ü JSm Ok ü A L ­ .A nu (0-:(2 ­ C CA D ­ 9 9 T WMRYf ­ To eL f
  5. 5. F5 F55 G AI P AC 5 E T P
  6. 6. 0 12 P • R g V l • i E • aV R bW • h 7 V P • M Ø eV R
  7. 7. e ­ 8 R M d ­ ­ c ­ a 0 0. . () 0 .(1 00 0 .(1 )( . 0 . 0 >
  8. 8. IL / AL M L
  9. 9. h ­ h e S P h C ­ h I l e S P h h o ­ x e nuN I Vo ­ (N I o e F s ­ ir F 1 ) e ) R t ­ R
  10. 10. 182 D B 38 4 36 -4 6 - 0/ 6 1 3 2 1 D B ­ - I ­ 8
  11. 11. 3 NF , 1 3 NF , 1 3 R I 0/ 05 96758 0/ 16 8 . 0.- 21 43 . 8 0/ 05 96758 0/ 16 8 . 0.- 21 43 .
  12. 12. - $ cd phoenix-showdown/phoenix/benchmarker/ $ mix phoenix.server / / / 0/ 05 96758 0/ 16 8 . 0.- 21 43 . 1 U Z SW R B D ­ I U ­ - XY U SWF 3 P B4 OB D
  13. 13. • 2 W W a T • 0H FA P H E Tt • )&& 2L / H K , 1 B • 7F H 4-6 E d • e P! o nz • hi & M • l m b O • 0 )( )(T 0 CKCH 0 HFAPt • Ng s,&&3 • xr VS o
  14. 14. / . C G r prsdy V _ x ui .2 d _ / DB 5 m ld V _ uim ld 13 SvV _ j hrod V _ SvV 13m ldhro V _ 7 . c b D 5CT LL . 6 metgnsw C G B 4 5 B 4D D C 4H 5 C4 D 5 4 D 4H 5 C47DG B 47 5C D B 47DG7 5C 4H 5 C4B Pa
  15. 15. 08857 6118 43 8 7.01 . 1 18.37 / .
  16. 16. /774 5007 32 7 1 /0 10 07 2 .
  17. 17. I # r Z . 1oLl xQ T pgn 2 B 4 /.11/ ##I Lid qf cmak hqeqb Liy da T 0 E3 t s :EE D B E3 5 E3 3D : E D 8 8# 5 544
  18. 18. . # A IG O S R G # AP X E T F
  19. 19. ! R 0 T2C 3 8 1 P ) I LA , 7 , 7 ? !
  20. 20. e2 ­ C C ­ Cle 24 a 2 ­ C C ­ Cle r2 a a ­ c n ­ P C üt C 2 o 1 ü u
  21. 21. ( A 5C ) • IS • 2 5 ( A 5 ) • C • A 5
  22. 22. AC I2 ) 6 (
  23. 23. F 0A A 7 B AA ­ p x P 2- ­ I X S U LT U ­ r e alt r Q tOS wO U ­ 0 yo nb DG B A C A 7 - B - ( 2( )( ( - ( - ( 2( - ( ( 2( )( )( 2( )( 2( 2( )( )(( - (- ( ( 2( 2( 2( - ( - ( )( )( )( )( )( )( imd g nimd( imd - (2( d imd )( 1
  24. 24. 8 HA 2 G F /
  25. 25. 9 ­ D 9 ­ A W AC 9 9 ­ 9 ­ L I D 2 ­ ü üL IHSI ü
  26. 26. P ,33 -33U efS ­ bZceZh adSgh c UkT il 1 4 K A G K D 7GN D K F - H 2 F F K D F H D O 0 N F KA - K FK 0GK,A H , A F K D 4HK O F .5/ D KG - F G - H ,GF GDLK GF D 3 L D 3 KNG C .5/
  27. 27. 3 1 1 1 11 1 11 11 31 1 G R C L I MS R A C ­ U PM F A
  28. 28. R 3 3 I 2 P L always@(posedge clk) begin if (!rst) out <= 0; else begin case (in) 4'b0001 : tmp <= 1; 4'b0010 : tmp <= 5; 4'b1100 : tmp <= 7; default : tmp <= 0; endcase end end assign out = ~{reg[7:4], tmp[3:0]}; 3 3
  29. 29. T B R R 3 3 B B 3 3 L
  30. 30. R HFHIE O 7EO091, 6 ­ HIH P HMOEP - - ü 4 5 N ­ 9-3 PLMENN 1E P ­ , , 333 P ­ 8 366 &1P ­ 1 LN OGEM EO & R EMANHC 7A K ­ ,IOEMA - CIK E 3 9&- ­ ,6 3 - 9 86 ­ & LH 1938 2EADEMN P ­ 5 P P 39 P&
  31. 31. m ­ G H X e q ­ r o F L Z WI r ­ 3 Z WI 1 A ­ W 5 I 5 A ­ P / / X e q L S ­ C ny
  32. 32. R ­ C ü 6 6/ ­ 3 + T L int func (int x) { int a[N]; int i; for(i=0;i<N;i++){ a[i] = ; : : } : } x func i a
  33. 33. 3 a i ­ m i M ü r e7 -/ ­ o 7 k ML 3 M W W ­ M W H L ­ R H L T Wi t D
  34. 34. S EGEIP EO 2 9 ­ X 2. os ­ / GEK AdU 3./ ­ x tr v S ,GNAL 9.4 L KAI ­ KAI z ci hgX 2. os ­ f a8 V18 p nsW l v k EGEIPmf aeU U 1 . AN KNEHE EIC KAI L ,GNAL 081, 3IN G LF D K I KAI
  35. 35. W HJHLT 9 9M ­ - Y Z hik ­ . gf HSACM .29 acd d ­ , JHNPD Y , elX0 1ACJD HJHLT 9 9M EMO DJDOAQHML ME DAJ QHKD HCDM 6OM DPPHL ML V 9U 3MCRJDP .H6, ,3 MOIPGMN C/C++ Select functions for PL PL PS IP Application Driver SDSoC Datamover PS-PL interface Met Req ? func1_sw(); func2_hw(); func3_hw(); Application Driver Interface IPs Interface IPs Application Driver AMBA Bus C/C++ Application Application Driver IP IP IP IP Connectivity Generated
  36. 36. A, 00 0 - 0 40 1 - 42 0 0 0 4 0 42 - 4 1 .0 0 0
  37. 37. C G MR r ­ e b Hov M C D m ku ­ ov S Gc lu C A MR r ­ A e ab ku ­ MR s M n M C MR r ­ ghj rt JLs ü 44 yP L iWeij C A 1 G m ku ­ A 4 4 S Gc Vku
  38. 38. 2 E 1 2 4 2 2 0 0 24 2
  39. 39. Cockatrice . 4 . (). 4 ( 4 . ( . ( )( . 4 4
  40. 40. s D s (6 W + Pb / r / (6 e + a a i i 4 +)S T l i I (6 +) +)i S T / Lb (6 W A + A x H CE+ N s t D F D Pb D / C m / D b N
  41. 41. B ) n r • ­ n r R S ,( M ü S ) 7 7 7 I ­ x F NP ü,( 4 , T RL H GCC B ) I , ­ R T, VwN HTM ­ v D T L , M ­ oD i N B , D m DW lu ­ ) e m D /T E M
  42. 42. 84 8 ­ 4 H D E e a c m e l c m e e e m d a m e m e m e e m? a m m a m d e m i
  43. 43. 4 ­ 9 ­ E 9 Ø
  44. 44. ) F E M( C G I A 0
  45. 45. ) F E M( C G I A 1 CF E 1 H 5
  46. 46. / ) F E M( C G I A B X CP D 52 B aH IMDM F 454 B A SW 454 B A SW 54 4 MELMN X Z
  47. 47. ] ns kgh C[GS C- (& !B2-C&(& ­ 0 9 2SUW Z 0. IXFP HSU TUSH VVSU -96 ­ 4 50 &96 ürom i l FIS (& - ü0910 0B7 / 0B7 W 0B7 5 ] : / GXRWX & ­ WFP RXZ (& - ] 3P Z U - 3UPFRL : (& ­ UWV . )E VSXUH E V T/(/(E IV/(/(/ &E FV[RH WMU FIV/ &E M T E O UR P TSPP/ FPV E ) 3P Z U 6Aa cefdp b
  48. 48. ­ 4 u ) ,/ ­ HL M 5I P P P (, n ü PD EMTP ­ ,5 Em P o y ­ M A b y o n T L E 9 M H Z
  49. 49. 5 ­ ­ 5
  50. 50. T I i SF: 6 ­ T 5 BA 66 ­ I c SF: 6 e F:N 6 / .1 I m 6
  51. 51. H Cn r7 ­ E Dai ­ /5/ Dl C L 7 D g ­ x T p H7 ­ H H S m R D 7 D W 7

×