我正在模拟基于处理器的设计,其中程序存储器内容保存在BRAM中.我正在使用VHDL(推断BRAM)实现程序存储器.我试图避免使用CoreGen,因为我想保持设计的可移植性.最终这个设计将转到FPGA.
我想看看是否有办法使用VHDL泛型初始化BRAM的内存内容?我知道Coregen使用COE文件来初始化BRAM但是我们有基于VHDL代码的方法吗?
让我知道您的替代建议.
我刚买了一块新板.
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,836&Prod=ATLYS
如您所见,我在主板上有两个HDMI输入和两个HDMI输出.
我想要做的是采取一个HDMI输入并对1080p信号执行一些变换.具体来说,我想让屏幕中心的像素稍微不那么明亮,屏幕边缘的像素更亮.然后将此新信号输出到其中一个HDMI输出端口.
我真的不知道怎么做 - 我对FPGA设计很陌生.
我需要获得一些IP,还是我可以使用标准工具自己完成?我有Xilinx ISE webpack.
非常感谢任何见解,
我希望制作一个 FPGA(或类似的)物理原型,但包括一个小型触摸屏显示器。
(想象一个 2" 或类似的触摸屏显示器。例如,假设某种带有小型触摸屏显示器的小型电池供电玩具。)
今天最好的解决方案是什么?
我正在使用赛灵思的 vivado 进行 verilog 编程。
我想知道为什么我们使用某些输出 reg
例如,reg [3:0] encoder_output
我们使用它是因为我们的 16 到 4 编码器有 4 个输出,对吗?我假设我们使用reg
在需要“存储一些东西”时使用
我的想法对吗??
就上下文而言,对驱动程序进行编程以与Xilinx板上的嵌入式Linux(Yocto:krogoth)上的FPGA IP内核进行交互。
为了调试,我想从物理内存中读取特定的内存地址。/ dev / mem看起来很有希望。我想问一下如何从命令行中读取特定物理内存地址的值。我希望可以cat /dev/mem 0x2000000
通过读取0x2000000字节的内容。
Xilinx FPGA中"切片寄存器"和"切片LUT"之间有什么区别?
例如,为什么切片寄存器的数量等于Vertix 5中切片LUT的数量,但切片寄存器的数量是Vertix 6和Vertix 7中切片LUT数量的两倍?
所以我遇到了一些我必须复制的旧代码,但它不能用新的Xilinx编译器进行编译,因此我需要弄清楚它的作用.我有这样的事情:
if rising_edge(clk) then
—do some things
if rising_edge(clk) then
—do some other things
end if
end if
Run Code Online (Sandbox Code Playgroud)
是否需要2个时钟周期才能到达内部if语句,或者第二个if语句是多余的?
此外,Xilinx给出了错误:"信号的逻辑由时钟控制,但似乎不是有效的顺序描述"
谢谢,任何帮助表示赞赏.
我怎么解决这个问题?reg 变量定义为:
signal reg:STD_LOGIC_VECTOR(7 downto 0):="00000001";
Run Code Online (Sandbox Code Playgroud)
下面代码中ror操作有问题。错误信息是:
Line 109: Syntax error near "ror".
Line 108: found '0' definitions of operator "=", cannot determine exact overloaded matching definition for "="
Run Code Online (Sandbox Code Playgroud)
--
process(clk1,up_down,enable,reset)
begin
if up_down="1" then
reg ror 1;
end if;
end process;
Run Code Online (Sandbox Code Playgroud)