问题标签 [verilog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
verilog - Verilog 自动任务
如果在 Verilog 中使用 automatic 关键字声明任务,这意味着什么?
注意:这个问题主要是因为我很好奇网站上是否有任何硬件程序员。:)
logic - 在 Verilog 中高效合成 4 对 1 函数
我需要在 Veriog 中实现 4 对 1 功能。输入是 4 位,一个从 0 到 15 的数字。输出是单个位,0 或 1。每个输入给出不同的输出,并且从输入到输出的映射是已知的,但输入和输出本身却不是。我希望 vcs 能够成功优化代码,并让它尽可能短/整洁。到目前为止我的解决方案:
必须声明 c 是丑陋的,我不知道 vcs 是否会识别那里的 K-map。这将与案例陈述或连接范式的赋值一样有效吗?
verilog - 将层次结构传递到 Verilog 模块
我有一个“观察者”模块,它目前在其中使用全局层次结构。我需要用第二个全局层次结构实例化这个的第二个实例。
目前:
期望:
我最好的想法是使用 vpp(Verilog 预处理器)蛮力生成两个几乎相同的模块(每个层次结构一个),但有没有更优雅的方法?
coding-style - 如何写一个 linter?
在我的日常工作中,我和团队中的其他人用 Verilog-AMS 编写了很多硬件模型,这是一种主要由商业供应商和一些开源模拟器项目支持的语言。让相互支持代码更有帮助的一件事是 LINTER,它可以检查我们的代码是否存在常见问题,并协助执行共享代码格式样式。我当然希望能够添加自己的规则,并且在我证明它们对自己有用之后,将它们推广给团队的其他成员。我不介意做必须完成的工作,但当然也希望利用其他现有项目的工作。
拥有 yacc 或 bison 格式的允许语言语法是否可以帮助我?还是我应该将每个语言语句吸进一个 perl 字符串,然后使用模式匹配来查找我不喜欢的东西?
(大多数语法和编译错误很容易被商业工具捕获。但我们有一些自己的扩展。)
linux - 什么是设置库以支持多平台预编译软件链接的最佳方式,编译选项
我正在维护一个库,其中包含需要链接到第 3 方可执行文件的编译对象。有时可执行文件已针对 Solaris 编译,有时作为 32 位 Linux 应用程序,有时是 64 位 Linux 应用程序。我想做的是将一个“路径”传递给库,然后让应用程序自动选择库的正确风格。如果它只在 linux 上工作就可以了,这样我就可以根据操作系统来定义路径。
这种特殊情况适用于我想链接到 Verilog 模拟器的 PLI/VPI 函数库。
我现在拥有的是
味道是其中之一
风味取决于操作系统,如果是 Linux,如果在 64 位平台上运行,它还取决于我正在运行的程序的 32/64 位版本。我正在寻找更好的方法..
embedded - 我应该从哪里开始使用 HDL?
我是一名自学成才的嵌入式开发人员。我主要使用用 C 和 ASM 编写的 AVR,但我也涉足过其他系统。我希望转向更复杂的设备,如 CPLD 和 FPGA,但我不知道从哪里开始。所以我的一个半问题是:
- 您更喜欢 VHDL 还是 Verilog,为什么?
- 对于没有 HDL 经验的人开始学习这样的野兽,有什么好方法?
verilog - 如何在verilog中将数字转换为二进制补码?
我正在尝试在 verilog 中设计一个 4 位加法减法器。这只是我用verilog 写的第二件事,而且我还不知道所有正确的语法。这是我到目前为止的模块:
我的编译器(xilinx 10.1)一直说“if 附近出现语法错误”。我尝试了许多不同的转换方法,包括仅使用以 Y 作为参数的 Case,然后检查所有可能的 4 位组合,并将它们转换为二进制补码。
Z 决定加法器是做减法还是加法。如果为 0,则表示减法,我想将 y 转换为二进制补码,然后进行常规加法。我确定加法器的其余部分是正确的,我只是不知道我要转换的部分有什么问题。
verilog - 硬件描述语言(Verilog、VHDL 等)的最佳实践是什么?
实现 HDL 代码时应遵守哪些最佳实践?
与更常见的软件开发领域相比,有哪些共同点和不同点?
microcontroller - 微控制器 + Verilog/VHDL 模拟器?
多年来,我参与了许多基于微控制器的项目。主要是Microchip的PIC。我使用过各种微控制器模拟器,虽然它们有时会很有帮助,但我经常发现自己很沮丧。在现实生活中,微控制器永远不会单独存在,固件的行为取决于环境。但是,我使用的模拟程序都没有为微控制器之外的任何东西提供良好的支持。
我的第一个想法是在 Verilog 中对整个电路板进行建模。但是,我宁愿不创建一个完整的 CPU 模型,而且我没有太多运气为我使用的芯片找到现有模型。无论如何,我真的不需要或不想在那个细节级别上模拟 proc,我想保留常规处理器 sim 提供的调试工具。
在我看来,理想的解决方案将是一个混合模拟器,它将传统处理器模拟器与 Verilog 模型接口。
这样的事情存在吗?
verilog - 可以在 VHDL 中完成动态可插拔模块吗?
在c(嵌入式)中,可以通过定义函数指针表和模块可以加载到的地址范围来实现插件。
这需要链接器指令来分配空间并定义函数表的位置。
HDL / VHDL或Verilog中是否有类似的机制。
我想我在想的是在 FPGA 中定义一个门块以用于我的扩展功能,定义它将连接到的端口,然后能够将逻辑加载到该块中以执行特定操作。
这必须在运行时进行,因为 FPGA 是交付插件的通信系统的一部分。