게시글
질문&답변
RTL
안녕하세요.본 강의는 system-verilog 기반으로 하고 있습니다. 해당 코드를 AI를 이용해서 VHDL로 변환 후, 약간만 수정하면, VHDL 코드도 생성하실 수 있을 것 같습니다. 강의 마지막에 제가 생성한 uart_tx.vhd 파일을 추가시켜 놓겠습니다. 시뮬레이션 해서, 기존 uart_tx.sv 파일과 비교해보시면 좋겠습니다.감사합니다.
- 0
- 1
- 21
질문&답변
멀티바이트프레임 로직 예시
먼저, 프레임을 정의해야 합니다.예를 들어, Start Byte(1), Command(1), Address(1), Length(1), Data[0]... Data[Length-1], CheckSum(1), EndByte(1)가 될 수 있습니다. 특정 Address에서 데이터를 읽거나 쓸 때 사용합니다.UART에서 수신 된 데이터에서 Start Byte를 찾습니다.parameter START_BYTE = 8'h7B; always @(posedge clk) begin case (state) IDLE: begin if (rx_data == START_BYTE) state 이후, 설계한 프로토콜에 따라서, Command, Address, Length, Data 값을 각 변수에 저장합니다.parameter START_BYTE = 8'h7B; parameter END_BYTE = 8'h7D; typedef enum logic [2:0] { IDLE, CMD, ADDR, LEN, DATA, CHKSUM, END } state_t; state_t state; reg [7:0] length; reg [7:0] data_index; reg [15:0] checksum_calc; reg [7:0] checksum_recv; always @(posedge clk or posedge reset) begin if (reset) begin state 마지막으로, Checksum을 확인 뒤, 이상이 없다면, 수신한 Command값과 Address, Data에 따라 내부 Register를 설정하거나, 메모리에 데이터를 저장할 수 있습니다.위 예시 코드를 참조하면, 도움이 될 것 같습니다.
- 0
- 2
- 23
질문&답변
vivado 설치 관련하여 질문 합니다.
제가 질문을 잘 이해하지 못해서요.Windows가 아닌 리눅스를 사용한다는 뜻인가요? WSL(Windows Subsystem for Linux) 같은?Vivado 실행 메모리가 부족하다는 뜻인가요? 아니면, 특정 디바이스(virtex같은) 사용에 실행 메모리가 부족한 것인가요?
- 0
- 2
- 31