Introduction to Verilog

Slides:



Advertisements
Similar presentations
五脏六腑话养生 董飞侠 医学博士 副教授 硕士研究生生导师 副主任中医师 美国贝勒医学院高级访问学者.
Advertisements

1、什么是预算会计? 2、预算会计的组成体系? 3、预算会计的要素和会计等式? 4、预算会计的特点?
计算机系统综合课程设计 Verilog HDL语言初步 主讲 杨全胜 东南大学计算机科学与工程学院 P.1.
日月光·伯爵居项目介绍.
香港故事之 三年零八個月的艱苦歲月 組員: 梁珮瑩 吳遠莉 李琪 李青儀 方松皓.
面試甄試準備要領 魯真 中興大學管理學院副院長.
计算机专业指南 --专 业 学 习 导 航 中央电大工学院 崔林.
导游资格证考试概要.
《 E D A 技 术》 课 程 教 学 讲授:伍宗富 湖南文理学院电气与信息工程学院 2017年3月10日星期五.
氧气的制法 装置 原理 练习 随堂检测.
我的故事 ————往事回首.
4.1 Verilog HDL入门 Verilog HDL程序模块结构 模块端口定义 模块内容 设 计 模 块 I/O说明
女生成功靠什么? 09英本四班 傅柏双.
华夏证券之殇 刘洋 林祺俊 吴哲.
国际投资环境罗氏评级法 美国.
社会保障学 第5章 失业保险.
Tool Command Language --11级ACM班 金天行.
主 题 班 会 团 结   协 作    力 量.
体育教师提高科研能力的有效策略 ——从观察、分析、选题、构思谈起
理想.
垃圾食品與肥胖的關係 敏盛綜合醫院 陳美月 營養師.
实验四 利用中规模芯片设计时序电路(二).
固定与搬运技术 义乌市中心医院 陈红卫.
易學基礎教程 國文系99 王隆運. 易學基礎教程 國文系99 王隆運.
礼仪课程 社交礼仪— 馈赠礼仪 主讲:罗亦 主讲:罗亦 TEL: QQ:
Chapter 5 Sequential Logic Circuit
案例分析 胎记美容记 第6小组
好爸妈胜过好老师 激活兴趣、培养能力、以文育人 主讲:谢晓鸿 快乐作文杂志社 重庆小记者站.
住宅部門能源消費及節能意識之性別差異分析
 第20讲 中国的交通.
学前教育原理 主讲:李德明.
人生五色臉 年輕十歲必學的小動作,九個保持身體健康的的小訣竅 人們常在不經意間做些小動作,並認為這是身體的本能反應,
学风建设推进会 学习楷模 传递能量 生技121团支部.
Verilog HDL 及Modelsim仿真
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
Chapter 5 Verilog 硬體描述語言
Chapter 5 Verilog硬體描述語言
计算机系统综合课程设计(2) Verilog HDL语言初步 主讲 杨全胜 东南大学计算机科学与工程学院 P.1.
Ch01-2 Verilog語法 資料流(DataFlow)設計 行為(Behavior)設計
第17章 Verilog中的高级结构 学习内容: 任务和函数的定义和调用 怎样使用命名块 怎样禁止命名块和任务 有限状态机(FSM)及建模.
EDA技术 廖义奎.
第四阶段实验 ISP器件的设计与应用 一、实验目的 二、实验内容与要求 三、ISP器件的开发流程 四、EDA Pro2K实验系统介绍
FPGA设计.
Verilog硬件描述语言基础.
日常操作及技术培训 深圳市学生信息管理综合平台 南方教育软件基地有限公司 地址:深圳市南山区科技园北区华瀚科技A-9A
第四阶段实验 Verilog HDL简介 1 Verilog描述的一般结构 2 Verilog HDL基础知识 3 设计举例
Programmable Logic Architecture Verilog HDL FPGA Design
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Verilog 数字系统设计教程 -- 建模、仿真、综合、验证和实现 -- 北京航空航天大学 夏宇闻 2004年版.
语法进阶.
时序电路设计 刘鹏 浙江大学信息与电子工程系 Apr. 24, 2011 EE141
第二章 Java语言基础.
CPU结构和功能.
复杂数字逻辑系统的 Verilog HDL 设计方法简介
精简指令集(RISC)CPU的构造原理和设计方法
给孩子做一面明亮的镜子 给孩子做一面明亮的镜子.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
大巨人的小發明─CD 組員 楊昌憲 ppt整合 蔡依霖 上台報告 王冠文 ppt製作
第14章 对验证的支持 学习内容 理解Verilog文本输出 理解不同的读取仿真时间的系统函数 理解 Verilog文件I/O功能.
计算机EDA设计 教 程 北航计算机学院 艾明晶.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
设计示例一 用门级结构描述D触发器:.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
講題 :課程發展委員會的組織與運作機制 主講人:臺北市立明倫高中 教務主任王文珠.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
FPGA组合逻辑 王安然.
Verilog HDL 基本语法 STEP 2016/12/3.
按键处理部分 王安然.
這七個故事很簡短,但她們說的都是一個主題——愛情!真心希望你們每個故事都看一下,不會用很長時間,但保證你能感到那種被震撼的感覺!
Presentation transcript:

Introduction to Verilog ACM 11’ 陈爽 2012.7.25

History Creator: Phil Moorby -> GateWay Design Automation Time: 1983 Publication: 1990 by Cadence IEEE standard of Verilog HDL, 1995 First modern HDL

Key Words EDA HDL C语言 结构化 过程化

Hello World Module main; initial begin $display(“Hello world!”); $finish; end endmodule

Content 模块 数据类型 语句 预处理&编译 抽象级别 与C比较

模块的结构 模块Block:Verilog的基本设计单元(类比函数) module block(a,b,c,d) Input a,b; Output c,d; Assign c=a|b; Assign d=a&b; endmodule

模块内容 I/O说明 内部信号说明 功能定义 Input 端口名1,端口名2… Output 端口名1,端口名2… 变量定义&说明 assign声明 用实例元件 and and_test(q,a,b) 调用与门 用always块

Attention E.g.异步清除端的D触发器 Always @(posedge clk or posedge clr) Begin If (clr) q<=0; Else if (en) q<=d End 3种功能地位相等,同时执行。Always内部顺序执行

数据类型 共19种 数字 <位宽><进制><数字> 8’b10101100, 位宽为8的二进制 x值(不定)和z值(高阻);负数;下划线(用来隔开数) 常量parameter Parameter e=25,f=5.7; Parameter ave=(e+f)/2; 常数表达式

常量 一个模块中改另一个模块中的参数要用defparam

数据类型 变量 Wire [n-1:0] 数据名1,数据名2… 数据名i Reg [n-1:0],寄存器储存 // i条总线,每条总线内有n条线路 E.g. wire[7:0] b; 定义了一个八位的wire型数据 输入输出信号的缺省类型,以assign制定的组合逻辑信号 Reg [n-1:0],寄存器储存 Memory型:数组(verilog里没有多维数组) Reg[7:0] memo[255:0] 一个拥有256个8位寄存器变量的存储器

运算符 基本的算术运算符 位运算符 逻辑运算符 关系运算符 等式运算符 移位运算符 位拼接运算符 缩减运算符

位拼接运算符 {信号1的某几位,信号2的某几位…} {a, b[3:0], w, 3’b101} 还可用重复法简化 {4{w}}={w,w,w,w} 加法器中wire[3:0] a,b; {jin,sum}=a+b;

赋值语句 非阻塞Non Blocking赋值 <= 阻塞赋值 = Begin Begin Begin q3=q2; q1<=d; end 时序和混合逻辑用非阻塞;组合逻辑用阻塞 Begin q3=q2; q2=q1; q1=d; end Begin q1<=d; q2<=q1; q3<=q2; end

块语句 顺序块:语句依次执行 并行块:块内语句同时执行 fork 语句1; 语句2; … 语句n; Join Attention:块和语句的起始时间和结束时间

Parameter d=50; Reg[7:0] r; Begin Fork #250 -> end_wave; #d r=‘h35; #d r=‘hE2; #d r=‘h00; #d r=‘hF7; #d -> end_wave; end Fork #250 -> end_wave; #50 r=‘h35; #100 r=‘hE2; #150 r=‘h00; #200 r=‘hF7; end

结构说明语句 Initial说明语句(多个并行) VS main() Always语句 Function:必须要有输入,通过返回响应输入 不断执行 Always #half_period areg=~areg; Function:必须要有输入,通过返回响应输入 Task:多种目的,可调用其他task或function

Verilog里可在块内定义局部变量 所有变量都静态存储

预处理&编译 `define:宏名代替字符串,不作语法检查 `include:将库的内容全部复制进来 可以出现在Verilog HDL源程序的任何地方 `timescale <时间单位>/<时间精度> #d 由时间单位和时间精度来决定 E.g. `timescale <2s>/<1ms> #3.002 真实延迟时间为6.001s

抽象级别 系统级 算法级 RTL级 Register Transfer Level 门级 开关级

门级结构

Difference between Verilog&C Blocking,Non Blocking 顺序块&并行块 块与块之间并行执行 task&function 独特的系统函数 $monitor,$stop

C VS Verilog C Language: 灵活,查错功能强,语法完备,缺陷较少 Verilog:在一些方面(e.g. 算法表达)方面不方便 利用C的完整性和Verilog对硬件描述的精确性……

互相配合 C Language:算法的描述和验证 Verilog:设计专门的电路来进行对速度有要求的实时数据处理,从电路结构上保证算法能在规定时间内完成

Reference 《Verilog经典教程》by 夏宇闻 Wikipedia

Questions are welcome~ 2012.7.25 THANK YOU  Questions are welcome~ 2012.7.25