묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
BRAM 메모리 사이즈 질문
////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: Austin // // Create Date: 2021.04.29 // Design Name: // Module Name: dpbram_from_hls // Project Name: // Target Devices: // Tool Versions: // Description: synthesible true dpbram from vivado hls // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// `timescale 1 ns / 1 ps module true_sync_dpbram ( clk, addr0, ce0, we0, q0, d0, addr1, ce1, we1, q1, d1 ); parameter DWIDTH = 16; parameter AWIDTH = 12; parameter MEM_SIZE = 3840; input clk; input[AWIDTH-1:0] addr0; input ce0; input we0; output reg[DWIDTH-1:0] q0; input[DWIDTH-1:0] d0; input[AWIDTH-1:0] addr1; input ce1; input we1; output reg[DWIDTH-1:0] q1; input[DWIDTH-1:0] d1; (* ram_style = "block" *)reg [DWIDTH-1:0] ram[0:MEM_SIZE-1]; always @(posedge clk) begin if (ce0) begin if (we0) ram[addr0] <= d0; else q0 <= ram[addr0]; end end always @(posedge clk) begin if (ce1) begin if (we1) ram[addr1] <= d1; else q1 <= ram[addr1]; end end endmodule 여기서 왜 MEM_SIZE = 3840으로 선언된건가요..?double port니까 16*12*2 = 384로 선언되어야 맞지 않은건가요.. 설계자가 그냥 여유로 남겨놓은 건가요ㅕ??
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
error 문제
안녕하세요 ./build하면 계속 오류가 뜨는데 이유를 모르겠어요 ㅠ 33번째줄 end가 오류라는데 왜 오류인지 모르겠어요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
16강 질문
1) Area가 클수록 Cost가 비싸고 따라서 Area가 크면 용량이 작다고 설명하셨습니다.먼저 Area와 용량의 관계에서 "Area가 크다는 것은 각 메모리 Cell의 크기가 크다는 것이고 따라서 더 적은 수의 Cell을 넣을 수 있어 용량이 적음" 으로 이해했고, Area와 Cost의 관계는 Area가 클수록 공정에서 비용이 들어 Cost가 비싼것으로 이해했습니다 하지만 결론적으로 Area와 용량이 무조건적으로 반비례하는 것에 대한 이해가 잘 되지 않습니다. 2) 0이 저장된 상태에서 1을 WRITE→ 우측 인버터의 출력부분에 0이 저장되어 있을 때, 여기서 WL에 1을 주고 BL에 1을 주면 BL과 인버터가 short되면서 1과 0이 만나게 된다. 이때 BL의 신호 1은 우측 인버터 부분 신호 0이 있으므로 충전되지 않은(또는 매우 적게 충전된) Parastic Cap을 충전시키게 된다. 따라서 상태를 바꾸지 못 할수도 있는데, 이는 그저 BL의 신호 세기를 충분히 높혀주면 되는 부분이다. 라고 이해했는데 맞을까요??(pdf의 블로그에 들어가보니 접지로 BL의 신호가 흘러서 상태를 바꾸지 못할수도 있다고 되어있어서요 !!)
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
보드가 너무 뜨거워요
전원을 연결하면 led가 막 들어오면서 칩이 너무뜨거워져요. 다른 코드를 올리도 전원을 껏다 키면 다시 led불이 막 들어오면서 뜨거워지네요. 다이소에서 2000원짜리 5핀케이블을 사서 연결했는데 케이블 문제일까요??
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
ASIC에서 SRAM에 관한 질문입니다.
안녕하세요, 정성이 느껴지는 강의를 제공해 주심에 감사드립니다. 컴퓨터 구조의 메모리 계층 구조와 Verilog로 SRAM 모델링하기 강의에서 궁금증이 생겨 질문 드립니다. ASIC 칩을 찍어내는 상황이라는 가정을 하고, SRAM의 DEPTH를 2의 지수가 아닌 수(예를 들면 1021)로 지정하면, 실제 칩에는 DEPTH가 1021인 SRAM이 올라가나요? 아니면 1024짜리 SRAM이 올라가나요? 파운드리마다 다른가요? 실제 ASIC 칩에 DEPTH가 1021인 SRAM이 올라간다고 가정한다면, 주소의 bitwidth는 10-bit이므로 1022번이나 1023번 주소처럼 잘못된 주소에 접근할 가능성이 있습니다. 그렇기 때문에 이를 막는 로직이 추가로 필요할 것이라고 생각이 드는데, 이때 발생하는 overhead를 고려하는 것과 그냥 DEPTH가 1024인 SRAM을 올려버리는 것을 PPA 관점으로 비교할 수 있는 방법이 있을까요? 3.parameter로 선언된 변수를 비교 대상으로 삼아도 ASIC에서 아무 문제 없나요? 가령, if (addr > DEPTH) 처럼요!
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
강의자료
수업하시는 ppt 자료는 혹시 어디서 확인 가능할까요 ?
-
미해결자동차 SW - UDS 진단통신 정복하기
Security Access관련 문의
안녕하세요 Security Access / Send Key 확인 중인데 메세지 Type이 SF임에도 불구하고 총 [00 0A]+ 나머지 바이트 -> 12byte를 보내는 부분을 확인하였습니다.CANoe에서 이렇게 보내는 설정이 가능하다면, ISO-TP에 따라 request를 보내는 시퀀스가 어떻게 될까요?
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
cache 코드 관련 추가 질문드립니다.
한 회차에서 많은 너무 많은 질문을 드리는 것 같네요... 한번에 질문 드려야 하는데 볼때마다 새롭게 궁금하는 점이 생겨 또 질문드립니다...always @(posedge clk, negedge rstn)if (!rstn) cc_re_d <= 0;else cc_re_d <= cc_re; 위 코드의 경우 Cache에 read enable 하는 변수에 해당하는 것 같습니다. cc_re와 cc_re_d를 별도로 변수를 초기화 하고, clk 신호에 맞게 동기화를 하는 이유를 잘모르겠습니다. (제가 생각한 내용은 cc_re의 경우 i_cpu_req 신호에 비동기로 값을 변경하고, 해당 값을 clk 동기화 신호에 맞게 cc_re_d에 넣게되면, clk 주기 사이에 cc_re의 값이 변경되어도 cc_re_d의 값은 clk가 주기가 오기전까지 값을 유지하게 되는 상황인데 굳이 cc_re의 경우에만(추가로는 mem_we_d도 마찬가지) 이런식으로 구성한 이유를 잘모르겠습니다.)+ 추가로 찾아보니 메타스테이블 상태를 방지하기 위함 -레벨 트리거(cc_re가 그대로 전달될 경우) 신호가 엣지 트리거(다른 always @문에 사용되는 구문들) 상태와 겹치는 상태에서 불안정한 신호를 전달하기 때문이라는데, (레벨 트리거 신호를 엣지 트리거 상태로 변경하기 위함인가요?) 이게 맞는 내용일까요? => 그렇다면 다른 레벨 트리거 변수들은 위와 같이 동기화 신호로 안바꿔주는 이유가 궁금합니다...)
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
dual port ram 설계 코드 질문
module dpsram #( parameter DEPTH=8, parameter WIDTH=32, parameter DEPTH_LOG=$clog2(DEPTH) )( input clk, input [WIDTH-1:0] din_a, input [WIDTH-1:0] din_b, input [DEPTH_LOG-1:0] addr_a, input cs_a, input we_a, input [DEPTH_LOG-1:0] addr_b, input cs_b, input we_b, output reg [WIDTH-1:0] dout_a, output reg [WIDTH-1:0] dout_b ); reg [WIDTH-1:0] mem[DEPTH-1:0]; initial begin for(int i=0;i<DEPTH;i++) mem[i]=0; end always@(posedge clk) begin //write if(we_a && cs_a) mem[addr_a] <= din_a; if(we_b && cs_b) mem[addr_b] <= din_b; end always@(posedge clk) begin //read if(~we_a && cs_a) dout_a <= mem[addr_a]; if(~we_b && cs_b) dout_b <= mem[addr_b]; end endmodule위와같이 dpsram코드를 짰습니다. 예제 코드와는 다르게 저는 write와 read를 각각 나눠서 always block을 구성했는데 이렇게 짜면 다르게 동작하나요? RTL 뷰어로 보니 아래와 같이 복잡하게 나와서 질문드립니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
cache 코드 관련 질문드립니다!
always @(posedge i_clk, negedge i_rstn) begin if(!i_rstn) r_wb_mem <= 0; else if(w_cpu_we) r_wb_mem[w_cc_wa] <= 1; else if(w_mem_re) r_wb_mem[w_cc_wa] <= 0; else if(w_mem_we) r_wb_mem[w_cc_wa] <= i_cpu_write; end위 코드의 경우 별도의 설명이 없었던 것 같습니다.코드를 분석하는 중 궁금한 점이 몇가지 생겨서 질문 드립니다.cpu_we이 1인 경우 CPU에서 (읽기를 통해 값을 비교하여 바꾸는 작업이 아닌) 쓰기 작업에 대한 요청을 보냈기 때문에 Main Memory에 값을 쓰기 위한 wb이 반드시 1로 되는게 맞는건지 궁금합니다.mem_re가 1인 경우 wb이 0이 되는 것이 헷갈립니다. 제가 이해한 Write Back은 쓰기 Main Memory에 데이터를 저장하는 것이기 때문에 mem_re 즉, 읽기 요청이 왔을 때 쓰는 행위가 같이 일어나면 안되는 것이라서 그런것인지 궁금합니다. (추가로 다른 이유가 있는지 궁금합니다.)mem_we가 1인 경우 memory에 Data를 써야하기 때문에 i_cpu_wirte에 값을 전달 받는 것이 아니라 1이 되어야 하는게 아닌지 궁금합니다.(i_cpu_write가 0인데 mem_we가 1인 상태가 궁금합니다. => 그냥 메모리에 쓸 준비가 되어 있는 상태에서 i_cpu_write 요청이 들어오면 그때 wb을 1로 만들겠다는 의미가 맞는지 궁금합니다.)아직 해석이 완벽하지 않아 내용 정리 및 전달이 미흡한점 죄송합니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
SRAM 코드 Delay 관련
SRAM 코드의 경우 posedge에서 memory에 값을 넣는 동시에 ad, din 값을 하나씩 커지게 동작 시키면 기능 합성에는 문제가 되지 않지만, Delay가 적용되면 값이 흐트러 질 수 있는거 아닌가요?(예를 들면 negedge에 값을 넣어준다던가 해야하는게 아닌가요?)
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
22장 Vitis C언어 코딩 시 Register map 질문드립니다.
안녕하세요 . 22장에서 BRAM을 하나 더 추가하여서 Core 수를 늘려보자는 취지로 하나 더 늘려보았습니다.따라서 AXI 코드를 이렇게 설정해주었고 (16bit로 진행했기 때문에 BRAM 하나당 2Core = 4Core 입니다.)Vitis C언어 상에서도 위와 같이 설정해주었습니다. 하지만, Vitis serial terminal 상에서는 이처럼 result_2 / result_3 에 관련된 값이 출력되지 않았습니다.그래서 제가 추측하는 바로는 4'ha 를 0xa로 define하는 방법이 잘못되었나.. 생각이 들면서도 검색해봐도 16진수에 10은 0xa로 c언어상에서 표현한다고 하여 이렇게 궁금하여 질문드립니다. 항상 좋은 강의해주셔서 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
r_min_cnt사용 이유
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)==================[1. 질문 챕터] : [Verilog HDL/FPGA 외전1 - 시계만들기] Chapter 2. 시,분,초 만들기 - Part1 7분 57초쯤[2. 질문 내용] : r_min_cnt로 초를 저장한 다음 end else if 문 안에서 그 초가 59초가 될 때 0으로 초기화하고 o_min값을 1증가시킨다고 이해했는데 end else if (o_sec==60-1)처럼 이미 사용하고있는 변수를 사용하면 되는거 아닌가요?[3. 시도했던 내용, 그렇게 생각하는 이유] : o_sec는 wire타입이여서 출력으로 확인만되서 reg 탑입의 저장되는 변수하나를 만든건가 싶기는 한데 그렇다 하더라도 그냥 처음부터 o_sec를 reg타입으로 만들어주면 되는거 아니였나 싶습니다.
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
bitstream 생성 이후 ip locked됐다고 뜹니다.
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================안녕하세요 항상 좋은 수업 해주셔서 감사합니다. 질문드리는 이유는 다름이 아니라 영상을 보고 따라하던 도중 영상과는 다르게 ip out_of_date가 떠서 Rerun을 했더니 이렇게 ip locked문구가 뜹니다. 구글에 찾아봐도 방법을 찾을 수가 없어서 혹시 해결방법을 아시는지 해서 이렇게 질문드립니다. 감사합니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
test bench 작성 후 RTL 시뮬레이션
강의에서 소개되는 FA_4bit를 RTL 시뮬레이션 해보려고 하였으나 위와 같은 오류창이 계속 뜹니다. tb명은 FA4bit으로 하였습니다. 해결할 방법이 있을까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
7장 AXI4 lite channel waveform 관련 질문 드립니다
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.7장 11분 ~ write 관련 waveform 설명 부분입니다 [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂안녕하세요 다름이 아니라 7장 강의 write 부분에서 강의에서 올려주신 부분과 제가 강의를 따라가며 수행한 부분의 파형이 다른데 해당 부분이 잘 이해가 되지 않아 질문 드립니다. 1) 강의에서는 AWVALID 신호가 먼저 1이 되면, 이후 AWREADY가 1이 되어 handshake가 일어나고, 2) 동시에 WVALID와 WREADY의 handshake도 발생하여 3) 그 때의 AWADDR이 가리키는 주소 번지에 WDATA값이 적히는 것으로 이해하였는데, 해당 부분이 제 실습 파형에서는 위 사진과 같이 1,2,3번의 과정에서의 파형이 강의와 모두 맞지 않으며, 제 실습 파형만 가지고 보더라도 4,8,C번지 모두 0이 적혀야 맞을 것 같은데, 뒤에 정상적으로 진행되는 read 부분을 살펴보면, 해당 번지에 강의 내용과 마찬가지로 1,2,3이 저장되어 있는 것을 확인할 수 있었습니다. 질문 내용을 요약하자면, 1) 이론적인 부분에서 제가 이해한 내용이 맞는지, 2) 맞다면 제 실습 시뮬레이션의 경우 어떻게 저런 결과가 나오는 지 여쭙고 싶습니다. 감사합니다. [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
bram depth 관련
안녕하세요,bram 총 용량이 600KB 이상일 때, 36KB 단위로 나눠져 있는 걸로 알고 있습니다.그러면 (* ram_style = "block" *) reg [16-1:0] ram [0:30000-1];위와 같이 width 16bit, depth 30000으로 하면 약 60KB 로 36KB를 넘어섭니다.그러면 bram을 36KB 단위로 module을 분리해 줘야 하는지, 아니면 합성툴이 자동으로 처리해주는지 알 수 있을까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
코드 질문입니다.
안녕하세요 🙂[1. 질문 챕터] : BRAM부분 myip의 AXI4부분입니다. [2. 질문 내용] :mem0_axi_addr = 1000 (binary)mem0_axi_data = 1100 (binary)mem0_addr_reg = S_AXI_WDATA 값 저장mem0_data_reg = S_AXI_WDATA 값 저장mem0_addr_write_hit = slv_reg_wren && (axi_awaddr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB] == mem0_axi_addr[ADDR_LSB+OPT_MEM_ADDR_BITS:ADDR_LSB])여기서 axi_awaddr[5:2] == mem0_axi_addr[5:2]) 는 axi_awaddr[5:2] == 10 이니까 axi_awaddr[5:2] == 2 (decimal) 일때 1이되는건데 awaddr는 write address 채널인데 그러면 reg의 주소가 8이고 slv_reg_wren값 즉, write 허가가 났을때 mem0_addr_write_hit = 1 이되는것이 맞나요?같은 맥락으로 그러면 data_write_hit는 reg의 주소가 h이면서 wren=1일때 hit이되는거고, data_read_hit는 reg_rden=1이면서 reg의 주소가 h일때 hit가 되는건가요?그렇다면 이 주소를 사용하는 레지스터 외 다른 레지스터들은 아무 의미가 없는건가요? (그렇다면 레지스터를 굳이 16개나 만들어놓은 이유를 잘 모르겠습니다.) 그리고 바로 밑 코드도 이해가 잘 안가는데,mem0_addr_write_hit가 1일때 cnt값에 mem0_addr_reg값이 할당되는데 이 값은 S_AXI_WDATA로 주소에쓸 data값아닌가요? 주소에 쓰는 데이터값을 왜 count값으로 사용하는지 잘 이해가 안갑니다.mem0_addr_reg와 mem0_data값 왜 S_AXI_WDATA로 넣었는지 잘 이해가 안갑니다. 주석으로 이 값이 count값이라고 적어주셨는데 이해가 잘 안갑니다.처음에 좀 해보고 잘 안되면 다음날보고 그래도 잘 안되면 그 다음날 또 보고 공부를 하고 있는데 이 부분만 유독 이해가 잘 안가서 처음으로 질문글 올려봅니다. 사실 코딩부분은 제가 이해를 스스로 해야한다고 생각하는데 죄송합니다. [3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ================ 다음 내용은 읽어보시고 지우시면 됩니다.=================질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)서로 예의를 지키며 존중하는 문화를 만들어가요.질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )먼저 유사한 질문이 있었는지 검색해보세요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.==================
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
frequency 혼용
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.) ==================[1. 질문 챕터] : [Verilog HDL/FPGA 외전1 - 시계만들기] Chapter 1. 1초 만들기 3분~3분 25초경[2. 질문 내용] : input clock freq가 100Mhz인데 i_freq값을 10M으로 준다는거에서 둘다 freq인데 각각이 뭘 의미한다는건지 너무 헷갈립니다.[3. 시도했던 내용, 그렇게 생각하는 이유] : i_freq가 현재 입력되는 clock의 freq값이라고 설명하셨는데 그럼 현재 입력되는 clock의 freq가 input clock freq와 달라질 수 가 있나요?개인적으로 input clock freq는 실제 Clock 주파수 즉 Clock이 1초에 몇번 진동하는지를 말하는 것 같고 i_freq가 1초에 tick되는 회수를 조정하기위해서 제가 입력해주는 값이라고 이해했는데 그렇다면 현재 입력되는 clock의 freq값이라고 설명하신 부분이랑 설명이 좀 달라지는 것 같습니다.
-
해결됨디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기
DRAM Flow 관련 질문
Precharge 상태가 왜 VDD와 동일한지 궁금합니다. 제 생각에는 0.5Vcc를 유지해야 하는게 아닌가 싶어서 질문을 드립니다.20:04초 그림을 보게되면 Precharge 상태에서 BL이 VDD와 동일하게 차 있는 것을 볼 수 있는데 이렇게 되면 Charge Sharing이 일어나게 되면 캐패시터에 Write되지 않은 상태(0.5Vcc)에서 무조건 전압이 높아지고, 센스 앰플에 의해 1의 신호가 전달되면 캐패시터의 값이 Write가 일어나지 않았는데도 1의 값을 저장하게 되는게 아닌가 싶어 질문 남깁니다.