首页 文章
  • 10 votes
     answers
     views

    如何修复这种非递归奇偶合并排序算法?

    我正在寻找非递归奇偶合并排序算法,并找到了两个来源: 来自Sedgewick R.的书 这个SO question 两种算法都相同但是错误 . 生成的排序网络不是奇偶合并排序网络 . 以下是具有32个输入的结果网络的图像 . 2条水平线之间的垂直线表示将值a [x]与[y]进行比较,如果大于,则交换数组中的值 . odd-even-merge sort for 32 inputs h...
  • 0 votes
     answers
     views

    VHDL信号分配混乱

    我正在研究VHDL并遇到了一个我无法找到答案的问题 . 我理解下面的例子以及结果为7的原因: architecture SIGN of EXAMPLE is signal TRIGGER, RESULT: integer := 0; signal signal1: integer :=1; signal signal2: integer :=2; signal signal3: ...
  • 4 votes
     answers
     views

    在VHDL中声明实体内的数组

    我正在尝试 Build 一个缓冲区,以便为小型CPU设计保存16位,16位宽的指令 . 我需要一种从我的测试平台将指令加载到缓冲区的方法 . 所以我想使用一个std_logic_vectors数组来实现这一目标 . 但是,我收到语法错误,我不知道为什么(或者如果我允许在VHDL中执行此操作) . 语法错误位于我声明 instructions 的行 library IEEE; use IEEE.ST...
  • 0 votes
     answers
     views

    使用numeric_std.All时VHDL中的比较

    我在VHDL中遇到了一个问题 . 我正在研究一个实体 . 我只包括库STD_LOGIC_1164和NUMERIC_STD . 我用两种不同的配置对两个信号A和B进行了比较: 定义(在相关的合适位置): library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.All; signal A : STD_LOGIC_VECTOR...
  • 3 votes
     answers
     views

    如何在VHDL中初始化std_logic_vector?

    我有一个std_logic_vector(4096 downto 0)信号,我想初始化它如下: architecture Behavioral of test is type ram_type is array(4095 downto 0) of std_logic_vector(15 downto 0); signal ram : ram_type; ram(0) :=...
  • 1 votes
     answers
     views

    VHDL结构

    大家好,任何人都可以帮我解决VHDL问题 . 我正在尝试一些实用的结构编程,并希望从一个简单的半加法器开始 . 继承我的代码 LIBRARY IEEE; USE IEEE.std_logic_1164.all; --XOR DESCRITION entity xor_2 is port (a, b : in std_logic; f : out std_logic ); ...
  • 2 votes
     answers
     views

    vhdl中index(9)和index(9 downto 9)之间有什么区别?

    logic index : unsigned(9 downto 0) ; type fft_data is array (3 downto 0) of unsigned(16 downto 0); signal tmp,signal fmax_data :fft_data; tmp = fmax_data(to_integer(index(9))); 上面的部分代码给出了以下编译错...
  • 0 votes
     answers
     views

    SystemVerilog通用多路复用器

    我试图想出一种方法来定义可以与电线一起使用的可合成通用多路复用器(作为函数或模块),以及SystemVerilog中的typedef(枚举,结构) 这有可能吗?如果没有,那么编写这样一个多路复用器最简洁的方法是什么? 目前,我正在使用多路复用器,它将二维线阵列作为输入,并根据选择信号选择其中一个元素 . 这使得它非常痛苦,因为每次我需要将它们连接到多路复用器模块时,我都会来回拼接我的类型变量 . ...
  • 1 votes
     answers
     views

    在SystemVerilog中的结构内使用union的赋值模式

    这是一个例子 . 在SystemVerilog中,它具有数组赋值模式和结构赋值模式语法 . 无论这里的union构造是打包还是解包,无论它是否是可合成的,它是否是赋值模式的有效用法?如果是的话,对于工会 x 应该是什么 Value ? typedef struct { int a; byte b; union packed { int c; bit [31:0]...
  • 0 votes
     answers
     views

    VHDL IEEE标准库与组件

    我正在为Xilinx FPGA开发一个VHDL项目,并且发现自己处在一条十字路口 . 例如,我需要添加两个信号(C = A B),并发现Xilinx具有可以生成可以完成工作的组件的工具 . 但这也可以用标准VHDL实现:C <= A B. 如果我使用标准VHDL,代码应该是可移植的,但这会降低吞吐量吗? 我的意思是,特殊组件是否在FPGA等中使用DSP功能,这使得它们更快,或者合成器通常能够...
  • 2 votes
     answers
     views

    如何有效利用VHDL模块?

    There's a few questions in here, so bear with me, and thanks for taking the time to read this... 我最近写了一个SPI主控,并完全模拟它以确保它按预期工作 . 从这里我想在另一个设计中使用它,我已经设置了一个7段显示组件,以便从SPI总线上获取从ADC接收到的值,但是我想我已经把事情弄糊涂了 . 点 ....
  • 0 votes
     answers
     views

    使用Synplify进行综合时ISE实施阶段的问题

    我的项目包含MicroBlaze,ISE项目中XPS部分的几个AXI4 Lite / Full总线 . 在ISE中实现一些AXI4从属 . 该项目是完全合成的,并与XST一起使用,但在使用Synplify Pro进行合成时会发生以下错误: ERROR:NgdBuild:989 - Failed to process BMM information edkBmmFile.bmm ERROR:NgdB...
  • 2 votes
     answers
     views

    有限状态机VHDL复位

    我是VHDL的新手,我对FSM的实现有疑问 . 我想要图片中显示的行为(我用AHDL实现了相同的FSM) . 当我在VHDL中实现它时,我有一个不同的复位行为:如果它检测到reset = 1并且同时存在上升沿,则FSM不会继续,但它会继续将PS置于S0 . 我知道问题是如果...... elsif(它检测到第一个条件是正确的,并且我没想进入第二个条件) . 我已经尝试了许多不同的方法,但仍然没有工...
  • 2 votes
     answers
     views

    什么是HDL合成中的“网”

    我是电路综合的初学者,我偶然发现了 net 这个词,但我永远无法找到它的标准定义 . 在我看来,它指的是它接收输入并产生输出的任何类型的"black box" . 所以它可以是一个大电路内的子电路,它可以是一个门阵列 . 我的理解是否正确?
  • 5 votes
     answers
     views

    在编译时抛出错误的LINT / synthesis安全语句是什么?

    我有一个传递 parameter 的模块然后实例化与定义的参数对应的另一个模块 . 但是,如果没有为某个参数组合定义一个case,我想在编译时抛出一个错误来突出显示问题,如下所示: generate if (PARAM1 == 1 && PARAM2 == 2) begin // instantiate module logic_A end else if (PARAM1...
  • 3 votes
     answers
     views

    优化fpga实现的管道吞吐量的最佳实践是什么?

    例如,如何充分利用重定时和/或c-slow来充分利用给定的管道 . 通过重新定时,一些模块通过将移位寄存器置于输入(正向寄存器 balancer )上获得更好的结果,而其他模块在输出上使用移位寄存器(向后寄存器 balancer )时效果更好 . 现在我使用以下方法: 代码hdl(在verilog中) 为特定模块创建时序约束 综合, Map ,地点和路线(使用ISE 13.1) 查...
  • 2 votes
     answers
     views

    估计VHDL实现所需的面积

    我有一些VHDL文件,我可以在Debian上用 ghdl 编译 . 一些人已经为ASIC实现调整了相同的文件 . 有些人想要编写更多的实现,但为了评估它们,我需要能够比较不同实现需要多少区域 . 我想在不安装任何专有编译器或获得任何硬件的情况下进行评估 . 足够的评估标准是对GE(门等效)面积的估计,或某些FPGA实现所需的逻辑片数 .
  • 0 votes
     answers
     views

    Infinte HDL合成

    当我尝试合成我的代码时,它会陷入无限循环,即它停留在HDL SYNTHESIS . 我没有使用任何循环 . 但问题仍然存在 . 请在这方面提供帮助 ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL;...
  • 1 votes
     answers
     views

    如何在执行综合时将参数传递给verilog模块?

    我有一个参数化的verilog模块,其位宽可变,具体取决于`define WIDTH中给出的值 . 但是,我希望能够通过使用设计编译器在综合期间传入参数来以某种方式更改WIDTH的值 . 我想知道是否有办法做到这一点? 例如,我希望能够为设计编译器的输入文件编写以下内容: analyze -format sverilog -define WIDTH 10 myverilogfile.v
  • 3 votes
     answers
     views

    综合全局实例计数

    我找不到任何与此相关的问题,但有可能我不知道该搜索什么 . 使用综合工具时(如果需要特定工具,请说Synplify,但最好是有一个适用于各种工具的标准兼容版本),是否可以跟踪模块的实例数并帮助实现指导合成?我怀疑没有,但我可以看到很多这样的用例 . 让我举一些我的意思的例子 . 在某些情况下,我正在考虑FPGA开发,但我敢打赌它也可以用于ASIC设计 . 假设我在设备上有10个乘法器,并且我有一些...
  • 11 votes
     answers
     views

    verilog模块中reg和wire之间的区别是什么

    reg和wire之间有什么区别?我们什么时候应该使用reg以及何时应该在verilog模块中使用wire . 我有时也注意到输出再次被声明为reg . 例如,在D触发器中的reg Q.我已经在某处读过 - “程序赋值语句的目标输出必须是reg数据类型 . ”什么是程序转让声明?我已经彻底搜索了这个,但未能找到明确的解释 .

热门问题