공부방 104

조합회로와 순차회로, Fork 종류

5.7 블록문begin-end 절차형 할당문 블록folk-join 병렬문 블록 -해당 블록에 대한 지연변수, parameter 그리고 named event를 선언disable문에서 특정 블록을 참조 : 시작시간과 종료시간의 개념을 가지고 있다. 첫 문장이 시작, 마지막 문장이 종료folk-join에서는 모든 첫 문장이 동시에 실행 = 시작 시간은 같고, 마지막 문장이 종료. Folk - join-블록 내의 문장들은 나열된 순서에 무관하게 동시에 수행.-각 문장의 지연은 블록에 들어가는 시뮬레이션 시간을 기준으로 고려된다. 각 문장 사이의 상대적인 지연이 아닌 블록에 들어가는 시뮬레이션 시간을 기준으로 결졍된다.-제어는 각 문장의 지연이 고려된 상태에서 시간적으로 마지막에 실행되는 문장의 실행이 완료된 이..

AMBA_ AXI4

APBAHBASBAXI AXI :AXI in a multi-master SystemAXI ChannelsMain AXI Features- Independent read and write channels- Multiple outstanding address이전의 transaction이 완료되기 전에 새로운 transaction을 가능. 병렬적인 전송이 가능하다. - No strict timing relationship between address and data operations주소 및 데이터 전송은 독립적으로 전송될 수 있다. 주소 전송 후 즉시 데이터 전송이 이루어 지지 않아도 된다. --> 유연성 증가. Strict timing:데이터의 전송과 응답이 정해진 시간 내에 이루어져야 한다. Strict..

240624_microblaze_interrupt

>1. button detecter먼저 2. axi는 그다음 button -> shift register로 구성right shift registern-1 input AND ( 0은 not input )clk가 너무 빠르면 debounce.prescaler 를 통해 clk 조절top module에다가 모듈 추가하고 이어준다.이런식의 btn_detector를 만들고 있다.top의 input output은 여기서 추가. 모듈자체의 추가 input output 라서 ; 가 아니라 ,로 해줘야 한다.기모듈과의 연결인터페이스와 연결 필요.reg 0 을 쓰고 싶지만 다이렉트로 reg 0 에 연결할 수 없다.새로 reg 만들어주고이런 회로를 짜고여기서 이어준다.완성.전체 GPIO에 interrupt on.--> CH_..

240621_ MicroBlaze_axi4_lite 분석

register 4개를 만들어서 slave_reg 4개가 존재. 내가 만든 IP를 사용하기 위해 구성하는 방법.나만의 IP를 AXI4-Lite의 Slave를 통해서 TOP module 로 묶어서 사용.Axi Temp의 Top모듈 안에 모듈이 있는 형식.TOP안에 Axi4_lite_temp가 있다.AW, W, B, AR, R 순서로 wire, 존재--> 내부 모듈을 분석해보자. 구현 방식을 아주 조각조각 냈다.AXREADY 신호를 생성하는 구간.awready 0 , wr_en = 1 --> 실행. clk 딱 걸리면서awready = 1이 된다. 그리고 Addr값이 이때 저장된다.CLK만 pos -> 변경wready -> 같이 켜진다. 하지만 AWREADY는 다음 클락에 알아서 0이 된다. wstrb for..

240620_ microblaze myIP

기본적으로 peripheral들은 다 요기에 다 붙는다.Application을 구동시키기 위한 기반 : platformmyIP_system : applicationmyIP_warpper : flatform vitis는 이클립스 기반이기 때문에 stm32IDE와 매우 비슷.unsigned 32bit.mode : +4 data : + 0레지스터에 접근을 해주는 범용 함수들이 있다.  Microblaze에서 만들어진 AXI4의 구조 AXI4_Lite_test_ip_V/O.V선언했던 4개의 register내부에 4개의 register가 존재한다.내부와 외부에 ( . ) output port를 만들어 줘야함.코드로 직접 연결중.현재 상태.이제 block design에 IP를 추가하려 한다.IP 만들어서 추가했고 ..