embeded/FPGA - ALTERA2018. 1. 2. 10:41

FPGA를 이용해서 MIPS나 RISC-V를 구현해서 SW CPU로

AVR 이나 STM32 대신 쓰도록 하는 프로젝트 인 듯?


[링크 : http://www.nxlab.fer.hr/fpgarduino/]

Posted by 구차니
embeded/FPGA - ALTERA2018. 1. 1. 18:02

NOR 플래시의 경우에는 256byte당 5ms 쉬어 주어야 하는 것 때문에 느릴 수 밖에 없다. 

라는데..일단 artix-7 에서 8분 정도 걸린다고 하고..

[링크 : https://forums.xilinx.com/t5/7-Series-FPGAs/Artix-7-configuration-flash-programming-time/td-p/817714]


이번에 구매한 altera Cyclone IV, DE0-Nano는 프로그램이 크지 않겠지만

sof 파일 자체는 700KB로 거의 동일한데

플래시 자체는 8MB 짜리이고 회사에서 쓴느건 16MB 짜리인데

굽는 시간이 너무 차이난다.


de0-nano를 구울때 길어야 2초?

회사에서 artix-7은 한 체감 10분은 걸린거 같은데..


도대체 무슨 차이일까?


일단..DE0-Nano에 것도 NOR 플래시인데...

도대체 왜이렇게 굽는 속도가 심하게 차이가 날까?

[링크 : http://www.macronix.com/...Flash%20Cross%20Reference%20Guide.pdf]

[링크 : http://www.cypress.com/file/196856/download]


Micron Serial NOR Flash Memory 3V, Multiple I/O, 4KB, 32KB, 64KB, Sector Erase MT25QL128ABA

[링크 : https://www.micron.com/.../mt25q/die-rev-a/mt25q_qlhs_l_128_aba_0.pdf]


+

2018.01.02

지금까지 sof로 쓴거라 SRAM에 후다닥... -_-

즉 플래시에 써본적이 한번도 없었네? 라는 반전 두둥!

어찌어찌 플래시에 쓰는데 그래도 빠르다?

일단 artix-7이 더 클거 같긴한데.. cyclone 4는 한 30초 이내로 700KB가 써지는 느낌이라 빠르긴 빠른 듯

'embeded > FPGA - ALTERA' 카테고리의 다른 글

altera EPCS controller  (0) 2018.01.02
de0-nano arduino...?  (0) 2018.01.02
terasic DE0-Nano Control Panel 실행오류  (0) 2017.12.31
de0-nano + W5100 Ethernet Shield(arduino)  (0) 2017.12.29
de0-nano + rpi = 채굴머신..  (0) 2017.12.29
Posted by 구차니

ActiveX 없애면서 상주 프로그램이 바뀌었는데


생각해보면


내가 편의점을 가끔 쓰는데

편의점 회사에서 24시간 우리집 감시하는 직원을 우리집으로 파견하고

우리집에서 먹고 자게 하는데

알고보니 제일도 제대로 못하고 밥만 축내는 놈이라는 넌센스?




아무튼 모 정당 대표 이름이랑 같아서

두배로 더 마음에 안드는데

그냥 겸사겸사 회사명도 좀 바꾸라고 하고 싶고

궁극적으로 은행사 홈페이지에서 보안 솔루션들 좀 없애도록 하면 좋겠다.

Posted by 구차니
Programming/Verilog2018. 1. 1. 09:51

always @ (posedge

이런식으로 많이 쓰이는데

always 자체는 패러럴 구문이지만 @와 결합해서 시퀀셜 하게 쓰이는 듯 하고,

@는 event에 대한 기술이다.


3. PARALLEL STATEMENTS 

always sequential_statement


5. SEQUENTIAL STATEMENTS

@ (event [{or event}]) sequential_statement

[링크 : http://www.ece.uvic.ca/~fayez/courses/ceng465/vlogref.pdf]


다만 =는 블럭킹(sequential, block) 으로

<=는 넌블러킹(parallel, non-blocking)으로 작동하게 되는데

[링크 : https://courses.cs.washington.edu/courses/cse467/03wi/Verilog3.pdf]

[링크 : https://class.ee.washington.edu/371/peckol/doc/Always@.pdf]


always 내에서 블럭킹으로 할 경우 race condition의 위험이 있다고 한다.

[링크 : https://www.nandland.com/vhdl/tutorials/tutorial-process-part1.html]

[링크 : http://aboutmadlife.blogspot.kr/2015/01/verilog-blocking-non-blocking.html]

'Programming > Verilog' 카테고리의 다른 글

베릴로그 순차적 구조적  (2) 2018.01.18
structural vs behavioral verilog  (0) 2018.01.12
verilog vector instance  (0) 2018.01.09
verilog 2001 ** 연산자  (0) 2018.01.01
verilog 코드 분석  (0) 2018.01.01
Posted by 구차니
Programming/Verilog2018. 1. 1. 09:37

VHDL 에서는 기본으로 있었던거 같은데

** 연산자는 지수승에 대한(밑이 2) 연산자로

Verilog 2001 부터 추가되었다고 한다.

지금에 와서는 거의 모든 개발 툴에서 2001을 지원하겠지?


[링크 : http://www.asic-world.com/verilog/verilog2k1.html]

'Programming > Verilog' 카테고리의 다른 글

베릴로그 순차적 구조적  (2) 2018.01.18
structural vs behavioral verilog  (0) 2018.01.12
verilog vector instance  (0) 2018.01.09
verilog always  (0) 2018.01.01
verilog 코드 분석  (0) 2018.01.01
Posted by 구차니
Programming/Verilog2018. 1. 1. 08:24

de0-nano 가속도 센서 예제 

예제가 죄다 verilog네 -_- VHDL을 공부하려는 나의 계획은 이렇게 날아 가는건가!!!


// -------------------------------------------------------------------- // Copyright (c) 2011 by Terasic Technologies Inc. // -------------------------------------------------------------------- // // Permission: // // Terasic grants permission to use and modify this code for use // in synthesis for all Terasic Development Boards and Altera Development // Kits made by Terasic. Other use of this code, including the selling // ,duplication, or modification of any portion is strictly prohibited. // // Disclaimer: // // This VHDL/Verilog or C/C++ source code is intended as a design reference // which illustrates how these types of functions can be implemented. // It is the user's responsibility to verify their design for // consistency and functionality through the use of formal // verification methods. Terasic provides no warranty regarding the use // or functionality of this code. // // -------------------------------------------------------------------- // // Terasic Technologies Inc // 356 Fu-Shin E. Rd Sec. 1. JhuBei City, // HsinChu County, Taiwan // 302 // // web: http://www.terasic.com/ // email: support@terasic.com // // -------------------------------------------------------------------- // // Major Functions: G Sensor utilization // // -------------------------------------------------------------------- // // Revision History : // -------------------------------------------------------------------- // Ver :| Author :| Mod. Date :| Changes Made: // V1.0 :| Rosaline Lin :| 02/16/2011 :| Initial Revision // -------------------------------------------------------------------- //======================================================= // This code is generated by Terasic System Builder //======================================================= module DE0_NANO_G_Sensor( //////////// CLOCK ////////// CLOCK_50, //////////// LED ////////// LED, //////////// KEY ////////// KEY, //////////// Accelerometer and EEPROM ////////// G_SENSOR_CS_N, G_SENSOR_INT, I2C_SCLK, I2C_SDAT ); //======================================================= // PARAMETER declarations //======================================================= //======================================================= // PORT declarations //======================================================= //////////// CLOCK ////////// input CLOCK_50; //////////// LED ////////// output [7:0] LED; //////////// KEY ////////// input [1:0] KEY; //////////// Accelerometer and EEPROM ////////// output G_SENSOR_CS_N; input G_SENSOR_INT; output I2C_SCLK; inout I2C_SDAT; //======================================================= // REG/WIRE declarations //======================================================= wire dly_rst; wire spi_clk, spi_clk_out; wire [15:0] data_x; //======================================================= // Structural coding //======================================================= // Reset reset_delay u_reset_delay ( .iRSTN(KEY[0]), .iCLK(CLOCK_50), .oRST(dly_rst)); // PLL spipll u_spipll ( .areset(dly_rst), .inclk0(CLOCK_50), .c0(spi_clk), // 2MHz .c1(spi_clk_out)); // 2MHz phase shift // Initial Setting and Data Read Back spi_ee_config u_spi_ee_config ( .iRSTN(!dly_rst), .iSPI_CLK(spi_clk), .iSPI_CLK_OUT(spi_clk_out), .iG_INT2(G_SENSOR_INT), .oDATA_L(data_x[7:0]), .oDATA_H(data_x[15:8]), .SPI_SDIO(I2C_SDAT), .oSPI_CSN(G_SENSOR_CS_N), .oSPI_CLK(I2C_SCLK)); // LED led_driver u_led_driver ( .iRSTN(!dly_rst), .iCLK(CLOCK_50), .iDIG(data_x[9:0]), .iG_INT2(G_SENSOR_INT), .oLED(LED));  

endmodule 

D:\de-nano\DE0-Nano_v.1.2.3_SystemCD\Demonstration\DE0_NANO_GSensor\DE0_NANO_G_Sensor.v

D:\de-nano\DE0-Nano_v.1.2.3_SystemCD\Demonstration\DE0_NANO_GSensor\v\led_driver.v


module module_name(module_in_outs);

// 일종의 입출력 변수들 정의(타입은 아직 정의하지 않고 이름만 정의


    // module의 핀(?)에 대한 입출력 방향과 타입을 정의

    input pin_name;

    output pin_name2;

    inout pin_name3;


    // 방향 지시자 없는 내부변수 선언

    wire pin_nam4;

    reg [1:0] count;


    // 행위를 정의함 - structural coding 라고 써있음

    assign out = in;


    // 조사필요

   always@(posedge iCLK or negedge iRSTN)

   submodule sub_module_name

   (

      .sub_module_pin(main_module_pin),

   );

// module의 끝

endmodule 


wire랑 reg도 변수 타입이고 그 외에는 int, real 등의 타입도 있다고..

[링크 : http://wiki.vctec.co.kr/devboard/fpga/spartan-3a-fpga-gaebalbodeu--elbert/module]

'Programming > Verilog' 카테고리의 다른 글

베릴로그 순차적 구조적  (2) 2018.01.18
structural vs behavioral verilog  (0) 2018.01.12
verilog vector instance  (0) 2018.01.09
verilog always  (0) 2018.01.01
verilog 2001 ** 연산자  (0) 2018.01.01
Posted by 구차니
embeded/FPGA - ALTERA2017. 12. 31. 20:17

control panel 이라는거 한번 실행해보려니 에러가 뿜뿜

검색하다 보니.. 일단은 내가 신버전을 설치해서 문제가 생긴거 같고

jtag_client.dll은 아래 경로에 존재는 하는데 복사해서 control panel 과 동일한 경로에 복사해도 안된다.

C:\intelFPGA_lite\17.1\quartus\bin64 


해결 방법은.. 아마도(?)

64bit 신버전 quartus 설치한 것이 원인으로 보이는데

dll 을 다운로드 받아 보면 bin32에 압축을 풀라고 되어있고

이거 하나 quartus 아래에 복사해주면 아무런 문제없이 실행이 된다.


Running Control Panel under Quartus II 15.0 or later version

[링크 : http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=293

    [링크 : https://www.alteraforum.com/forum/showthread.php?t=5299]

[링크 : http://mail.terasic.com.cn/~wyzhou/bin32.zip] dll 다운로드


프로그램이 이상한건진 모르겠지만 한 0.5초 정도에서 1초 정도의 딜레이 이후에

변경사항이 적용된다.(LED도 늦게 바뀌고, 스위치도 늦게 인식하고)


올리고 나서 켜보니 신기한거 발견

FPGA의 EPCS에 쓰는게 아니라

전원을 차단했다가 켜니 이전 상태로 돌아온다.

내부 램(?)에 바로 써서 그런 듯?

Posted by 구차니

지속가능한 미래를 읽다보니

자칭 진보를 외치는 사람들의 목소리에는 변화만을 원할 뿐

그 이후에 대한 고려가 없다라는 이야기가 나온다


난 스스로 보수라고 생각하지도 그렇다고 딱히 진보라고 생각하지도 않았고

성향적인 문제로 효과적이고 효율적인 것을 추구하다 보니

날 규정하는 단어로 극단주의자 이상주의자라고 표현을 해왔는데


이번 정권들어 어느샌가 난 

꼰대가 되었고

안티 페미니스트가 되었고

보수가 되었다


내가 지닌 지식내에서

최대한의 이익(사회 규모나 국가 규모)을 그리고 효율을 끌어내는 사회변화를 고려해보면

자칭 진보나 페미들이 외치는 부류들이 외치는 방향과는 전혀 다르고

어쩌다보니 내가 외치는 부분은 과거 내가 욕하던 보수의 모습과 닮아 보이기 까지한다


패러다임의 변화가 없는 상황에서

개인이 가지는 변화의 가능성은 한계가 있고

그 변화로 인해 더 많은 사람이 좋아질 수 있는가

더 적은 피해자가 생길 수 있는가 라는 관점에서

변화가 주는 손실이 이득보다 크다면 거부할 수 있는게 아닐까?



내가 스스로를 그렇게 규정하지 않음에도

그렇게 난 보수가 되었다.

Posted by 구차니
개소리 왈왈/독서2017. 12. 30. 20:45

솔찍히 이 책에 대해서는 그리 좋은 평가.. 아니 이것도 너무 후한건가?

쓰레기라고 하긴 미묘하지만

"영적"이라는 단어들과

미묘하게 거부감이 느껴지는 유사과학적인 논지들에 상당한 거부감이 들었다.

물론 유교로 칭해지는 동양철학을 서양적으로 풀어나가기에는 쉽지 않을수도 있지만

그걸 떠나서 전반적으로 유사과학 아냐? 라는 생각을 자꾸 지울수가 없는 느낌들이 들고

논지 자체만 봐서는 나쁘지 않기에, 자기 주관을 가지지 않고

이 내용을 보면 유사과학과 섞여서 혼동이 될 수 있는 위험한 책으로 판단된다.

(물론 정의란 무엇인가는 가치관의 혼동을 줄 수 있기에 위험하지만,

이 책은 옳고 그름 자체를 섞어 놓는 바람에 옳은 말로 그른 길로 빠지도록 하는 위험한 책이라는 차이가 있다)


아무튼, 담고 있는 내용 자체는

환경적으로 그리고 지구와 우주의 평화(?)라는 전제로는 읽어 볼 만 하다.

하지만 타인에게 읽어 보라고 권하진 않을 책.



[링크 : http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788950971939]

Posted by 구차니
개소리 왈왈/독서2017. 12. 30. 20:45

초반에는 내내 거부감만 들어

머야 또 뻔한 그 망할 페미니즘이야? 했지만

중반을 넘어서 후반으로 갈수록 초반의 심정이 수그러 드는 영향인지

아니면 논조가 부드럽게 변해서인진 모르겠지만


전문직종에 있어서 여자라는 것 자체가 육아와 떼어놓을수 없는 상황에 놓이는 이상

약점이 될 수 밖에 없다라는 슬픈 결론이랄까.


일단은 간간히 이야기 나오던 

"왜 유명 쉐프는 죄다 남자야?"라는 의문에 대한 대답을

프랑스 쉐프 문화의 발달 과정에서

기득권을 지닌 높으신 분들에게 서빙되는 특성을 지니면서

그냥 "엄마가 해주는 집 밥"과의 차별성을 가지고 전문화 하면서

쉐프라는 직종이 3D라는 것을 가리고 성공적으로 여성과 차별화하여

쉐프는 남자라는 "군대문화"기반의 남성성이 넘쳐나는 직업으로 탈바꿈 되었다는 설명으로 답을 주었다.


일반적으로 연상되는 고든램지 처럼

욕하면서 엄격하고 철저하고 완벽을 추구하는 요리사들의 모습은 확실히 군대의 모습을 닮았긴 하다.


아무튼 책에서는 결론으로 남성 호르몬 폴폴 풍기는 남자 쉐프들에 대항하기 위한 여성들의 전략으로

1, 나쁜 여자가 되어 같이 음담패설을 하고 욕하는 것과

2. (슬프지만) 남자쉐프들 처럼 독창적인 음식이 아닌 전통을 유지하는 음식을 극한으로 이뤄내거나

3. 여자가 아닌 주방을 보듬으며 이끌어 나가는 엄마가 된다

는 세가지 경우로 이야기를 하고, 그나마 3번째 엄마 전략이 성공적으로 보이지만


여자 쉐프의 성공에서 가장 큰 적은 "육아"라는 것이다.

독박 육아가 아니더라도 남자들 만큼 가정이나 육아를 포기하지 않는 이상

다르게 보면 남자가 가지는 권력으로서 돈을 벌어오는 것을 제외한

양육이나 육아 그리고 아내에 대한 헌신을 포기하는 대가로서

쉐프라는 지위를 얻을 수 있기에, 그걸 포기할 수 없는 여성 쉐프로서는

이르기 어렵고, 이를수 없는 자리라는 결론이 나온다.


일부 성공한 쉐프는 가족이나 집안의 도움으로 육아를 상당부분 도움 받거나

결혼하지 않고, 혹은 육아의 짐에서 벗어난 기혼 비출산 여성 쉐프여야 했다는 점에서

그리고 의외로 성희롱보다 육아나 출산으로 포기해야 하는 경우가 많았던 점에서

진정으로 여성의 성공을 위한다면 사회적인 차원에서 변화가 필요하다는 내용이다.


하지만 이 책에서 주장하는

모든 여성 쉐프들이 엄마가 되는 것을 반대하는 내용이나,

현재 요식업 자체가 변화하길 꺼려하는 성공한 여성 쉐프들의 논지로

"남성화된 직종에서 자신들의 노력이 무의미한 것으로 될, 더 좋은 방향으로의 변화를 거부함" 을 내세우고

그런 거친 남자들 사이에서 인정 받은 이후에 태도가 달라져서

평소에는 까는데 여념이 없다가 외부인들로 부터

'왜 우리 쉐프 갈궈요!' 하면서 스스로 방어막이 되어주는 남자 쉐프들의 예를들며 이야기 하는 부분에서는

묘한 느낌이 든다.


이전에도 언급했던

남자의 여자에 대한 태도는 "너의 능력을 증명해 봐" 이고

능력을 증명한 여성에 대하서는 '명예남성'이 아닌

나와 동등한 사람으로 인정하고 보호하려든다는 점

즉, 여자가 살아남기 위해서는 여성성에 대한 호소가 아닌

남성성을 넘어설 수 있다라는 여성 개인의 능력의 증명이 더 필요한 게 아닐까? 라는 생각이 들면서


그 생각 자체가 남성으로서의 기득권일 가능성 자체에

남성으로서의 나가 할 수 있는 사상의 한계인가 라는 생각도 들게 된다.



아무튼, 유명해지고 돈을 많이 벌고 대장이 된다는걸 성공으로 칭한다면

저 성공한 여자 쉐프들은 책에서도 극히 일부 뿐이며

반대로, 성공하지 못한 여성들은 자신의 노력만을 보며

보이지 않는 곳에서 노력할 많은 남성 쉐프들을 비하하는건 아닐까 싶기도 했고

(더 늦은 시간까지 요리를 하면서 스스로 더 나은 요리, 실수하지 않는 요리, 더 빠른 요리를 만들려는 노력. 그리고 언젠가 주어질지 모르지만 이 것 한번 해봐 라는 기회-그리고 능력의 증명-를 위해 남들 몰래 요리 연습을 하면서 남자들 사이에서는 그냥 놀았지 하며 위장을 하는 그런 것들 포함해서..)

그게 바로 유리천장의 실체가 아니었을까? 생각이 든다.


아무튼 읽어볼 만한 책이고,

여자가 아이나 가족을 돌보지 않아도 될 그런 시대가 온다면, 여자들이 말하는 불평등이 사라질까?

라는 물음을 던지고 감상평을 마무리!


[링크 : http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788965641964]

Posted by 구차니