乐山市住房和城乡规划建设局网站,网站建设的ppt模板下载,北京网站建设 seo公司哪家好,北京做网络工程公司的网站写在前面 在自己准备写一些简单的verilog教程之前#xff0c;参考了许多资料----asic-world网站的这套verilog教程即是其一。这套教程写得极好#xff0c;奈何没有中文#xff0c;在下只好斗胆翻译过来#xff08;加了自己的理解#xff09;分享给大家。 这是网站原文参考了许多资料----asic-world网站的这套verilog教程即是其一。这套教程写得极好奈何没有中文在下只好斗胆翻译过来加了自己的理解分享给大家。 这是网站原文http://asic-world.com/verilog/veritut.html 这是系列导航Verilog教程系列文章导航
简介 作为 Verilog初学者您可能想尝试一些例子和新的东西。我列出了可用于实现此目的的工具流程。这个流程我亲自尝试过它对我来说效果很好。在这里我只采用了工具流程的前端设计部分和部分 FPGA 设计这套流程无需在工具上花费大量资金即可完成。 ASIC/FPGA设计的各个阶段 这是各个设计阶段可以使用的工具。
规格书Specification 文字处理器如 Word、Kwriter、AbiWord、Open Office。高层级设计High Level Design文字处理器如 Word、Kwriter、AbiWord用于绘制波形使用工具如 waveformer 或 testbencher 或 WordOpen Office。低层级设计Micro Design/Low level design Word、Kwriter、AbiWord 等字处理器用于绘制波形使用工具如 waveformer 或 testbencher 或 Word。RTL 编码RTL Coding Vim、Emacs、conTEXT、HDL TurboWriter仿真Simulation Modelsim、VCS、Verilog-XL、Veriwell、Finsim、Icarus。综合Synthesis设计编译器、FPGA 编译器、Synplify、Leonardo Spectrum。您可以从 Altera 和 Xilinx 等 FPGA 供应商处免费下载。布局布线Place Route对于 FPGA使用 FPGA 供应商的 PR 工具。ASIC 工具需要像 Apollo 这样昂贵的 PR 工具。学生可以使用LASI、Magic。后仿真Post Si Validation对于ASIC和FPGA芯片需要在真实环境中进行测试。电路板设计设备驱动需要到位。 这是一张典型的设计流程图 规格书 这是定义您预期设计的系统/设计的重要参数的阶段。一个简单的例子是我想设计一个计数器----它应该是 4 位宽应该有同步复位高电平有效使能当复位激活时计数器输出应变为“0”。 高层级设计 这是您在设计中定义各种子模块以及它们如何通信的阶段。假设我们需要设计一个微处理器高层级设计意味着根据功能将设计分成多个子模块---寄存器、ALU、指令解码、内存接口等。 低层级设计 低层级设计是设计人员描述如何实现每个子模块的阶段。它包含状态机、计数器、多路复用器、解码器、内部寄存器的详细信息。在各种界面绘制波形是一个好主意。这是个人花费大量时间的阶段。 RTL编码 在 RTL 编码中使用设计语言的可综合结构将低层级设计转换为 Verilog/VHDL 代码。我们通常喜欢在开始验证或综合之前检查代码。
module addbit (
a , // first input
b , // Second input
ci , // Carry input
sum , // sum output
co // carry output
);
//Input declaration
input a;
input b;
input ci;
//Ouput declaration
output sum;
output co;
//Port Data types
wire a;
wire b;
wire ci;
wire sum;
wire co;
//Code starts here
assign {co,sum} a b ci;endmodule // End of Module addbit 仿真 仿真是在任何抽象级别验证模型功能特性的过程。我们使用仿真工具来仿真硬件模型。要测试 RTL 代码是否满足规范的功能要求我们必须查看所有 RTL 模块是否功能正确。为了实现这一点我们需要编写一个testbench它生成时钟、复位和所需的测试向量。计数器的示例testbench如下所示。通常我们将 60-70% 的时间花在设计验证上。 我们使用仿真工具的波形输出来查看 DUTDevice Under Test被测设备在功能上是否正确。大多数仿真工具都带有波形查看器。随着设计变得复杂我们可以编写自检式testbench自动将 DUT 的输出与预期值进行比较。 还有一种仿真叫做时序仿真是在综合之后或者布局布线之后进行的。此处包括门延迟和线延迟以查看 DUT 是否能以额定时钟工作。这也称为SDFStandard Delay Format标准延迟格式 仿真或门级仿真。 综合 综合是综合工具将 Verilog 或 VHDL 中的 RTL、目标技术和作为输入的约束并将 RTL 映射到目标技术原语的过程。综合工具在将 RTL 映射到门之后还会进行最少量的时序分析以查看映射的设计是否满足时序要求。需要注意的重要一点是综合工具不知道线延迟它们只知道门延迟。 综合之后在将网表传递到后端放置和布线之前通常需要做几件事
形式验证Formal Verification检查 RTL 到门的映射是否正确扫描插入Scan insertion在ASIC的情况下插入扫描链 布局布线 来自综合工具的门级网表被提取并以 Verilog 网表格式导入到布局布线工具中。所有的门和触发器会被放置布局时钟树被综合和复位被布线。在此之后每个子模块都被布线。PR 工具输出是一个 GDS 文件代工厂使用它来制造 ASIC。后端团队通常将 SPEF标准寄生交换格式/RSPF减少寄生交换格式/DSPF详细寄生交换格式从 ASTRO 等布局工具转储给前端团队然后前端团队使用 Prime Time 等工具中的 read_parasitic 命令来写出 SDF标准延迟格式用于门级仿真目的。 后仿真 芯片硅从晶圆厂返回后需要将其置于真实环境中并进行测试然后才能投放市场。由于 RTL 的仿真速度每秒时钟数非常慢因此总是有可能在后仿真过程中发现错误。 您有任何问题都可以在评论区和我交流本文由 孤独的单刀 原创首发于CSDN平台博客主页wuzhikai.blog.csdn.net您的支持是我持续创作的最大动力如果本文对您有帮助还请多多点赞、评论和收藏⭐