jahero
发表于 2011-11-1 23:07:42
3 always@(b or d or f)
begin
a=b;
c=d;
e=f;(顺序执行)
end
这个always块 内部不是a=b执行完了再c=d再e=f么,如果我f变了但b和d没变是不是也得等a=b,c=d执行完了才能执行e=f,不能直接执行e=f?
夏宇闻
发表于 2011-11-2 15:33:39
夏老师好
1 为什么组合电路推荐用阻塞赋值,不用的话会产生什么害处么?
2 always@(*)
begin
...
jahero 发表于 2011-11-1 23:03 http://www.fpgaw.com/images/common/back.gif
组合逻辑应该用阻塞赋值,在您的程序中赋值先后并不重要,因为各变量赋各自的值,而且也没有延迟。但通常的组合逻辑赋值有先后关系例如:c=a&b;d=e|f|c;设想这两句在一个always(*)中,如果前面一句与后一句同时执行,d的值应该怎样求得?对您的特例用什么赋值都一样。但一般场合,情况很不一样。您应该认真读书好好想一想。
夏宇闻
发表于 2011-11-2 15:37:29
3 always@(b or d or f)
begin
a=b;
c=d;
e=f;(顺序执行)
end
这个alwa ...
jahero 发表于 2011-11-1 23:07 http://www.fpgaw.com/images/common/back.gif
不是的,因为敏感电平列表中有f。所以当f发生变化,立即触发该块,再从上到下依次赋值一遍。
ccs
发表于 2011-11-2 19:25:38
我想把一个固定的数据表放在FPGA里面,请问怎么整?放在配置芯片里面的话怎么弄呢?
夏宇闻
发表于 2011-11-3 07:11:55
本帖最后由 夏宇闻 于 2011-11-3 07:14 编辑
我想把一个固定的数据表放在FPGA里面,请问怎么整?放在配置芯片里面的话怎么弄呢?
ccs 发表于 2011-11-2 19:25 http://www.fpgaw.com/images/common/back.gif
在实例引用片内ROM参数化模块时配置,其内容设置的具体操作与工具有关。进入工具菜单后就能明白。
jahero
发表于 2011-11-3 23:28:33
fpga到底能设计主频为多高速率的电路呢?是不是设计的电路都不能超过fpga的pll倍频后的最大频率呢?
夏宇闻
发表于 2011-11-4 06:20:32
fpga到底能设计主频为多高速率的电路呢?是不是设计的电路都不能超过fpga的pll倍频后的最大频率呢?
jahero 发表于 2011-11-3 23:28 http://www.fpgaw.com/images/common/back.gif
是的,您的回答十分准确。
jahero
发表于 2011-11-4 15:03:50
回复 147# 夏宇闻
是不是上g赫兹的电路设计 fpga就无能为力了?
TCL
发表于 2011-11-5 06:34:21
FPGA I/O引脚分配
我现在想做一个开发板 用EP3C120F780,引脚数太多,如何分配引脚才能使走线好,画PCB好画,外部存储器准备采用64M 的SDRAM,这个引脚分配有什么技巧啊
jiezhouliping
发表于 2011-11-5 12:20:07
夏老师您好!
这个学期我选了数字系统设计这门课,老师最近布置了这样一个题目,我实在看不懂,请教一下您,希望您能百忙之中帮我解释一下其中的奥妙。
Part V
添加到您的电路从第IV部另一个模块称为port_n,允许处理器来读取主板上的一些开关的状态。开关值应存放到一个寄存器,处理器应该能够读取该寄存器使用LD指令。你将不得不使用地址译码和多路复用器,以允许处理器读取RAM或port_n单位,根据所使用的地址。
1。绘制电路图显示port_n单位如何被纳入系统。
2。创建Quartus II工程为您的电路,编写Verilog代码,并写入一个MIF文件,演示使用的port_n模块。一个有趣的应用是处理器滚动消息 - 横跨7段显示器,并使用从port_n模块读取的值来改变的消息是滚动的速度。
3。使用功能仿真和下载,并在DE2开发板上执行处理器的代码,测试你的电路。
推荐奖金部件
以下是这次演习的奖金部分建议。
1。使用Quartus II工具来识别处理器电路中的关键路径。修改处理器的设计,使电路在最高时钟频率运作,就可以实现。
2。扩展你的处理器的支持,以使其更加灵活的指示。一些建议的指令类型逻辑指令(AND,OR等),移位指令和分支指令。您可能还希望添加为“零”mvnz支持,并像其他的逻辑条件的支持。
3。写你的处理器的汇编程序。它应该会自动产生一个MIF文件汇编代码。