본문 바로가기

칩설계

(18)
[verilog] `timescale 1ns/10ps 의미 이것도 검색으로 펌질, 여타 설명이 필요없는 간결한 자료`timescale 1ns/10ps앞에 숫자는 해당 파일내에서 쓰이는 숫자들의 단위를 나타냄..즉 #2 이렇게 쓰여있다면 2ns를 나타냄뒤의 숫자는 시뮬레이터에서 많이 쓰일 것 같은데 코딩에서는 별 효과가..무튼 소수점을 허용하려면 어디까지 해야할까를 나타내야 하는데 그 때 쓰이는 최소 단위설명은 아래 참고. [출처] [verilog] timescale에 대하여|작성자 j0hnch01[출처] [verilog] timescale에 대하여|작성자 j0hnch01 assign #5 foo = tiger ; 이 문장을 가만히 보면 단위가 없습니다. '5'의 의미는 무었일까요? ...여기서 '5'는 5ns가 될 수도 있지만, 5us, 5ms 심지어는 5sec..
AHB slave 코드 조각 - Byte access AMBA bus를 사용하는 경우, 바이트별 접근을 위해 판단하는 시그널 생성 코드 (참고용, 책임 못짐 ^^) // Generate byte access from AHB busassign byte0_access = (HSIZE[1] | ((HADDR[1]==1'b0) & HSIZE[0]) | (HADDR[1:0]==2'b00));assign byte1_access = (HSIZE[1] | ((HADDR[1]==1'b0) & HSIZE[0]) | (HADDR[1:0]==2'b01));assign byte2_access = (HSIZE[1] | ((HADDR[1]==1'b1) & HSIZE[0]) | (HADDR[1:0]==2'b10));assign byte3_access = (HSIZE[1] | ((HAD..
Xilinx ucf 파일에서 Pin mapping 하기 원하는 FPGA핀으로 시그널을 정의해서 뽑아 보려면, ucf 파일을 건드려야 한다.물론 친절하게 GUI로 띄워서 클릭으로 선택할 수도 있지만, 기본적인 것은 알아야~~ 예제로 보는 것이 가장 쉽다. 추상적인 내용은 보기도 이해도 어렵다. # ==== Clock Source ==== NET "clock" LOC = "C9" | IOSTANDARD = LVCMOS33; NET "clock" PERIOD = 5ns HIGH 40%; # ==== Slide Switches (SW) ==== NET "reset" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ; # SW1(from http://www.ce.rit.edu/studentresources/reference_materials..
Xilinx NGC netlist file 변환 - Verilog top 파일 만들기 .ngc 파일에서 vhdl, verilog top 파일 만들기 ISE를 쓰는 경우, ngc파일을 가지고 있어 사용하는 경우 top파일이 필요하기도 하다.간단하게 ngc에서 top 파일 만드는 방법http://www.fpgadeveloper.com/2011/08/how-to-read-an-ngc-netlist-file.html To convert the netlist into VHDL type “netgen -ofmt vhdl filename.ngc“. Netgen will create a filename.vhd file.To convert the netlist into Verilog type “netgen -ofmt verilog filename.ngc“. Netgen will create a filen..
VHDL literal - 표현, 선언 예 reference : http://www.ics.uci.edu/~jmoorkan/vhdlref/literals.html 상수constant FREEZE : integer := 32; constant TEMP : real := 32.0; constant FLAG :bit_vector(0 to 7) := "11111111"; constant MSG : string := "Hello";숫자 표현BIT_8_BUS
The IEEE Verilog 1364-2001 Standard - 기존버전과의 차이점 오래된 이야기지만,저장해 두자. 내용은 간단하고 읽기 쉽다. 차이점을 몰라도 코딩에는 문제 없지만. 이런 것이 있다는 정도 =) from : http://web.mit.edu/6.111/www/f2012/The IEEE Verilog 1364-2001 Standard. What's News, and Why You Need It
AHB 버스 사용시에 Byte alignment Microsemi Application note 에 있는 그림을 잘라 가져온다. 약간 헷갈릴 수 있는데, 그림으로 잘 그려두었다.기본이 4바이트(워드라고 부른다)로 동작을 하니 바이트 동작을 하는 경우 alignment가 신경 쓰인다. 그냥 콱 4바이트 전용으로 동작하면 좋으련만 녹록치 않다 세상은. ^^그림을 보면 이해가 쏙, HADDR의 하위 2비트를 옵셋으로 사용하고, HSIZE가 동작 단위이다.당연히 HSIZE="00" 인 경우 바이트 동작이므로 4가지의 경우가 생기고HSIZE="01" 인 경우 2바이트 단위이므로 2가지의 경우가 생긴다. (상상일 수 있지만, HADDR[1:0] = "00" 이나 "01" 이라도 같은 동작일 듯 하다. 상위비트로 구분할 듯)그리고, HSIZE = "10" 인 경우..
[ASIC] delay / skew / slack / slew 의 차이 좋은 자료..통짜로 캡쳐해둔다. 완전감사하다~~원본 : http://blog.naver.com/PostView.nhn?blogId=j0hnch01&logNo=70030000046