首页 文章
  • 0 votes
     answers
     views

    fpga与pc通信

    好吧我正在使用Spartan 3a套件,我需要知道与我的电脑与我的fpga通信的最简单和最安全的选择,这意味着将数据发送到连接器的输入引脚并从连接器的输出引脚的引脚接收现在这个连接器或界面,我不能选择,我所知道的是我在我的fpga上有这个接口:RS232以太网USB(仅用于编程,我认为)差分对端口(???)ADC / DAC端口PS /键盘和鼠标端口 不,我需要一个合适的接口,以便我可以在PC上创...
  • 0 votes
     answers
     views

    Basys3板的USB端口上的数据输入/输出

    我正在尝试配置/编写VHDL代码,让我从Basys3 FPGA板上的USB端口输出或输入数据 . 问题是我还没有找到任何谈论这个主题的线索或问题 . 我找到的答案最接近的是: Provide input data to FPGA using USB 它不包含我正在寻找的东西 . 任何线索任何人?
  • 2 votes
     answers
     views

    奇怪的签名比较结果

    在将2位 std_logic_vector 和 std_logic_signed 包加载到十六进制常量(如 x"3" )时,我遇到了意外的比较结果 . 当两个位都设置但我总是假的时候,我希望比较是真的 . 可能是因为 std_logic_vector 将符号扩展到4位,以便与4位十六进制常量进行比较 . 真正奇怪的是,当使用常量 3 时,比较按预期工作,但仅在使用 std_lo...
  • 0 votes
     answers
     views

    在VHDL中注册 Map 实现

    在我的设计中,我试图创建一个寄存器映射,可以灵活地由单独的组件使用 . 例如,假设我创建了以下寄存器映射类型: package regmap_package is type regmap_t is array(natural range <>) of std_logic_vector(7 downto 0); end package regmap_package; 所以这...
  • 0 votes
     answers
     views

    VHDL状态机问题 - 重复状态

    我们正在为最终项目构建处理器 . 控制单元是一个状态机,但它似乎陷入状态的时间超过它应该的状态,因此它重复指令 . 我们正在使用Vivado 2015.4和Nexys4主板 . 因此,通过一行指令将值存储到加载到指令存储器中的7段中,状态变为: Fetch => Fetch => Fetch => L_S_D (Load/Store Decode) => L_S_E (Lo...
  • 0 votes
     answers
     views

    VHDL从文件中读取文本,然后存储和比较它们以创建测试台

    我有一个文本文件,表示来自电路的整数格式的adc值,看起来像, 0000 0001 0005 3864 2290 1234 . . . 0002 0004 0006 4532 3457 . . . 前3个整数总是表示 Headers ,随后的256个整数值包含一个块 . 我编写了一个VHDL代码(算法)来分析这个文件,它存储了这个文件的几个特征 . 我还编写了一个测试平台,它读取文件并将一行中的...
  • 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...
  • 0 votes
     answers
     views

    在VHDL中传递对函数的类型访问时出错

    我在VHDL中有一个包含指针( access )的记录 . 我需要创建一个函数,接收此记录作为参数,并从其数据写入文件 . 但是使用MODELSIM进行模拟我会收到以下错误: **错误:(vcom-1462)非法声明x_file_format类型的常量“xxx”(类型是或包含访问类型) . 如何将指针作为参数传递给函数?
  • 2 votes
     answers
     views

    签署到std_logic_vector,切片结果

    我需要取结果的绝对值,我只对最重要的位感兴趣 . 这就是我所做的: data_ram_h <= std_logic_vector(abs(signed(resize(r4(calc_cnt - 2), data_ram_h'length) + r4(calc_cnt - 1) + r4(calc_cnt) + r4(calc_cnt + 1) + r4...
  • 9 votes
     answers
     views

    VHDL中mod和rem运算符之间的区别?

    我在VHDL编程中遇到了这些语句,无法理解两个运算符mod和rem之间的区别 9 mod 5 (-9) mod 5 9 mod (-5) 9 rem 5 (-9) rem 5 9 rem (-5)
  • 0 votes
     answers
     views

    VHDL信号分配没有明显的原因

    我在我的测试平台上为一个简单的2out / 1in reg文件实体编写了这个过程,这里是测试平台的相关部分:(注意 - 那些信号是std_logic_vector(X downto 0)) input : process is begin wait for 30 ns; input_adr1 <= "00000"; input_adr3 &l...
  • 0 votes
     answers
     views

    问:VHDL实现了2个简单的函数

    我正在寻找实现y = a和b的函数; y =(a或b)和(c或d) . 图书馆IEEE;使用IEEE.STD_LOGIC_1164.ALL;使用IEEE.NUMERIC_STD.ALL; entity task1_tb是 - Port(); end task1_tb;架构task1_tb的行为是 - 声明组件组件task1端口(a:在STD_LOGIC中; b:在STD_LOGIC中; y:在...
  • 0 votes
     answers
     views

    VHDL中的多维数组问题?

    我正在尝试在VHDL中使用多维数组,我在使其正常工作方面遇到了很多麻烦 . 我的问题是我有一个由16个向量组成的数组,它们具有给定大小 . 我想要做的是创建17个寄存器,这些寄存器是16位的32 * std_logic_vector数组(= b,512) . 所以,我试图在寄存器实例化中传递输入和输出的东西,告诉编译器/合成器我想要传递512位的东西......类似于C,如果我有: int var...
  • 5 votes
     answers
     views

    如何表示整数大于整数的整数

    有没有办法使用STD_LOGIC_1164或STD_NUMERIC中的预定义类型来表示0到2 ^ 32-1之间的整数? (考虑到默认的整数类型范围从-2 ^ 31-1到2 ^ 31-1) 我需要实现32位计数器,并且正在寻找一些使用整数类型而不是std_logic_vector来保存代码的方法 . 任何设计模式都适用于此? 或者,更好的问:什么是声明支持操作的32位(无符号)整数的最佳方式>...
  • 1 votes
     answers
     views

    VHDL:从整数范围属性确定位大小

    假设我有以下实体声明的通用部分: 实体示例是 Generic (G_INTEGER_A : integer range C_INT_LEFT_A to C_INT_RIGHT_A; G_INTEGER_B : integer range C_INT_LEFT_B to C_INT_RIGHT_B); Port (...) 是否有一种直接的方法来使用该整数范围属性来确定等效...
  • 0 votes
     answers
     views

    VHDL RAM 256x8位

    我需要为256x8位RAM编写VHDL代码 . 我将使用双向总线来管理读写,但我想我可以使用原理图文件来做到这一点 . 我需要的是创建RAM内存作为一个组件,但我有点挣扎,因为我得到几个代码10818错误 . 任何帮助,将不胜感激 . RAM内存应该有一个data_io端口(7 downto 0 std_logic_vector),一个地址端口(7 downto 0 std_logic_vecto...
  • 1 votes
     answers
     views

    VHDL无约束阵列的无约束阵列

    我想有一个2D数组,其中两个维度都是根据实体泛型来确定的,我想将这些在我的设计中传递到其他组件的输入/输出端口 . 简单的解决方案一直是创建一个定义了常量的包,它将在包中创建正确大小的类型......并在需要该类型的任何地方使用该包 . 问题是,当用户为Xilinx EDK实例化我的pcore时,用户可以在“Customize IP”界面中配置这些选项,这些选项将作为泛型实例化到我的设计中 . 用...
  • 0 votes
     answers
     views

    vhdl将子类型转换为活动hdl的类型

    我有一个pakcgae,其中我声明了一堆子类型和类型 . 在Active HDL中,每当我尝试从子类型中创建一个端口时似乎存在问题,所以我想知道是否有办法将它们转换为类型 . 以下是我要转换的子类型: 子类型word_t是std_logic_vector(15 downto 0); - 单词(定义) 这可能不仅仅创建一个记录类型或数组吗?谢谢
  • 2 votes
     answers
     views

    创建一个通用数组,其元素的宽度在VHDL中增加

    是否可以创建一个元素的宽度增加的数组 . 例如,假设X是一个包含10个元素的数组; X(0)是std_logic_vector(3 downto 0)X(1)是std_logic_vector(4 downto 0)...X(9)是std_logic_vector(12 downto 0)
  • 5 votes
     answers
     views

    VHDL中的组件实例化与实体实例化

    我有Verilog / SystemVerilog的经验,但我是VHDL的新手,我想弄清楚何时应该使用组件实例化或实体实例化 . 通过组件实例化,我指的是在实例化实体之前声明实体组件的传统方式 . 另一方面,使用VHDL-93引入的实体实例化允许您直接声明实体而不指定组件 . Related Article 在我看来,实体实例化始终是可取的,除非你还没有实现架构,你只想定义一个黑盒子 . 这是我...
  • 0 votes
     answers
     views

    在Vivado 2018的systemverilog测试平台中使用带阵列端口的VHDL实体

    我在systemverilog测试平台上有两个实体 . 其中一个提供了几个32位向量,我需要将它们作为向量数组连接到另一个实体 . 我在systemverilog testbench reg [31:0] fifo_D[0:7]; 上创建了一个寄存器,但无论我创建的reg的排列是什么,我都会收到错误,ERROR:[VRFC 10-717]类型为array_t的正式端口array_data与实际类...
  • 3 votes
     answers
     views

    简单的状态机问题

    我有一个非常简单的FSM,它应该驱动一些外部RAM的输出信号 . 我遇到的问题是处理数据总线,可以输入和输出...我不太确定如何在我的FSM中处理最佳情况 . 问题来自以下行: v.sram_data <= io_sram_data; 显然,左手侧是变量,而右手侧是信号 . 有一种“好的”方法如何处理FSM中的inout信号就像我拥有的那样? entity sram_fsm is ...
  • 3 votes
     answers
     views

    用VHDL编码状态机

    我正在研究用VHDL创建一个系统,该系统在通过FTDI usb到串行设备接收图像后对其进行过滤 . 作为其中的一部分,我相信我已经确定了我的CPLD应该处于的状态,但我之前从未在VHDL中创建过复杂的状态机,因此我质疑我的方法是否合理 . 目前,我的状态机的基本大纲是: begin process(clk, reset, USB_RXFN, USB_TXEN) begin ...
  • 0 votes
     answers
     views

    VHDL输出声明与状态机

    我正在尝试用VHDL编写状态机来扫描4x4键盘 . 我希望keyP在开始时和复位后设置为0 . 我还希望 Col 在开始时和复位后设置为"1111" . 因为我'm not fully versed in VHDL programming I'我确定它只是一个愚蠢的语法错误 .我得到的错误是: 错误(10818):无法在Lab_7_Keypad.vhd(39)处推断“Col ...
  • 2 votes
     answers
     views

    VHDL状态机[关闭]

    我在VHDL中写了一些代码,期望看到一个旋转开关并反馈给我它的位置 . 当它转动时,它将从转子拨盘读入greycode并将状态切换到相应的greycode状态 . 改变状态的行为告诉我转子被扭转的方式,所以我可以在电路后面的计数器模块上指示上升或下降状态 . 如果状态改变,它应该在 Mag 上触发一个脉冲,并在 up_dwn 上取消1或0 . 当我模拟它时,它不起作用 . 我在 Mag 上得到一个...
  • 2 votes
     answers
     views

    设计用于初始化的VHDL状态机

    您如何最智能地设计VHDL状态机来初始化芯片 . 我目前的设计是(伪代码): .... .... case state:当s0 => VHDL_CODE_FOR_WRITING_VALUE_TO_REGISTER state:= s1;当s1 => VHDL_CODE_FOR_WRITING_ANOTHER_VALUE_TO_REGISTER state:= s1;当s2 =>...
  • 0 votes
     answers
     views

    VHDL状态机输出不同步

    这是一个普遍的FPGA设计问题,我是FPGA设计的新手,刚刚开始了我的第一个大型项目,构建了一些不错的线性代数求解器 . 系统非常大,所以第一次正确使用非常重要 . 在成功模拟之后,我现在正在进行sythensizing,但是我有一个噩梦,我不得不逐个构建和测试它,因为它没有像在模拟中那样表现!我主要遇到输出未同步的状态机问题,例如这是我正在使用的数据加载器: entity TriDiag_Dat...
  • 1 votes
     answers
     views

    有限状态机(VHDL)反馈中的无意锁存器

    该项目是关于在FPGA板“spartan 6 lx9”上向MicroBlaze项目添加用户自定义外设核心 . 使用ISE Design Suite 14.6和EDK . 我的问题是在编写VHDL代码方面经验不足 . 我仍然在信号上获得1位无意的锁存:“data_bits”和“latest_value”从<0>直到<15>,即使我已经使用推荐的编码方式进行信号分配 . 我已经...
  • 1 votes
     answers
     views

    VHDL有限状态机 - 复位真的有必要吗?

    我还在基于Xilinx Spartan-6的定制电路板上学习VHDL以进行综合 . 我的设计包括很多FSM,我刚刚在之前的一个问题中学到了单个流程实现更好,更容易使用 . 我还了解到信号的初始化值实际上是可合成的 . 所以这里有一个问题:我是否真的需要一个复位信号来使FSM处于空闲状态并使用默认输出, IF 我不需要中断FSM中间流程或者我已经有另一个信号阻止了它?
  • 2 votes
     answers
     views

    有限状态机VHDL复位

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

热门问题