라벨이 verilog인 게시물 표시

구글 안티그래비티 완전 분석 — 모델·요금제·CLI 총정리

🚀 구글 안티그래비티(Antigravity) 완전 분석 구글이 2025년 11월 Gemini 3와 함께 공개한 에이전트 퍼스트(agent-first) IDE 안티그래비티는 Claude·GPT·Gemini를 한 도구에서 골라 쓰는 멀티모델 코딩 환경이다. 이 글에서는 ① 지원 모델과 요금제별 사용량의 실체, ② 실사용자 평가, ③ 구글의 방향성, ④ Claude Code와의 비교·연계, ⑤ CLI( agy )로 직접 쓰는 법까지 다섯 갈래를 차례로 정리한다. 자료 간 충돌이 있는 지점은 한쪽으로 단정하지 않고 양쪽을 모두 살려 표기했다. 📅 기준 시점: 2026년 6월 · 프리뷰 단계 정보로 수치는 변동 가능 1. 안티그래비티란 무엇인가 — 기초 정리 안티그래비티는 2025년 7월 구글이 24억 달러 규모 라이선스 계약 으로 영입한 전 Windsurf 팀이 설계를 주도했다. VSCode를 포크한 위에 자율 에이전트 오케스트레이션 계층을 얹은 구조다. 2026년 5월 Google I/O에서 발표된 안티그래비티 2.0 은 데스크탑 앱과 함께 공식 CLI agy 를 처음 공개하며 기존 Gemini CLI의 공식 후계자 자리를 확정했다. 핵심 정체성은 단순 코드 자동완성이 아니라 병렬 에이전트 오케스트레이션 이다. 여러 에이전트가 동시에 — 하나는 API, 하나는 테스트, 또 하나는 프론트엔드 — 작업을 나눠 진행하고, 각 에이전트는 계획·테스트 결과·스크린샷·영상을 담은 Artifact 를 남긴다. "사람이 한 줄씩 승인"하는 방식이 아니라 "에이전트들이 일을 마치고 사람이 사후 검수"하는 모델이다. flowchart TD A([사용자 작업 지시]) --> B[에이전트 A API 구현] A --> C[에이전트 B 테스트 작성] A --> D[에이전트 C UI 생성] B --> E[Artifact 계획·결과·영상] C --> E D --> E...

[AMBA]CHI Overview

  개요 AMBA5의 일부로 high-performance, packet-based communication 프로토콜로 processors와 다른 구성요소들의 연결을 위해 Arm에 의해 개발. 복잡한 멀티코어 시스템에서 모든 프로세서의 캐시가 메인 메모리에 대해서 일관된 보기를 제공해서 캐시 일관성을 보장 Key Concepts and Features Node-Based Architecture 전통적인 master/slave 관계 개선 "nodes"라는 더 유연한 시스템을 사용 Request Node(RN) Initiates transactions Home Node(HN) 특정 메모리 영역을 관리하고 해당 영역에 대한 coherency를 관리 Slave Node(SN) or Subordinate Node Interconnect에서의 request에 대한 응답 Packet-Based Communication 명령어, 데이터, 응답과 같은 모든 응답은 5개의 채널에 의해 packet 형태로 전송됨 고효율적이고 병렬적로 데이터 flow 가능 Layered Structure 상위수준의 프로토콜 규칙에서 하위 수준의 데이터 전송을 계층별 분리 칩 설계자는 PPA(Power, Performance and Area)에 맞게 최적화 할 수 있는 유연성을 확보 Scalability CHI는 수많은 components와 복잡한 interconnect를 처리하게 설계되어 휴대폰에서부터 대규모 데이터 센터 서버에 이르기까지 적합 Evolution from ACE ACE(AXI Coherency Extentions)의 계승자 Performance 개선, bottlenecks 감소 그리고 확장성이 개선 Evolution and Key Revisions CHI는 시간이 지나면서 진화하였고, 새로운 "Issue"가 추가될 때마다 중요한 feature가 추가 됨 Issue B 캐시 스태싱[^1] 및 RAS(향상된 안정성) features 추가 Issue ...

[Verilog HDL] clog2

  RTL을 작성하다보면 bit width를 계산하는 일이 종종있다. 특히, input/output port 선언에 있어서 정확한 bit는 각종 design check 과정에 있어서 경고를 줄일 수 있는 좋은 디자인이다. 간단하게, 십의 자리 단위의 정수라면 2진수로 바꾸기도 쉽지만 숫자가 커질 수록 계산이 복잡해진다. 최근에는 계산기로 그냥 입력해서 2진수의 자릿수를 확인하는 방법이 있지만 parameter로 선언된 bit width를 찾아가면서 상수값을로 설정 할 수 없을 뿐더러, parameter overriding 이 된다면 진짜 그야말로 완전 잘못 설계하는 RTL이 된다. 이때, 이런 일을 방지하기 위해서 유연함을 끼워주는 경우가 있는데 이때 사용하는 것이 clog2이다. clog2는 간단하게 설명하면 log2의 동작과 유사해서 2의 지수값을 찾아내는 것이지만, clog2는 거기에 한자리수를 더 많게 반환하는 것이 특징이다. 예를 들어 10진수 5를 생각해보면 2진수로 변환하면 b101이 된다. 따라서, 5는 3bit으로 표현이 가능하다. 이를 보통 log2로 계산을 하면 대략 2.3 정도가 나오는데, 직관적으로 생각하면 여기서 올림을 해야, 우리가 원하는 3bit이 나오게 된다. clog2는 바로 그러한 기능을 한다. 따라서 clog2로 5를 확인하면 3이 나오는데, 여기서 clog2를 사용하는 세가지 방법을 소개한다. 첫째, System task 사용 가장 쉽고 정확한 방법인데, 이는 바로 system task $clog2를 사용하는 것이다. $clog2( 5 ) parameter BIT_WIDTH = 10 $clog2(BIT_WIDTH) 위 코드와 같이 $clog2는 별도의 function이나 task의 작성이 필요없으면서도 우리가 원하는 결과를 만들어 낼 수 있다. 또한 위의 system task는 compile 단계에서 처리되기 때문에 compile을 거치면서 상수로 변환되게 되어, 이후에 진행될 elaboration에서는 상수로 ...

[Verilog HDL] Basic digital filter - 1 : FIR

이미지
  FIR(Finite Impulse Response) filter는 한국어로 말하면 유한 임펄스 응답으로, 더 쉽게 이야기하면   "입력에 대한 응답이 유한한 시간동안 발생하며, 그 이후에는 0" 이 된다는 말이다. 이걸 더 쉽게 풀어보면 어떤 시간(T)이 지난 후에는 Impulse response가 0이 된다는 뜻이다. 아래의 그림은 FIR filter를 설명할때, 가장 많이 등장하는 그림이다. 대충 어떤건지 표현하자면, 입력 Xn에 대해서 지연시간 Z^(-1)이 발생하고, 모든 tap이 진행된 후에 어느정도 시간이 지나면 결과 Yn은 0이 된다는 것이다. (아마도..) 이론적인 부분은 넘어가고, 주제에 맞는 Verilog 코드와 함께 보면 어느정도 이해가 될 수 있을 수 있다. module fir_4tap( input clk, input signed [ 7 : 0 ] x_in, output reg signed [ 15 : 0 ] y_out ); parameter signed [ 7 : 0 ] h0 = 8'h10 ; // 0.0625 parameter signed [ 7 : 0 ] h1 = 8'h20 ; // 0.125 parameter signed [ 7 : 0 ] h2 = 8'h30 ; // 0.1875 parameter signed [ 7 : 0 ] h3 = 8'h40 ; // 0.25 reg signed [ 7 : 0 ] x_delay [ 0 : 3 ]; always @( posedge clk) begin x_delay[ 0 ] <= x_in; x_delay[ 1 ] <= x_delay[ 0 ]; x_delay[ 2 ] <= x_delay[ 1 ]; x_delay[ 3 ] <= x_delay[ 2 ]; y_out <= h0 * x_delay[ 0 ] + h1 * x...