embeded/FPGA - ALTERA2018. 1. 10. 13:13

DE0_Nano_User_Manual.pdf 참조하여

FPGA GPIO랑 2.54 핀헤더랑 매핑된게 안보여서 일단 정리


+

de0-nano_pinout_rev1.0_180530.xlsx


de0-nano_pinout.xlsx



VSYS는 3.6~5.6V 사이

V3P3는 VSYS에서 LDO를 통해 3.3V를 생성한 녀석이다.


그러니까.. 

5V 쓸일 있으면 VSYS에

3.3V 쓸일 있으면 V3P3에 연결하면 된다.

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

아 몰라 fpga/bitcoin 포기  (0) 2018.01.12
de0-nano + rpi2 채굴?  (0) 2018.01.10
심심해서(?) 비트코인 FPGA 빌드  (2) 2018.01.09
DE0-Nano와 이더넷 실드..  (0) 2018.01.04
altera AS(Active Serial) / PS(Passive Serial) ?  (0) 2018.01.03
Posted by 구차니
embeded/arduino(genuino)2018. 1. 10. 10:47


D-SUN "USB to TTL" (Blue)

(Rx & Tx use 3.3V logic levels) 

D-SUN사 USB TTL은 (파란색 PCB)

TX가 3.3V로 뜨고

5V는 그냥 USB 전원을 뺴주는 것으로 보인다(전원 공급용?)


Gikfun YP-02 USB to TTL, CH340, 6-pin

(Rx & Tx use ~3.7V logic levels) 

YP-02는 wch의 ch340 칩셋을 사용하는데

점퍼를 이용해서 Tx의 전압을 3.3V나 5.0V로 선택이 가능하다.


[링크 : https://www.cpmspectrepi.uk/raspberry_pi/MoinMoinExport/USBtoTtlSerialAdapters.html]

Posted by 구차니
Programming/Verilog2018. 1. 9. 20:52

verilog 언어로 된 모듈을 여러개 어떻게 생성하나

일일이 이름 바꾸어서 해야 하나 고민을 했는데

동일 이름으로 생성도 가능하고

벡터로 모듈 생성이 가능하다고 한다

(그러니까 SHA256 모듈을 벡터로 생성하는 꽁수를!)


Example 4


module my_module (a, b, c);

input a, b;

output c;

  assign c = a & b ;

endmodule

 

module top (a, b, c) ;

input [3:0] a, b;

output [3:0] c;

  my_module inst [3:0] (a, b, c);

endmodule 

[링크 : http://verilog.renerta.com/mobile/source/vrg00027.htm]


genvar k;

generate for (k = 1; k <`wordsize - 1; k = k + 1)

 begin

    I2S_dff instance (.d(sd), .q(q_out[i]), .r(wsp), .en(dec_out[i]), .sck(clk));

    datareg_in = |q_out;

 end

endgenerate 

[링크 : https://electronics.stackexchange.com/.../how-to-use-generate-for-multiple-module-instantiation-in-verilog]


From Verilog-95 you can have a vector of instances:

d_flipflop ff[7:0] (A, Q, reset clk); 

[링크 : https://stackoverflow.com/questions/21615210/instantiating-multiple-modules-in-verilog]

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

베릴로그 순차적 구조적  (2) 2018.01.18
structural vs behavioral verilog  (0) 2018.01.12
verilog always  (0) 2018.01.01
verilog 2001 ** 연산자  (0) 2018.01.01
verilog 코드 분석  (0) 2018.01.01
Posted by 구차니

나름 ATC 자격증 까지 땄었는데

안쓰니 다 까먹는데 이녀석.. 마치 수능전후의 정석책 같은 녀석일세 -_-

그래도 다뤄본 적이 있다고 명령어들 보니까 대충 기억이 나는건 다행 ㅠㅠ


ROtate

[링크 : http://the52k.tistory.com/40]


MIrror

[링크 : http://the52k.tistory.com/48]


3d 명령

EXTrude 밀어내기

REVolve 돌리기

[링크 : http://kk8090.tistory.com/entry/오토캐드-3d-명령어-정리]


Chamfer 모따기

Fillet 둥글게

[링크 : http://the52k.tistory.com/25]


그러고보니 tr대신 f쓰는게 편하다고 배운기억이..

fillet을 0으로 해주고 어떻게 했던가? 기억이 가물가물..

[링크 : http://copyday.tistory.com/entry/왕-초보-캐드-배우기쉽다23b-오토캐드로-fillet-모깍기TRIM-NO-TRIM-모드]


align

도형을 정렬함(붙이기)

[링크 : http://help.autodesk.com/view/ACD/2016/KOR/?guid=GUID-D0FA10D5-76EE-4B80-A285-43C7F39916DB]

'프로그램 사용 > autocad' 카테고리의 다른 글

autocad web app 구동조건이 64bit 그리고?  (0) 2020.06.21
원 채우기  (0) 2018.05.01
autocad 명령어  (0) 2018.01.08
autolisp  (0) 2014.03.17
AutoCad 2011 도움말 - 명령어  (0) 2014.01.17
Posted by 구차니
회사일/케이스2018. 1. 9. 11:32

머.. 무슨 차이인지 모르겠다 ㅋㅋㅋㅋ



스폰지는 PU(폴리 우레탄)

노란색이나 부농부농 혹은 흰색(그러고 보니 왜 노란색을 많이 쓰지?)

[링크 : http://tip.daum.net/question/39257925]


하드 스폰지는 EVA는 아니고

말그대로 스폰지의 발포 밀도를 조절해서 좀 딱딱한 녀석?

[링크 : http://eponge.co.kr/bizdemo7193/04/01.php?com_board_basic=read_form&com_board_idx=19]


EVA는 에틸렌비닐아세테이트

아무튼 얘는 그 딱딱하고 대개 파란놈(파란게 싸서 많이 쓰나..?)

[링크 : http://tip.daum.net/question/90968265]


+

영보드 라는 건 상품명으로 발포 PE나 발포 EVA 계열로 생각된다.


영보드는 폴리에틸렌 및 EVA를 발포한 독립기포 또는 연속기포구조의 반경질 블록상의 제품으로 셀이 미세하고 균일하며 색상이 아름답고 다양한 제품입니다. 인쇄가 가능함으로 일용잡화, 완충용 포장재 및 스포츠용품 등으로 널리 사용됩니다.

[링크 : http://www.youngbo.com/pages/development/sub03_05_view07.asp]

'회사일 > 케이스' 카테고리의 다른 글

톰슨 커팅(도무송 재단)  (0) 2018.01.09
Posted by 구차니
embeded/FPGA - ALTERA2018. 1. 9. 10:03

소스를 다운 받고 압축을 풀고

[링크 : https://github.com/kramble/DE0-Nano-BitCoin-Miner]


de0-nano용이라고 하긴 했는데 다른 제품들도 추가된 듯

아무튼 EP4C 사용하니까 EP4CE10 폴더 가서 EP4CE10_miner.qpf 를 눌러 qurartus를 실행!


귀찮으니 그냥 합성 시작! 2분 50초에 완료!


메뉴의 Assignment - Assignment Editor가 있어서 눌러보니 Pin Planner 비슷하게 나오네?


먼가 많이 보여서 이름으로 정렬하니, 같은 핀에 대한 설정이 여러가지 였네..

Assignment - Pin Planner 를 실행하니.. 오히려 에디터보다 설정된 핀의 갯수가 줄었다?

아무튼 쓰는법은 나중에 좀 봐야 할 거 같고..


main_pll.v 에서 보니.. DE0-nano가 50MHz 클럭을 사용중이고

이걸 DIV/2 해서 쓰도록 설정 되어 있는 것으로 예상된다.(ALTPLL 아직 쓸줄 모름 ㅠㅠ)

defparam

// NB Uncomment BOTH divide, multiply and frequency settings according to osc speed

// Also change clock period in fpgaminer.sdc

// -------------------------------------------------------------------------------

// altpll_component.clk0_divide_by = 1, // 5 MHz osc

// altpll_component.clk0_divide_by = 1, // 10MHz osc

altpll_component.clk0_divide_by = 2, // 20MHz osc [IN USE]

altpll_component.clk0_duty_cycle = 50,

// altpll_component.clk0_multiply_by = `SPEED_MHZ * 2, // 5MHz osc

// altpll_component.clk0_multiply_by = `SPEED_MHZ, // 10MHz osc

altpll_component.clk0_multiply_by = `SPEED_MHZ, // 20MHz osc  [IN USE]

altpll_component.clk0_phase_shift = "0",

altpll_component.compensate_clock = "CLK0",

// NB inclk0_input_frequency is actually the clock PERIOD in picoseconds 

// altpll_component.inclk0_input_frequency = 200000, // 5 MHz osc

// altpll_component.inclk0_input_frequency = 100000, // 10 MHz osc

altpll_component.inclk0_input_frequency = 50000, // 20 MHz osc [IN USE]

altpll_component.intended_device_family = "Cyclone IV E", 


프로젝트 구성인데..

SHA256 계산하는데 거의 모든 능력치가 몰빵 되었네..

이 패널 보는 법을 좀 찾아 봐야겠네.. 로직셀이 여유가 있다면 이걸 여러개 생성해서

라즈베리 1대에 여러개의 시리얼 포트 구성하고 멀티코어(?)로 돌릴 수 있을 것 같으니..


git의 readme.txt 을 보면

아래꺼랑 내용을 합쳐보면.. 50Mhz / 디바이더(2) * SPEED_MHZ(14) 니까 350MHz로 작동하는건가?

으으으.. 공부할 게 넘쳐나네.. ㅠㅠ


문제는 1MHz당 10mA 전력 소비가 증가되고

40MHz로 돌린게 USB 전원으로 공급되는 500mA 제한 때문인지라 그 이상을 쓰려면

외부 전원을 공급 해주어야 한다. 그럼..3.5A * 5V = 17.5W 가 되는건가.. ㄷㄷ

(그러니까 잘 꽁수를 부려서 쿼드 코어를 구성해야... 40Mhz * 4 ㅋㅋㅋ)

그리고 80MHz 이상은 별도의 냉각이 필요하다고 한다.


처음 굽고 나서 켜면 halt 상태라 KEY0을 눌러서 켜줘야 한다고 한다. KEY1은 다시 죽임.

(근데 핀 플래너에 KEY0,KEY1에 대한 할당이 없었는데?


The PLL clock speed is set by the parameter (Verilog macro) SPEED_MHZ in units of 10MHz,

eg SPEED_MHZ=4 runs at 40MHz, which is the default setting. This gives 6.67MHash/s

throughput. This is the fastest that I recommend running an unmodified DE0-Nano. You may

clock faster at your own risk, but you should monitor the temperature of the the onboard

regulator chips as these will get VERY hot unless additional cooling is applied (eg fan

blown air). The fpga chip may also need cooling. BEWARE, you risk destroying your board

due to overheating if you increase SPEED_MHZ, and the actual speed in MHz is 10 times the

value set for SPEED_MHZ.


Current draw is approx 10mA per MHz (eg 40MHz will draw approx 400mA). Beware that a

typical USB port may only be able to supply 500mA so a 5.0 Volt external power supply

connected to the DE0-Nano white PSU header (JP4) is advised if overclocking. I have not

myself run this configuration any faster than 80MHz (SPEED_MHZ=8), and fan cooling was

essential.


After programming, the miner starts up in a halted state (it does NOT mine in this state)

Pressing the KEY0 pushbutton on the DE0-Nano board will start the miner (and reset the

nonce). Pressing KEY1 will halt it. This allows some control of power and thermal

management as the halted state draws considerably less current from the power supply.

This was of importance when extreme overclocking was applied to the Hashers22_serial

version as follows. 


SPEED_MHZ가 값으로 주어진다는데 한참을 찾았네 -_-

파일로 검색하니 qsf 확장자에서 설정되어 있어서, 프로젝트 설정을 찾아 보니

Compiler Setting의 Verilog HDL input에

Existing Verilog HDL macro settings:에 존재한다.


[링크 : https://www.rs-online.com/designspark/bitcoin-mining-with-a-raspberry-pi-and-de0-nano]

2017/12/29 - [embeded/FPGA] - de0-nano + rpi = 채굴머신..



+

DE2-115와 같은 패밀리의 DE-Nano는 생각외로 저조하네..

어떤 설정인지 모르겠으나.. 머 Cyclone IV가 그리 고성능은 아니니까..


[링크 : https://en.bitcoin.it/wiki/Mining_hardware_comparison]

    [링크 : http://bitpeople.kr/bbs/board.php?bo_table=Mining&wr_id=6]


DE2-115도 클럭 이빠이~ 끌어 올려서 80MH/s 도달한거 같은데

40Mhz로 작동하면 16.78MH/s 라고 하니 200MHz로 작동시킨 듯?

(그러니까 쿼드로 작동시키고 라즈베리에 시리얼 여러개 달고 전원 뻥튀기 하면...)

You will then be prompted to select a SOF to program, best to start with DE0_Nano_serial-40MHz.sof

Programming should only take a second or two. The blinkenlights demo should now change to a simple binary

count. This is the top byte of the nonce and gives a good indication of the hash speed (its 2^32 divided

by the time in seconds for a complete cycle, or roughly one increment per second translates to 16.78MH/s). 


GTX1050이 동났던걸로 기억하면 GTX1080이 AntMiner의 절반에 근접한다고 해도

여러가지 면에서 GPU 채굴의 효율이 높지는 않은데..

AntMiner가 1000W 이상을 쳐먹쳐먹 하는 입장에서 보면.. 무시무시 하네..

[링크 : http://jse.or.kr/AJMAHS/papers/v7n5/76.pdf]


다만.. 단순 산술로 해보면

GTX1080 기준 160W max 정도 소비하고

[링크 : http://www.hwbattle.com/chart/chart_vgapw.php]


12.5TH(=12500 GH)를 1200W에 처리하는 AntMiner S9를 기준으로 계산해보면

7.5개 분량의 전력을 소비하고

GTX1080이 4500MH니까 4.5GH/s 이고 7개 하면 31.5GH/s

403배 ASIC 쪽이 우월한 성능을 낸다.. ㄷㄷ

[링크 : https://shop.bitmain.com/specifications.htm?name=antminer_s9_asic_bitcoin_miner]

[링크 : https://shop.bitmain.com/productDetail.htm?pid=0002018010817075487815N912ME05E5]


아무튼... 내가 가진 염가형 FPGA로는 GTX 700 시리즈에는 비벼볼만 하나

GTX 900 시리즈에 발리기 시작하고, 소비전력 대비로든 딱히 ASIC이 나온 시점에서는 장점이 없다.

물론.. 돈 버는게 목적이 아니라 시스템 구축하고 Verilog 공부하는 목적으로는 해볼만 할거 같은데

한번.. 돌려는 봐야겠다



목표는..

로직이 허용하는 한도 내에서 최대한의 모듈을 생성하고 RX를 할당해서 멀티 코어 구성하고

라즈베리에서 USB 시리얼등을 이용해서 다 채널로 구성해서 돌려보는 걸로...?



+

코드를 보는데..

EP4CE22F17C6 가 DE0-Nano 껀데.. 이걸로 설정된 녀석이

Hashers22

Hashers22_serial

Makomk_Hashers_32_Serial

이 세녀석이다. 다시 봐야하나?


+

2018.01.10

Hashers22_serial 이 폴더에 있는 소스가 DE0-Nano에 가장 적절한 녀석으로 보인다.

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

de0-nano + rpi2 채굴?  (0) 2018.01.10
DE0-Nano 핀헤더 관련  (0) 2018.01.10
DE0-Nano와 이더넷 실드..  (0) 2018.01.04
altera AS(Active Serial) / PS(Passive Serial) ?  (0) 2018.01.03
fpga를 이용한 VGA(D-SUB 15pin) 출력  (0) 2018.01.03
Posted by 구차니
회사일/케이스2018. 1. 9. 09:40

케이스와 스폰지 가공할 일이 있어서

견적을 받아보는데 철형을 해야 하고 어쩌구 해서 검색을 해보니

도무송(그러니까 이거 암만봐도 일본어로 토무슨 -> 도무승 -> 도무송 된 느낌이 팍팍 오는데) 재단이라고

일종의 프레스 같이 쿡쿡 찍어 내는데

이거용 칼날을 만드는걸 철형이라고 하는 듯?



이 동영상에서는 하판이 칼날으로 보인다.

[링크 : https://www.youtube.com/watch?v=oc29n0ycInU]

[링크 : https://www.youtube.com/watch?v=AUEIa7UwEEc]


그나저나.. 저 칼날이 1회용도 아닐테고 두개 만드는데 칼날을 두개 따로라니 너무하네?


정밀한 컷팅이나 다량의 컷팅에 사용되며 특수칼날을 셋팅하여 프레스하는 기법으로 재단됩니다.

[링크 : http://www.eponge.co.kr/default/02/01.php?sub=01

'회사일 > 케이스' 카테고리의 다른 글

EVA, 스폰지  (0) 2018.01.09
Posted by 구차니

기억나는게


Line

Offset

TRim 잘라내기

뿐이라.. 다시 찾아보는중..

수업하고 다시 쓸일없다고 공책 버린게 마음아프네 ㅠㅠ


+

RECtangle 사각형

Circle 원

Arc 호

ELlipse 타원

EXtend 선 늘리기


CoPy, COpy 복사

Move 이동

Fillet 라운딩 - 이거 먼가 tr대신 썼던거 같은데...


SCale 확대/축소


[링크 : http://epinokio.tistory.com/entry/오토캐드AutoCAD-명령어-정리]



'프로그램 사용 > autocad' 카테고리의 다른 글

원 채우기  (0) 2018.05.01
캐드 명령어 이것저것  (0) 2018.01.09
autolisp  (0) 2014.03.17
AutoCad 2011 도움말 - 명령어  (0) 2014.01.17
Autocad 학원 수강 3일차  (0) 2014.01.17
Posted by 구차니

를 빙자한(?) 둘째 사진 자랑하기 ㅋ


코드는 아래 링크에서 확인하면 되고

2017/12/28 - [embeded/arduino(genuino)] - 심심한데 머리가 안돌아가는 아두이노.. -_ㅠ


구조 자체는

서보 + 아두이노 nano + 보조 배터리

서보는 180도 회전하게 하고 너무 빠르지 않게 한번 반복에 2초 정도로 설정하고 사용중이고

서보의 + 기어(?)에 낙시줄로 묶어서 바운서를 땅기는 식으로 구현함.


현재 문제점은...

1. 배터리가 굴러다닌다..

-> 조만간 배터리 주머니 찾아서 바운서에 묶을 예정

2. 선이 자꾸 빠진다

-> 납땜 해야 하나....

3. 전원 스위치나 기능설정이 없다

-> 귀찮아.. 걍 USB선 뽑아.... (응?)

4. 낙시줄이 늘어난다

-> 등산용품 중에 줄길이 조절하는게 있던거 같은데 그거 써볼까 고민중


초기 버전이라 3초 간격으로 되서 무지 느릿느릿




'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

할 수 있다.  (0) 2018.01.30
에어컨 필터 망가졌나 ㅠㅠ  (0) 2018.01.22
스펙트라 젖병소독기 사용리뷰  (2) 2018.01.07
락티나 유축기 대여품 사용  (0) 2017.11.23
젖꼭지 호환  (0) 2017.11.20
Posted by 구차니
Programming/C Win32 MFC2018. 1. 8. 11:29

eclipse에서 하려니 먼가 잘 안되고

(한줄에 여러개 있는게 되는게 있고 안되는게 있고 그러네..)

jindent 라는 플러그인 하니 라인길이 제한이 걸려있어서 유료 사야하고


notepad++에는

tidy 플러그인 깔아야 한다는데, 플러그인 매니저가 이상해져서 깔기 빡세고


웹에서 하는 것도 있지만

외부로 코드 유출되는거 아닌가 걱정되서 쓰기 그렇고..

그리고 파일단위가 아닌 복/붙해야 하니 귀찮...

[링크 : https://codebeautify.org/c-formatter-beautifier]


리눅스에서 툴을 이용하는것들 발견.. 해봐야 할 듯

[링크 : https://askubuntu.com/questions/448497/source-code-formatter-indenter]


clang-format 쓸만하긴 한데 하위 디렉토리 자동으로 뒤져서 하는건 없다고..

[링크 : https://stackoverflow.com/questions/28896909/how-to-call-clang-format-over-a-cpp-project-folder]

'Programming > C Win32 MFC' 카테고리의 다른 글

엔디안 급 멘붕..  (0) 2018.05.29
const char *과 char * const 차이  (0) 2018.01.31
win32 시리얼 통신 LPCTSTR / LPCSTR  (0) 2017.12.07
MFC CList 선택항목 인덱스 얻기  (0) 2017.11.28
MFC CSdlierCtrl 에서 SetPos()  (0) 2017.11.28
Posted by 구차니