🌍首页
📁归档
⏳时光机
🚩友链
📫留言
📧订阅
🌟推荐
📕考研课程
🏜️ 免费壁纸
❤ 捐助本站
💰资助名单
🎵音乐实验
Search
1
【NPN/PNP三极管】放大电路饱和失真和截止失真的区别
20,306 阅读
2
论文写作中如何把word/wps里面所有数字和字母替换为新罗马字体
10,816 阅读
3
【高数】形心计算公式讲解大全
9,157 阅读
4
Vivado-FPGA Verilog烧写固化教程
8,240 阅读
5
【概论】一阶矩、二阶矩原点矩,中心矩区别与概念
7,937 阅读
🪶微语&随笔
励志美文
我的随笔
工作办公
📡电子&通信
嵌入式&系统
通信&信息处理
编程&脚本笔记
⌨️IC&系统
FPGA&ASIC
VLSI&IC验证
EDA&虚拟机
💻电子&计算机
IP&SOC设计
机器学习
软硬件算法
登录
/
注册
FPGA&ASIC(共62篇)
找到
62
篇与
FPGA&ASIC
相关的结果
- 第 6 页
【1】Verilog-初识、简介与环境搭建
摘要Verilog是一种强大的硬件描述语言,用于数字系统描述和建模,广泛应用于ASIC设计。本文介绍了Verilog的发展历史、主要特性、应用领域以及环境搭建过程,包括Quartus II和Modelsim的使用。关键词:Verilog, 硬件描述语言, FPGA, Quartus II, Modelsim目录 发展历史 主要特性 主要应用 Verilog 环境搭建Quartus II 安装 Modelsim 安装 建立 Quartus II 工程建立工程 新建 Verilog 源文件 Quartus II 调用 Modelsim 仿真 总结 Verilog 具有很强的电路描述与建模能力,能从多个层次对数字系统进行描述和建模。因此,在简化硬件设计任务、提高设计效率与可靠性、语言易读性、层次化和结构化设计等方面展现了强大的生命力与潜力。 发展历史 1983 年,Verilog 最初由 Gateway Design Automation 公司(GDA)的 Phil Moorby 创建,作为内部仿真器的语言,主要用于逻辑建模和仿真验证,被广泛使用。 1989 年,GDA 公司被 Cadence 公司收购,Verilog 语言成为 Cadence 公司的私有财产。 1990 年,Cadence 公司成立 OVI(Open Verilog International)组织,公开 Verilog 语言,促进 Verilog 向公众领域发展。 1992 年,OVI 决定致力于将 Verilog OVI 标准推广为 IEEE(The Institute of Electrical and Electronics Engineers)标准。 1995 年,OVI 的努力获得成功,IEEE 制定了 Verilog HDL 的第一个国际标准,即 IEEE Std 1364-1995,也称之为 Verilog 1.0。 2001 年,IEEE 发布 Verilog 第二个标准(Verilog 2.0),即 IEEE Std 1364-2001, 简称为 Verilog-2001 标准。由于 Cadence 在集成电路设计领域的影响力及 Verilog 语言的简洁易用性,Verilog 成为电路设计中最流行的硬件描述语言。 主要特性 下面是 Verilog 的主要特性: 可采用 3 种不同的方式进行设计建模:行为级描述——使用过程化结构建模;数据流描述——使用连续赋值语句建模;结构化方式——使用门和模块例化语句描述。 两类数据类型:线网(wire)数据类型与寄存器(reg)数据类型,线网表示物理元件之间的连线,寄存器表示抽象的数据存储元件。 能够描述层次设计,可使用模块实例化描述任何层次。 用户定义原语(UDP)创建十分灵活。原语既可以是组合逻辑,也可以是时序逻辑。 可提供显示语言结构指定设计中的指定端口到端口的时延,以及路径时延和时序检查。 Verilog 支持其他编程语言接口(PLI)进行进一步扩展。PLI 允许外部函数访问 Verilog 模块内部信息,为仿真提供了更加丰富的测试方法。 同一语言可用于生成模拟激励和指定测试的约束条件。 设计逻辑功能时,设计者可不用关心不影响逻辑功能的因素,例如工艺、温度等。 主要应用 专用集成电路(ASIC),就是具有专门用途和特殊功能的独立集成电路器件。 Verilog 作为硬件描述语言,主要用来生成专用集成电路。 主要通过 3 个途径来完成: 1、可编程逻辑器件 FPGA 和 CPLD 是实现这一途径的主流器件。他们直接面向用户,具有极大的灵活性和通用性,实现快捷,测试方便,开发效率高而成本较低。 2、半定制或全定制 ASIC 通俗来讲,就是利用 Verilog 来设计具有某种特殊功能的专用芯片。根据基本单元工艺的差异,又可分为门阵列 ASIC,标准单元 ASIC,全定制 ASIC。 3、混合 ASIC 主要指既具有面向用户的 FPGA 可编程逻辑功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块,如CPU,RAM,锁相环,乘法器等。 Verilog 环境搭建 学习 Verilog 做仿真时,可选择不同仿真环境。FPGA 开发环境有 Xilinx 公司的 ISE(目前已停止更新),VIVADO;因特尔公司的 Quartus II;ASIC 开发环境有 Synopsys 公司的 VCS ;很多人也在用 Icarus Verilog 和 GTKwave 的方法,更加的轻便。 虽然 ISE 或者 Quartus II 都会自带仿真器,但功能还是有欠缺。所以,这里介绍下 Quartus II + Modelsim 联合仿真的测试方法,运行环境为 64bit-win10 系统。 Quartus II 安装 本次介绍使用的 Quartus 版本为 10.1。 目前 Quartus II 官网已经没有 13.1 以下版本的安装包,大家可以安装 13.1 以上版本的软件。功能都是大同小异,下载地址:https://fpgasoftware.intel.com/13.1/?edition=subscription&platform=windows 下载 13.1 以上的 quartus II 时,官网也会推荐相应版本的 Modelsim,一起下载即可。 开始安装,修改安装路径,其他按照默认设置一步步操作即可。 下图是成功安装的截图。 图片 如果提示需要 License file,如下图所示,则需要指定购买该软件时的 license 文件。 图片 如果 license 文件需要替换 Host-ID,只需要 license 文件中的 HOSTID 替换为 NIC 选项中随便一个 ID 即可,如下图红色框所示: l35kw97h.png图片 Quartus II 10.1 安装完还需要安装 Device,即安装支持各种可编程逻辑器件型号的库文件,否则 Quartus II 不能正常建立工程。 安装路径需要选择 Quartus II 的安装路径,此时 Device 安装可自动识别 Quartus II。 最新 Quartus II(例如 2016 版本)已经支持一套化安装了。 Modelsim 安装 Modelsim 选择 modelsim-win64-10.1c-se 版本。 也需要修改下安装路径,然后按照默认设置进行操作即可。 安装完毕后可能提示需要重启电脑,重启即可。 l35kwto3.png图片 建立 Quartus II 工程 建立工程 File->New project Wizard 设置工作路径与工程名字、top module名字。 注意,路径与名字设置时,不能包含中文。 l35kymsh.png图片 选择器件型号 我们只进行简单的仿真,不进行下载、烧录等,所以我们不用关心具体信号,随便选一种即可。 然后一直点击 Next,直到 Finish。 l35kz8mf.png图片 新建 Verilog 源文件 下面就对 4 位宽 10 进制计数器进行简单的仿真。 点击:File->New->Verilog HDL File->OK 点击:File->Save As 输入 module 名字为:counter10.v 需要注意的是,top module 名字一定要和 project 名字一致,否则会报错(如图中所示)。 把 Verilog 代码复制到文件 counter10.v 中,进行一键编译(实际包含了编译、综合、布局布线等)。 代码: module counter10( //端口定义 input rstn, //复位端,低有效 input clk, //输入时钟 output [3:0] cnt, //计数输出 output cout); //溢出位 reg [3:0] cnt_temp ; //计数器寄存器 always@(posedge clk or negedge rstn) begin if(! rstn)begin //复位时,计时归0 cnt_temp <= 4'b0 ; end else if (cnt_temp==4'd9) begin //计时10个cycle时,计时归0 cnt_temp <=4'b000; end else begin //计时加1 cnt_temp <= cnt_temp + 1'b1 ; end end assign cout = (cnt_temp==4'd9) ; //输出周期位 assign cnt = cnt_temp ; //输出实时计时器 endmodule报错时,可通过点击 Error log 来定位错误,进行修改,直至没有 Error。 l35kzvy2.png图片 Quartus II 调用 Modelsim 仿真 仿真设置为 Modelsim-altera 点击:Tool->Options->EDA Tool Options 将 Modelsim 后面的地址改为 Modelsim 启动程序的路径。 l35l1p4j.png图片 选择仿真器 点击:Assignments -> Simulation Tool name 选择 ModelSim,并设置 Format、Time scale 等,如图 l35l22b6.png图片 写 testbench 文件 点击:Processing->start->Start TestBench Template Writer 如果设置正确,会在工程路径 simulation/modelsim 下产生 .vt 文件。 .vt 文件模板已经给出了端口部分的代码、接口变量的声明和例化语句映射等。我们要做的就是将测试代码填入到 testbench 合适的位置。 这里简单的写一下时钟、复位驱动代码,如下图所示。 l35l2is4.png图片 将 testbench 添加到工程中 点击:Assignments -> Settings -> Simulation 在 Compile test bench 选项中,选择 new,设置 Test bench name,并通过 File name 查找的方式,将上一步生成的 .vt 文件添加到工程中。 需要注意的是,testbench 文件名字需要和 testbench 里的 top module 名字保持一致,否则后续启动 Modelsim 时会报错,不能进行正常的仿真。 l35l2w7o.png图片 重新一键编译 此时,你会发现,Tasks 栏编译的状态变成了问号,需要重新进行一键编译。 l35l3k7f.png图片 调用 Modelsim 仿真 点击:Tools->Run simulation Tool->RTL Simulation 这时就会自动启动 Modelsim 软件。 Modelsim 操作这里不做具体介绍。 由仿真图可知,我们的设计完成了 10 进制计数的基本功能。 l35l42j9.png图片 总结 记忆中,Quartus II + Modelsim 的联合仿真功能既强大,又安装方便。几年后重新进行此过程,发现步骤也有些许繁琐,花费了我一晚上的时间来搞定。很多细节也在上面提出,多多注意就好。不过,大家以后有机会进行大型的数字模块仿真时,就会发现此方法的有效性。 在接下来的教程里,有些简单的仿真可能用其他软件进行,截图界面可能与 Modelsim 不一致。大家看到后不用怀疑仿真的准确性,这里特别说明。 设计模块与 testbench 源码也会全部给出,大家完全可以自己仿真、验证。
FPGA&ASIC
刘航宇
4年前
0
981
2
2022-05-14
ASIC/FPGA应该学习Verilog还是VHDL?
摘要选择Verilog或VHDL取决于个人需求。VHDL强类型,易于初学者避免错误,但Verilog更简洁,更接近C语言,代码量少。Verilog在仿真功能和市场占有率上优于VHDL,尤其在国内外趋势中更受欢迎。关键词:ASIC, FPGA, Verilog, VHDL, 仿真功能目录 正文 常识讨论 数据分析 结束语 正文 对于FPGA或者ASIC的初学者来说,选择哪种语言貌似应该根据自身的需求而定,例如实验室项目需要使用哪种语言,或者实验室师兄师姐使用了哪种语言,或者导师推荐你学习哪种原因,这都是硬性需求了,因为你需要完成项目的接手,所以必须根据要求而来! 常识讨论 但如果你没有这些顾虑呢?该如何做出选择? 这时,您应该注意几点。 VHDL是强类型的。这使初学者更难犯错误,因为编译器不允许您编写有效的代码。Verilog是弱类型的。它允许您编写错误的代码,但更为简洁。 Verilog看起来更像C之类的软件语言。这使熟悉C的人更容易阅读和理解Verilog的工作。 VHDL需要大量输入。Verilog通常只需要较少的代码即可完成相同的操作。 VHDL是非常确定的,因为在某些情况下Verilog是不确定的。 当然,这里并不是评论Verilog或者VHDL的优劣的,对于语言的选择是根据需求而定的! 有人喜欢用Verilog,自然喜欢它的优点,也能包它的缺点,VHDL也是如此! 例如1995年OVI主题演讲时,时任Cadence首席执行官的Joe Costello,认为: VHDL is one of the biggest mistakes the Electronics Design Automation industry has ever made. A $400 million mistake. Wouldn’t this money have been better spent on handling sub-micron design, testability issues, or even a new type of HDL that had significantly more capabilities than what Verilog and VHDL offer today? 翻译过来就是: VHDL是电子设计自动化行业有史以来最大的错误之一。4亿美元的错误。这笔钱不会花在处理亚微米设计,可测试性问题,甚至是比Verilog和VHDL提供的功能明显更多的新型HDL上吗? 这明显是对VHDL的负面评论! 这也很好理解:在那些年里,Verilog和VHDL是主要的HDL竞争者,而Cadence主导了Verilog仿真市场。 也有一些反对Verilog的声音,大概是认为: 一方面,如果仅存Verilog,那么是形成垄断,垄断并不符合行业及其客户的普遍利益。有了垄断,就没有竞争。当竞争消失时,创新也会消失。 另一方面,诟病Verilog的编程陷阱?例如非阻塞赋值等等! 对于事情的好坏,声音总是很多,都是利益相关,这与我们的主题无关,到此为止! 数据分析 下面我们来从更多的数据方面看看Verilog还有VHDL的对比情况: 谷歌网页搜索热度: 全球 图片 红色代表Verilog,蓝色代表VHDL,可以明显看出Verilog从追赶到反超的这样一个事实(还有一点有趣的是,很多年龄较大的领导或者导师更熟悉VHDL,和他们所处的年代有关!),我们把时间线拉近感受一下: 图片 从2018年初至今,Verilog的搜索热度还是高于VHDL,这是一个趋势! 中国 上面是全球的情况,那么对于中国来说呢? 图片 可见,大概2008年以前还平分秋色,但是之后,Verilog热度越来越大于VHDL! 结束语 考虑到国内大势,Verilog更受欢迎!verilog强大的仿真功能,相比之下VHDL的仿真功能弱爆了。verilog这么多年的市场占有率远胜于VHDL,除了一些以前的设计需要支持以及很多学校还是以VHDL教学,基本用的很少了。
FPGA&ASIC
# VLSI
刘航宇
4年前
0
702
2
上一页
1
...
5
6