IC技术圈期刊 2024年 第03期

类别: FPGA(1) 前端(1) 验证(2) 后端(1) 嵌入式(0) 自动化(0) 模拟(0) 求职就业(0) 管理(0) 软件(0) 按月份
使用SpinalHDL和Cocotb进行敏捷数字芯片设计和验证
#验证  #spinal  #cocotb 
领域特定架构已成为计算机发展的一种趋势。在提供更高效算力的同时,它也给底层硬件的开发带来了更大的挑战。传统的芯片设计和验证技术已越来越无法应对这些新的要求和挑战。在芯片设计上,本文将介绍如何使用SpinalHDL,一种基于Scala的新型硬件描述语言(HDL),或者更准确地说是硬件构造语言,提高硬件设计的效率和质量。对于SpinalHDL,本文还介绍了如何利用Scala的类型系统高效地进行复杂硬件的设计。对于验证,本文将介绍基于Python的验证环境Cocotb,以及如何利用Python简洁高效的语言特性及其繁荣的开源社区,提升芯片验证的效率。
达坦科技DatenLord More
从Verilog到SpinalHDL
#前端  #spinal 
SpinalHDL和Chisel师承一脉,都是基于Scala来进行电路描述。其本质上仍旧是HDL而非HLS,在设计之前依旧需要有清晰的电路结构,只不过是在电路描述上更加方便和快捷而已。个人学习SpinalHDL已有半年时间,SpinalHDL在解决上面的那些痛点上觉得做的是相当优秀,有感兴趣的小伙伴不妨尝试了解下。诚然,SpinalHDL的入门曲线可能较陡一些,但越过此门当真是打开一个新的世界。结合SpinalHDL—Doc文档及个人学习经历,推出下面个人的SpinalHDL的笔记总结,建议结合SpinalHDL-Doc进行阅览。
Spinal FPGA More
ICC2:polygon命令与复杂power plan
#后端  #ICC2  #powerplan 
之前在polygon多边形操作一文中举例介绍了ICC2中如何用polygon命令创建环形金属,这里再介绍一种实用用法。我们需要在M8 stripe与M2 power rail之间搭一座梯子将M2到M8连接起来。首先,抓取二者重叠处bbox,使用的是compute_polygon命令。然后用create_shape on track搭建各层梯子。
拾陆楼 More
SystemVerilog,验证与AOP(一)概述
#验证  #SystemVerilog  #AOP 
面向切面编程(AOP)是对面向对象编程(OOP)的补充。AOP中关键概念称之为"切面"或者切面扩展,能够改变一个或多个类的行为方法。在SystemVerilog中使用AOP可以更加有效灵活地涉及testcase,减少code lines。AOP主要用于解决,在随机约束的TB中使用OOP难以解决的一些问题:1、上下文相关的行为2、临时性或"需求"外的扩展 3、……
验证芯发现 More
基于 FPGA 的 UART 控制器设计(附代码)
#FPGA  #UART 
本篇会介绍使用 FPGA 实现 UART,包括UART设计框架、UART 工作流程、信号监测器模块的实现、波特率发生器模块的实现、移位寄存器模块的实现、奇偶校验器模块的实现、总线选择器模块的实现、计数器模块的实现、UART 内核模块的实现、UART 顶层模块的实现 、测试平台的编写和仿真等相关内容。
FPGA技术江湖 More