목록[Harman] 하만 반도체 설계/NiosII (8)
Kraklog
클럭과 리셋을 빌드해준다. OV7670을 이용해서 I²C 를 이용해보려 한다. 타이밍에 맞춰서 작성을 해줘야 한다. (데이터 시트 참조) 그 후 Platform Design을 빌드해준다. generate를 해주고나서, 다시 합성을 해주고 보드에 올려준다. Hello world small 템플릿을 이용해 정상 작동을 하는지 검사 정상 작동을 확인 다시 Platform Design PIO 추가 bidir로 설정, 이 후 하나는 SCL, 하나는 SDA로 해준다. 최종 연결 후 Generate 및 Quartus에서 연결해주고 합성해준다. 합성 후 보드에 올려준 뒤 BSP를 다시 generate system.h에서 추가되었는지 확인해준다. base 부분에 쓰고 읽히는지를 보기 위한 테스트. DATA (SDA,SC..
licenese가 없기 때문에 economy를 골라준다. on chip memory를 올려주고 총 memory size를 바꿔준다. 배치 후 연결을 해준다. 연결을 해준 후인데 아직 에러가 4개가 남았다. 그 중 한가지는 adress가 겹쳐서 생기는 문제이다. address를 재할당해주면 해결된다. 이 에러는 on chip memory가 연결되지 않아서 생기는 문제이다. cpu의 reset vector와 exception vector를 on chip memory와 연결해준다. slave는 data master에 연결해준다. LED 등 입출력을 위해서는 pio가 필요하다. 8bit led를 출력하기 위해서 크기는 8로 설정해주었다. led를 바꾸고 clock과 reset, s1을 연결해준다. 반드시 con..
Avalon bus를 활용해 pwm ip를 설계하는것이 목표. Avalon Interface -master 와 slave간 상호 동작을 나타낸 폼 -slave가 보내는 신호는 wait request, readdata 그 외에는 master에서 보내는 신호 -byteenable은 내가 보내는 data 중 일부만 보내고 싶을때 data를 선택하게 한다. `timescale 1ns / 1ns `define APWM module avalon_module ( input clk , input rst , input mp_waitR, //Avalon bus input [31:0]mp_rData, output reg [31:0]mp_addr , output reg [ 3:0] mp_bEn , output reg mp_r..
Avalon Bus 설계 `timescale 1ns / 1ns module avalon_module ( input clk , input rst , input mp_waitR, //Avalon bus input [31:0]mp_rData, output reg [31:0]mp_addr , output reg [ 3:0] mp_bEn , output reg mp_rD, output reg mp_wR , output reg [31:0]mp_wData ); parameter FF = 1; initial begin mp_addr =32'hx; //unknown value mp_bEn =4'bx; mp_rD =1'b0; mp_wR =1'b0; //mp_waitR =; //mp_rData =; mp_wData =32'..
PWM : Pulse Width Modulation, 펄스의 폭을 제어하는 주기 제어방법 New Component - Files (tab) - Add File - Analyze Synthesis 이때 에러는 나오는 에러는 지금은 무시한다. module avalon_pwm ( clk, wr_data, wr_n, addr, clr_n, rd_data, pwm_out ) ; input clk; input [31:0] wr_data; input wr_n; input addr; input clr_n; output [31:0] rd_data; output [7:0] pwm_out; reg [7:0]div3, div2, div1, div0; reg [7:0]duty3, duty2, duty1, duty0; reg [..
EX1) 환경설정 Quartus - Platform Designer - niosii.qsys Nioss II Processor를 검색해주고 추가해주되, Nios II economy를 선택해준다. 빌드 요소 clk_50 : 50Mhz를 의미함. pl_qsys : 100Mhz 로 동작, error, warning은 최종적으로 셋팅해주었을때 해결되면 된다. nios2_gen2_0 을 F2를 눌러 cpu로 재명명해준다. pll_qsys 에 연결해준다. CPU의 Data , Instruction, interface는 Avalon MM 이다. CPU data 에 data, Instruction, interface가 들어가있기때문에 sytem peripheral의 control slave를 cpu data_maste..
[SoC의 3가지 핵심 구성 요소] 1. CPU Core 2. Memory 3. 1개 이상의 Peripheral(주변기기) [MCU와 FPGA 차이점] 공통점 : Microcontroller Unit 과 Field Programmable Gate Array (각각 MCU,FPGA) 둘 다 디지털 시스템에서 사용되는 장치. 차이점 : MCU 1. 고정된 하드웨어 : MCU는 일반적으로 하나의 칩 안에 프로세서 (core), 메모리, 주변장치 및 입출력 장치가 통합된 고정된 하드웨어를 가지고 있음. 2. 주로 작은 규모의 시스템에서 사용되며 주로 특정 애플리케이션을 위해 제작되기 때문에 유연성에 제한을 가질 수 있음. 3. MCU는 주로 고등언어를 사용하여 프로그래밍 되며, 이는 개발자에게 편리함을 줄 수 ..