embedded - Udacity : Functional Hardware Verification. 有哪些实现?

标签 embedded hardware verification

我刚刚看完 Udacity 的功能硬件验证类(class)第一周。在宣传片中,它说,它需要电气工程师和软件工程师的技能。这就是它引起我兴趣的原因。但我的印象是,它只适用于芯片设计师。我错了吗? 它对于嵌入式软件开发也有用吗? 例如,我如何在 Raspberry Pi 和/或 Android 设备上利用此信息?是否有可能或者我在这门类(class)上浪费时间? 如果有人能给我一些见解,我会很高兴。

最佳答案

1) 这是堆栈溢出问题吗?不确定,看看会发生什么。

2)这是否浪费时间,我认为不是,它是免费的,只是观看,学习一些东西

3)它是否适用于嵌入树莓派或Android?可能不是,首先取决于您对嵌入式的定义,如果您要对操作系统或环境进行 api/库调用,那只是编写应用程序。如果你深入挖掘裸露的金属,它会变得更近,但又不完全。现在,如果你们在某个地方携手合作,或者正在或将要设计芯片、fpgas、cpld 等。而且,该公司愿意进入 1990 年代或 2000 年代,并允许软件开发人员要在模拟中针对 RTL 进行开发,请访问模拟器许可证(非常昂贵,不需要太多的 cadence 许可证来影响您的薪水)。

在芯片开发阶段(相对于后芯片在下一个芯片开始之前销售芯片一段时间),我们使用我认为本类(class)教授的东西构建我们自己的模拟,但也许不是因为传统的测试方法并不完全是我所说的。我们模拟部分或整个芯片,使用“外语接口(interface)”或供应商所说的任何名称,将软件连接到模拟硬件。我们使用抽象层来实现这一点,这样我们针对 sim 编写的代码的很大一部分将在使用不同抽象层/垫片的硅上运行。这可以让软件提前数月到一年或更长时间,并且可以发现逻辑设计以及硬件/软件接口(interface)设计中的错误(中断是个好主意,我们可以足够快地轮询,使用DMA, ETC)。

Cadence 当然会推广他们的产品和他们的做事方式,尽管他们的产品支持广泛的功能。还有其他工具。我是 verilator 的粉丝,开源、免费。但它对它支持的verilog非常特殊,大部分只能综合,这对我来说很好,所以根据你所依赖的verilog作者,他们可能没有支持verilator正在寻找的东西的习惯。 icarus verilog 更宽容,但速度很慢。 verilator 比 cadence 慢 10 倍,icarus 比那慢。但免费就是免费……例如,如果你想看看它的实际效果,你可以在 opencores 上玩很多东西,例如 amber、mpx 和 altor32 是我玩过的。

如果您找到了这些芯片/板公司的工作之一,那么熟悉 cadence 和 modelsim 等模拟器以及免费工具(verilator、icarus、gtkwave、ghdl 等)是很有值(value)的。能够读取 verlog 和/或 vhdl(如果您已经是一名程序员,这并不难,唯一的新事物是某些代码是真正的“并行”,对于当今的多核处理器来说,这实际上并不是什么新鲜事对于程序员来说)。如果您能够将软件连接到模拟器,那么您就是该公司的 Assets ,因为您可以促进针对模拟硬件的开发,并在硅之前发现错误并缩短时间表,从而为公司节省数倍于您工资的资金好几个月了。

最后,能够查看波形并查看代码执行是一种令人上瘾的体验。

就像学习裸机或汇编一样,熟悉下一个较低级别的硬件只能对您作为程序员有所帮助,即使经验涉及的逻辑或处理器不是您正在编程的逻辑或处理器。请记住,就像程序员一样,让任意 N 个程序员执行相同的任务,他们可能会想出最多 N 个不同的解决方案。仅仅因为 mips 克隆的一种实现具有某些细节,并不意味着所有 mips 或所有处理器的内部结构都是如此。

关于embedded - Udacity : Functional Hardware Verification. 有哪些实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20714887/

相关文章:

c - 如何在linux中启动ARM编程?

matlab - 从 USB-1024HLS DAQ 板生成 PWM/时钟信号

ios - Xamarin Mac 硬件性能与较旧的翻新硬件

java - JAR 文件签名 block 格式

c++ - String Verifier 字符循环无法正常工作

c++ - 如何对齐堆栈上的缓冲区?

C 中的 CRC16 文件验证困惑

R验证源代码

C - 这行是什么意思?

android - 硬件加速 Canvas