作者sasako (smile~^^)
站内Electronics
标题Re: [问题] quartus II 的问题
时间Sun Feb 11 19:16:06 2007
※ 引述《invalid (everlasting)》之铭言:
: 顺便建议一下你的code,latch应该是可以避免的
: 简单来说要避免latch,只要把所有可能发生的情况都列出来就好了
: (没有变化的话写A<=A也好,就是不要不要写)
: 还有combination block的话sensitivity list要写完全
: (所以我比较喜欢用assign)
: ※ 引述《Trai (Trai)》之铭言:
: : ========================================================
: : always @(posedge IO_nWE)
: : begin
: : if(IO_nECS3==0)
: : case(io_addr)
: : 16'h0000: buffer[0][31:16] <= io_data;
: : 16'h0001: buffer[0][15:0] <= io_data;
: : 16'h0002: buffer[1][31:16] <= io_data;
: : 16'h0003: buffer[1][15:0] <= io_data;
: : 16'h0004: buffer[2][31:16] <= io_data;
: : 16'h0005: buffer[2][15:0] <= io_data;
: : .........etc
: 这边要记得加上default(除非你所有的case都有指定)
: 也要记的加上else ( for if)
其实若是这边表达的是一个flip flop其实可以不用default...
因为我不知道IO_nWE是什麽?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.103.42
1F:→ Trai:IO_nWE 是版子上BUS的讯号,data 与 address ready时 02/11 21:41
2F:→ Trai:用这个讯号1->0 通知FPGA把资料读入 02/11 21:42
3F:→ duffrose:我的直觉是把32个16bit的reg分开来写,一定会OK的。 02/11 23:25
4F:→ duffrose:之前你也有提到「固定」的方式OK,我说的就是一样的东西 02/11 23:27
5F:→ Trai:好 我试试看 02/12 01:35
6F:→ Trai:可是如果要将32组资料循序送入 那我还是需要一个counter 02/12 01:36
7F:→ Trai:来控制MUX去选择Register 02/12 01:37
8F:推 Aragom:不太清楚原po的Bus送讯号的时序图,但是我猜一个clk周期最 02/13 00:45
9F:→ Aragom:多也只会有一笔data是ready的,这时候,强烈建议将buffer那 02/13 00:46
10F:→ Aragom:部分的code改成用posedge clk这种同步电路来实现,同时注意 02/13 00:46
11F:→ Aragom:而buffer之read/write的index不要出现有overflow/underflow 02/13 00:47
12F:→ Aragom:我猜想原po的运算电路OPA/OPB应该都是同步电路从buf抓资料 02/13 00:48