이것저것 테스트 중..

일단 eclipse에서 통합하는 것 보다는

eclipse 에서는 편집하고

cppcheck 독립 GUI 프로그램과

doxygen 독립 GUI 프로그램을 이용하는게 더 간편해 보인다.


eclipse + doxygen 설명 끝판왕 ㄷㄷ

[링크 : https://mcuoneclipse.com/2012/06/25/5-best-eclipse-plugins-1-eclox-with-doxygen-graphviz-and-mscgen/]

[링크 : http://5on7.blogspot.com/2016/01/08-01.html]

[링크 : https://codeyarns.com/2015/06/11/how-to-use-cppcheck-with-eclipse-cdt/]



com(alt+enter) 자동완성으로 comment

/* 엔터 (주석 자동완성)

/// 엔터

[링크 : https://questionfocus.com/change-doxygen-comment-style-in-eclipse.html]


java doxygen Alt-Shift-J

이건.. 다른 단축키와의 충돌로 사라진거 같기도 하고?

[링크 : http://zzznara2.tistory.com/75]


doxygen 문법 - 함수는 이 정도면 되려나?

/*

 * @brief 간략한 설명

@details 상세 설명

@param int a 변수 int a에 대한 설명

@return 반환갑 설명

 */ 

[링크 : http://onecellboy.tistory.com/342]


cppcheck에서 clang을 쓰려면 프로젝트 에서 경고 띄우도록 설정해야 하는 듯?

[링크 : https://sourceforge.net/p/cppcheck/wiki/Home/]


다운로드 링크

[링크 : https://www.eclipse.org/downloads]

[링크 : http://www.stack.nl/~dimitri/doxygen/download.html]

[링크 : https://sourceforge.net/projects/cppcheck/]

[링크 : http://releases.llvm.org/download.html]


2012/02/07 - [프로그램 사용/eclipse CDT & minGW] - eclipse cdt + eclox + doxygen

2015/09/30 - [Programming/C / Win32 / MFC] - Cppcheck

Posted by 구차니
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 구차니