VERILOG HDL 문법 & 디지털회로 모델링

VERILOG HDL 문법 & 디지털회로 모델링

$24.31
Description
Verilog는 하드웨어서술언어(hardware description language 또는 HDL) 중 하나로하드웨어의 동작을 서술 또는 모델링하는데 이용된다. 본 서적은 합성 가능하고 실무에서 디지털회로 모델링에 가장 많이 쓰이는 문법 위주로 Verilog HDL 문법을 설명한다. Verilog HDL의 표준은 수 차례에 걸쳐 개정되었는데, 그 중 2005년에 개정된 IEEEStd 1364-2005에 맞춰 문법이 설명된다.본 서적에서 사용되는 Verilog 용어들은 가급적 영어로 표기를 하며, 필요한 경우한글과 병행표기한다. Verilog 표준을 포함한 수 많은 관련자료들이 영어로 되어 있는점을 고려하면 용어들을 영어로 이용하는 것은 중요하다. 다만, 한글로 Verilog HDL서적을 작성하여, 한영혼용체로 서술하게 된 점 너그러이 이해해 주시기 바랍니다. 한글로 번역이 자연스러운 용어도 영어 용어가 널리 쓰이는 경우에는 일부러 한글과 영어를 병기하였다. 한글로 번역이 어렵거나 어색한 용어들은 영어 발음을 한글로 표기하였다. 또한 명사 외에 특별한 성질이나 행위를 표현하는데 쓰이는 영어 단어의 경우,한글과 함께 병기하여 독자들이 해당 영어 단어가 Verilog 관련 영문자료에 쓰였을 때의미를 되새길 수 있도록 하였다.
저자

이준환

저자는현재광운대학교반도체시스템공학과교수이다.광운대학교에임용되기전,삼성전자에서모바일모뎀SoC(System-on-a-Chip)아키텍처설계팀의리더였다.
이팀은디지털시스템의상위수준모델을C++또는SystemC로개발하여,레지스터전달수준(RTL)에서보다수천배빠른기능시뮬레이션을가능하게했다.저자는1991년연세대학교에서전자공학학사학위를,1998년및2002년미국미시간주앤아버소재미시간대학교에서전기전자컴퓨터공학석사및박사학위를각각취득했다.박사과정중에는디지털회로에대한상위수준기능및지연테스트에대해연구하였으며,학업중인턴으로미국캘리포니아에위치한CiscoSystems에서근무하며초대규모집적회로(VLSI)에대한경로지연테스트기법을개발했다.학사졸업직후에는삼성전자에입사하여ASIC(ApplicationSpecificIntegratedCircuit)셀라이브러리개발에참여했다.

목차

1서론
1.1설계추상화수준(DesignAbstractionLevel)
1.2디지털반도체설계절차(DesignFlow)
1.3VerilogHDL표준과간략한역사

2VerilogHDL기초및어휘규칙(LexicalConventions)
2.1문법기술
2.2값체계(ValueSystem)
2.3어휘토큰(LexicalTokens)
2.3.1공백(WhiteSpace)
2.3.2식별자(Identifiers)
2.3.3코멘트(Comments)
2.3.4연산자(Operator)
2.3.5숫자(Numbers)
2.3.6키워드(Keyword)
2.3.7시스템태스크및함수(SystemTasksandFunctions)

3첫번째Verilog코드
3.1기본구성블록모듈(module)구조체
3.2포트(Ports)
3.3계층적설계(HierarchicalDesign)와인스턴스(Instance)
3.4첫번째테스트벤치
3.5ValueChangeDump(VCD)파일

4조합회로모델링
4.1프리미티브(Built-InPrimitive)
4.2데이터타입(DataType)
4.2.1Net데이터타입
4.2.2Variable데이터타입
4.3파라미터(Parameter)
4.4표현식(Expressions)
4.4.1산술연산자(ArithmeticOperators)
4.4.2관계연산자(RelationalOperators)
4.4.3등가연산자(EqualityOperators)
4.4.4논리연산자(LogicalOperators)
4.4.5비트별연산자(BitwiseOperators)
4.4.6리덕션연산자(ReductionOperators)
4.4.7시프트연산자(ShiftOperators)
4.4.8조건연산자(ConditionalOperator)
4.4.9묶음(Concatenation)과복제(Replication)
4.5할당(Assignments)
4.5.1계속할당(ContinuousAssignments)
4.5.2절차할당(ProceduralAssignments)
4.6표현식계산규칙
4.6.1표현식크기(ExpressionSize또는ExpressionBitLength)
4.6.2표현식의종류
4.6.3표현식계산규칙
4.6.4할당문계산규칙
4.6.5부호가있는표현식에서X와Z처리
4.7설계예-Adder
4.7.1RippleCarryAdder
4.7.2CarryLookAheadAdder
4.7.3지연시간이포함된시뮬레이션

5순차회로모델링
5.1행위적모델(BehavioralModel)개요
5.2절차구조체(ProceduralConstructs)
5.2.1always구조체
5.2.2initial구조체
5.2.3설계예-D플립플롭
5.3절차문의시간제어(TimingControl)
5.3.1지연시간제어(DelayControl)
5.3.2이벤트제어(EventControl)
5.4블록문(BlockStatements)
5.4.1순차블록
5.4.2병렬블록
5.5절차할당(ProceduralAssignments)
5.5.1블록킹절차할당(Blockingproceduralassignments)
5.5.2논블록킹절차할당(Nonblockingproceduralassignments)
5.6그밖의절차문
5.6.1조건문
5.6.2case문
5.6.3원치않는래치(Latch)를피하는방법
5.6.4설계예-리셋가능한(Resettable)D플립플롭
5.6.5반복문(Loopingstatement)

6FiniteStateMachine구현
6.1FiniteStateMachine
6.2순차회로의구조고찰
6.3FSM코딩방식-VerilogFSMcodingstylewithexplicitlyseparatedflipflops
6.4FSM예-First-inFirst-out(FIFO)Memory

7계층적설계
7.1모듈파라미터값덮어쓰기(Overridingmoduleparametervalues)
7.2계층(Hierarchy)및스콥(Scope)
7.3스콥(Scope)규칙
7.4Generate구조체
7.4.1Loopgenerate구조체
7.4.2Conditionalgenerate구조체
7.4.3이름없는generate구조체에자동부여되는이름

8Appendix
8.18개의저장소를가진16-bitFIFOfifo16.v코드
8.2제한된조건의랜덤테스트패턴을이용한fifo16테스트벤치예

색인