ATLAS-SoC에서 플레이 (L 치카 part2)
목적
지난번의 동작 확인시에 사용한 DE0_NANO_SOC_Default.v의 일부를 변경하여 LED 카운터를 작성한다.
평가 보드의 동작 클럭이 50MHz이므로 카운트 동작이 눈으로 쫓도록 분주하고, 그 신호를 그대로 LED에 사용한다.
구현
우선 8bit 카운터를 도입했을 때의 파형의 모습을 modelsim으로 확인한다.
테스트 벤치는 QuartusPrime의 "test bench template writer"를 기반으로 작성
템플릿 데이터는 다음 디렉토리에 생성됩니다.
./{작업 디렉토리}/simulation/modelsim/{verilog 파일 이름}.vt
이렇게하면 테스트 벤치를 만들 때 필요한 신호 이름 입력 작업을 줄일 수 있습니다.
DE0_NANO_SOC_Default.vt
---------省略----------------
`timescale 1 ps/ 1 ps
module DE0_NANO_SOC_Default_vlg_tst();
// constants
// general purpose registers
reg eachvec;
// test vector input registers
reg ADC_SDO;
reg FPGA_CLK1_50;
reg FPGA_CLK2_50;
reg FPGA_CLK3_50;
reg [35:0] treg_GPIO_0;
reg [35:0] treg_GPIO_1;
reg [1:0] KEY;
reg [3:0] SW;
// wires
wire ADC_CONVST;
wire ADC_SCK;
wire ADC_SDI;
wire [35:0] GPIO_0;
wire [35:0] GPIO_1;
wire [7:0] LED;
// assign statements (if any)
assign GPIO_0 = treg_GPIO_0;
assign GPIO_1 = treg_GPIO_1;
DE0_NANO_SOC_Default i1 (
// port map - connection between master ports and signals/registers
.ADC_CONVST(ADC_CONVST),
.ADC_SCK(ADC_SCK),
.ADC_SDI(ADC_SDI),
.ADC_SDO(ADC_SDO),
.FPGA_CLK1_50(FPGA_CLK1_50),
.FPGA_CLK2_50(FPGA_CLK2_50),
.FPGA_CLK3_50(FPGA_CLK3_50),
.GPIO_0(GPIO_0),
.GPIO_1(GPIO_1),
.KEY(KEY),
.LED(LED),
.SW(SW)
);
---------省略----------------
템플릿 데이터를 사용하여 클록 부분에 신호를 넣을 때의 테스트 파형이 여기
KEY는 DFF의 인 에이블 신호입니다. 예술은 없지만 신경 쓰지 않습니다
후에는 LED의 점멸이 눈으로 쫓도록 분주부를 8bit에서 32bit로 변경해 상위 비트분을 LED에 연결한다.
DE0_NANO_SOC_Default.v
---------省略----------------
reg [31:0] Cont;
always@(posedge FPGA_CLK1_50 or negedge KEY[0])
begin
if(!KEY[0])
Cont <= 0;
else
Cont <= Cont+1;
end
assign LED[7:0] = Cont[31:24];
endmodule
이상.
예상대로 LED의 카운트업 동작을 확인할 수 있었습니다.
참고서
입문 Verilog HDL 기술 - 하드웨어 기술 언어 속습 및 실천 (Design wave basic)
Verilog HDL & VHDL 테스트 벤치 기술 초보 (DESIGN WAVE MOOK)
Reference
이 문제에 관하여(ATLAS-SoC에서 플레이 (L 치카 part2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/qroquis/items/37aa290b91b53c26ab01텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)