是内部的存储器允许在FPGA

S

samuel_raja_77

Guest
我需要在我的设计
, 内存有可能有一些在FPGA内部存储器或1万
, 我们只需要外部存储器........我使用Xilinx版本8.1i版和设备是我选择的Virtex -二亲的XC2VP7它有11,088个逻辑单元
792投寄挂号(千位)44(18X18)乘数...........帮我一些建议
最后由samuel_raja_77编辑于2006年10月4日12点19分,编辑1次共

 
是的
, 我认为,u可以使用勃拉姆斯(如果他们足够的回合设计)。其实他们正在利用这些目的。你甚至可以使用一些类型的ROM存储器他们。如果你初始化数据与UR他们不断。

 
1.Does这些ROM和RAM的需要作为一个单独的模块
, 即codded .........如果我有2K的RAM是严谨作为一个单独的模块或者我可以使用它们放置在我已经现有的模块与另一个always块......
2.if我在模块内的另一个always块........它如何获取请帮助...在确定一些建议,.........设计我的RAM .......

 
您可以使用您的模块。
首先声明一个需要size.Then章声明一个指针
, 可以读取或写入memory.When书面增加内存在每个时钟边沿指针。
例如

写作
投入;
夏威[0:1023];
总是@(posedge时钟)
开始
i =我一;
夏威[一] =的;
末端

要阅读简单点
, 夏威[34]或其他位置。

 
这样,人们就已经在内存初始化HDL设计作为数组
或使用单独的内存也在开发工具包中提供

纠正我
, 如果我错了
, 请:)

 
您可以使用投寄挂号或者如果您在您的设计
, 您可以作为内存使用
, 以及额外的LUT

 
投寄挂号可在FPGA。但行为级描述将无法工作。暂指mannul

 
你在这种情况下充分的随意性。
你可以作为MY_RAM单独的模块
, 并定义就像一个外部RAM其行为
, 并进入其港口。
或U可以定义在你的设计很简单的RAM。例如一个双端口BRAM我们有:

进程(<clock>)
开始
如果(<clock>'事件和<clock> = '1'),那么
如果(<enableA> = '1'),那么
如果(<write_enableA> = '1'),那么
<ram_name>(conv_integer(<addressA>))“= <input_dataA>;
如果结束;
<ram_outputA>“= <ram_name>(conv_integer(<addressA>));
<ram_outputB>“= <ram_name>(conv_integer(<addressB>));
如果结束;
如果结束;
结束进程;从现在起,如果u想读smthing从指定的地址,你必须调整“addressA”与intrested【发表时间
, 然后把“enableA”信号'1'。请求的数据已准备好就“ram_outputA”下一次时钟边沿。如果你想写somthing提供addreassA和intrested数据input_dataA,然后放在“write_enableA”信号.... '1'

 

Welcome to EDABoard.com

Sponsor

Back
Top