
IC设计
文章平均质量分 77
FPGA&IC设计导师
加拿大海外博士、资深硬件架构师、软件无线电专家,8 年教学仪器开发经验为加拿大多个公司发展提供资深技术和管理,8 项专利。
展开
-
Verilog中的时间尺度与延迟
在Verilog的建模中,时间尺度和延迟是非常重要的概念,设置好时间尺度和延迟,可以充分模拟逻辑电路发生的各种情况和事件发生的时间点,来评估数字IC设计的各种要求,达到充分评估和仿真的作用。注意延迟语句是不可综合的,只是用来数据建模或仿真。1. 时间尺度语法格式: `timescale 10ns/1ns用关键字 `timescale标识,后面跟时间刻度,如:10ns/1ns,其中10ns表示基本时间刻度,就是每10ns作为一个刻度。1ns是精度,一般在仿真软件中的最小刻度。不同的仿真工具的精原创 2021-08-16 14:17:57 · 7013 阅读 · 0 评论 -
Verilog 预编译
Verilog 预编译Verilog 语言支持宏定义(`define),参数 parameter,局域参数(localparam)以及`include等内容。这些数据常量的支持极大方便数字系统设计、仿真与验证。这些参数是预编译的。预编译所谓预编译就是在系统编译之前,将定义的宏常量,参数等先对系统文件扫描一边,将文件中引用的宏和参数以实际值替代,对`include 文件的引用,将实际文件复制到对应位置,然后才对系统进行编译,这一点和具有编译运行的软件编译处理是一致的,如C语言,C++语言等..原创 2021-08-11 09:32:47 · 1190 阅读 · 0 评论 -
Verilog 变量声明与数据类型一
Verilog 变量声明与数据类型一Verilog语法中最基本的数据类型有 线网(wire),寄存器(reg)和整数(integer)三种类型,这三种数据类型是可综合的数据类型,在Verilog 程序设计中被广泛使用。其它还有可以用于仿真的数据类型如 timer,real,字符串等变量都可以看作reg类型的扩展。wire,reg ,integer,timer,real是声明变量类型的关键字。变量必须先声明后使用,声明后变量的数据类型也就确定了。变量声明是模块(module)内惟一的,不能在同一个模块或函原创 2021-08-10 14:01:44 · 4758 阅读 · 0 评论 -
Verilog 变量声明与数据类型二
Verilog 变量声明与数据类型二上节介绍了wire,reg数据类型及其用法,并对变量定义中的向量的定义及使用做了说明。本节主要介绍其它几种类型。常用的有如下几种:整数integer,实数 real, 时间time,字符串等,他们本质上也是寄存器类型。 整形integer 整形变量用关键字integer 声明,在声明时不用指定位宽,位宽的大小和编译器有关,一般默认为32位。和reg关键字不同,如没有特别指定,reg型变量是无符号数,而integer声明的变量是有符号数的。integer类型的原创 2021-08-06 09:22:47 · 2413 阅读 · 0 评论 -
Verilog 变量中位的数值类型
Verilog 变量中位的数值类型Verilog变量中每个位(bit)的数值类型有四种,分别为1,0,Z,X。其中1,0比较明确就是高、低电平。而x, z在逻辑设计中也经常用到来建模。X,Z既可以大写,也可以使用小写字母。 0:逻辑 0 或 “假” 1:逻辑 1 或 “真” x 或 X:未知 z 或 Z:高阻 X表示其值不确定,可能为0,也可能为1; 从高低电平的角度看,四值含义如下表所示: Verilog中4个逻辑值原创 2021-08-04 09:43:33 · 3220 阅读 · 0 评论 -
Verilog标识符与关键字
Verilog标识符与关键字1、标识符:Verilog HDL中的标识符是指用来声明数据,变量,端口,例化名等除关键字外的所有名称的组合。如:input a, 这里a就是一个标识符,用来代表一个输入端口的名称。Verilog HDL中的标识符(identifier)可以是任意一组字母、数字、$符号和_(下划线)符号的组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。下面所示都为合法的表示符:Count, count, a, y, _mem, ab0, x$, o原创 2021-08-03 14:26:56 · 8220 阅读 · 0 评论 -
FII-PRA006/010开发板硬件实验一
FII-PRA006/010开发板硬件实验一以一位全加器为例介绍如何利用开发板进行板载实验。一位全加器的Verilog代码如下: 1 2 3 4 5 6 7 8 9 10 module fadd1 ( input a,b,ci, output sum, output co ); assign {co, sum}...原创 2021-08-02 09:37:33 · 362 阅读 · 0 评论 -
FII-PRX100-D开发板FPGA的烧录和RISC-V 软件代码下载
1. 生成*.bit文件之前先RESET结果首先,打开VivadoFII_RISCV_V2.01工程(这里以V2.01版本为例),如图1所示。图1 FII_RISCV_V2.01工程要生成相应的*.bit文件需要先synthesis和implementation。推荐在进行synthesis之前,先reset前一次的结果。Reset操作如图2-图4所示。图2 选中上次的synthesis图3 选中reset图4 在弹出窗口中确定reset2.生成.原创 2021-07-31 13:44:47 · 932 阅读 · 1 评论 -
Verilog (FPGA)板级实验—Quartus II
Verilog (FPGA)板级实验—Quartus II这是第一个例子将会在硬件实验板演示我们的设计。本节的目的不是给大家介绍复杂的设计工程,复杂的设计方法,而是借助一个简单的例子,介绍如何将整个设计流程介绍给大家。本节内容包括新建文件,编写Verilog 代码,将代码添加到工程中,编译,开发板相关硬件介绍,管脚锁定,编程下载,板级验证。我们将按照这套流程一步步教会FPGA(Verilog)的开发流程。开发板 FII-PRA 006/010 Quartus II 新建工程 新建文件,编写Ver原创 2021-07-30 11:14:05 · 1807 阅读 · 2 评论 -
Quartus II 18.xx 创建新工程
Quartus II 18.xx 创建新工程本节以Quartus II 18.0 为例介绍如何在QuatusII下创建一个新的工程,其它版本如 Quartus II 18.XX,Quartus II 19.XX,Quartus II 20.XX,基本一致,可以参照本节步骤执行。启动Quartus II 18.0 lite Edition,启动后的界面如图1所示:图1在新建、打开项目向导区,点击New Project Wizard按钮,如图2红框标识:图2注:图2左下方绿框设置 .原创 2021-07-29 14:15:47 · 1762 阅读 · 0 评论 -
Verilog 的设计方法与设计流程
Verilog 的设计方法与设计流程Verilog的设计方法有两种,一种是自顶向下(top_down)的设计方法,一种是自底向上(bottom_up)的设计方法。设计流程是指从一个项目开始从项目需求分析,架构设计,功能验证,综合,时序验证,到硬件验证等各个流程之间的关系。设计方法自顶向下的设计方法:即先定义顶层模块功能,进而分析要构成顶层模块的必要子模块;然后进一步对各个模块进行分解、设计,直到到达无法进一步分解的底层功能块。这样,可以把一个较大的系统,细化成多个小系统,从时间、工作量上分配给更原创 2021-07-29 14:15:08 · 2386 阅读 · 0 评论 -
Quartus II 软件安装步骤
Quartus II 软件安装步骤从Intel网站下载QuartusII安装包,https://fpgasoftware.intel.com/?edition=lite。图 1点击下载点击选择 Combined Files点击选择合适的版本点击选择合适的版本在这里我们选择最新版本20.1.1,也可选择以前的版本。如果是新用户可能要求注册,登录等。2.下载文件现在后的文件名为Quartus-lite-20.1.1.720-windows.tar,解压展开后文件夹的名称为原创 2021-07-29 10:13:38 · 3531 阅读 · 1 评论 -
TTL,CMOS,LVTTL,LVCMOS电平标准
TTL电平VCC:5V数字电路中,由TTL电子元器件组成电路使用的电平。电平是个电压范围。标准输出高电平(VOH):2.4V标准输出低电平(VOL):0.4V(0.5V)通常输出高电平:3.5V(3.6V)通常输出低电平:0.2V最小输入高电平(VIH):2.0V最大输入低电平(VIL) :0.8V对TTL器件规定输出高电平>2.4V,输出低电平<0.4V。在室温下,TTL器件一般输出高电平是3.5V,输出低电平是0.2V。最小输入高电平和低电平:输入原创 2021-07-28 17:17:47 · 5283 阅读 · 0 评论 -
Verilog 语法中关于模块例化的方法
Verilog 语法中,关于模块例化有两种方法,一种是位置相关, 另外一种是名称相关verilog 语言中形成一个模块:module module_name( input a, input b, output c, input [31:0] d, output [7:0] e, ..... inout x);verilog 语法...endmoduleverilog 语言中模块:1)包括module...原创 2021-07-28 11:40:58 · 3774 阅读 · 0 评论 -
FPGA 双向口的使用及Verilog实现
FPGA的双向口在FPGA的设计应用中使用及其广泛,如I2C接口中的SDA,3线制的SPI接口中的数据线,传统控制总线中的数据总线,以及内存的访问DDR3/DDR4的数据总线等都是双向访问的。双向访问涉及到的概念比较多,如三态的概念,高阻的概念,输入、输出引脚合并,输入输出分时复用等概念,因此初学者往往比较迷惑,觉得无所适从,本文从底层基本原理入手,揭示双向口的机理,并用Verilog程序开发为例一步步引导大家如何使用双向口(inout)的使用与开发。双向口涉及的基本模型 三态门 为了描述方便,原创 2021-07-28 11:40:13 · 3772 阅读 · 0 评论