FC2ブログ

[VEEK]カメラの映像を表示したい(12)(MMC用SGDMAディスクリプタ不具合)

SDMMC->SDRAMへのSGDMA転送において、ディスクリプタチェーン作成時不具合。
NEEKで成功した時は、STATUSレジスタbit2のDESCRIPTOR_COMPLETED=Hを
ポーリングする箇所。
ここで止まるのでSTATUSレジスタ値調べるとbit3の方がCHAIN_COMPLETED=H
になってる。NEEKで成功した時と何が違うかデバッグ中。

ModelSimでの解析に期待して見る。
Sim前に変更した箇所は以下。(前にも同様の事書いたけど)

1つ目は、NiosIIカスタム命令YUV2RGBで使う乗算器回路をvlogしてくれないので
以下ファイルに次の一行を挿入。
■DE2-115_sys_builder/software/de2_115/obj/default/runtime/sim/mentor/msim_setup.tcl
vlog "C:/user/work/veek/DE2-115_sys_builder/MUL_9x9.v" -work DE2_115_tb_custom_inst_yuv2rgb_0


2つ目はテストベンチ内に、PLL/areset端子をリセットする記述を追記。
■DE2-115_sys_builder/DE2_115/testbench/DE2_115_tb/simulation/DE2_115_tb.v
integer i ;
reg pll_areset ;
wire clk_pixel_out_clk;

DE2_115 de2_115_inst (
.clk_pixel_out_clk (clk_pixel_out_clk),
.altpll_0_areset_export(pll_areset),

initial begin
pll_areset = 1'b1 ;
for (i=0; i<10; i=i+1) @(posedge de2_115_inst_clk_bfm_clk_clk) ;
pll_areset = 1'b0 ;
end



これでModelSim起動すると、20.2msくらいで以下エラーでストップする。
とりあえずメモ。まずは実機でデバッグして行く。

# Warning: read_during_write_mode_mixed_ports is assumed as OLD_DATA
# Time: 0 Instance: DE2_115_tb.de2_115_inst.nios2_0.n01i0Ol
# Warning: read_during_write_mode_mixed_ports is assumed as OLD_DATA
# Time: 0 Instance: DE2_115_tb.de2_115_inst.nios2_0.n01ii0l
# Warning! Number of metastability protection registers is not specified. Based on the parameter value CLOCKS_ARE_SYNCHRONIZED=FALSE, the synchronization register chain length between read and write clock domains will be 2.
# Time: 0 Instance: DE2_115_tb.de2_115_inst.pixel_fifo.the_dcfifo_with_controls.the_dcfifo.dual_clock_fifo.DCFIFO_MW
# ** Warning: (vsim-3534) [FOFIR] - Failed to open file "../DE2_115_sgdma_mmc_desc.hex" for reading.
# No such file or directory. (errno = ENOENT) : C:/altera/11.1sp1/modelsim_ase/win32aloem/../altera/verilog/src/altera_mf.v(782)
# Time: 0 ps Iteration: 0 Instance: /DE2_115_tb/de2_115_inst/sgdma_mmc_desc/the_altsyncram
# ERROR: cannot read ../DE2_115_sgdma_mmc_desc.hex.
# ** Warning: (vsim-7) Failed to open readmem file "../DE2_115_sgdma_mmc_desc.ver" in read mode.
# No such file or directory. (errno = ENOENT) : C:/altera/11.1sp1/modelsim_ase/win32aloem/../altera/verilog/src/altera_mf.v(45222)
# Time: 0 ps Iteration: 0 Instance: /DE2_115_tb/de2_115_inst/sgdma_mmc_desc/the_altsyncram
# Warning: read_during_write_mode_mixed_ports is assumed as OLD_DATA
# Time: 0 Instance: DE2_115_tb.de2_115_inst.mmc_spi_0.SDIF_MEM_inst.altsyncram_component
# 0: INFO: DE2_115_tb.de2_115_inst_clk_bfm.__hello: - Hello from altera_clock_source.
# 0: INFO: DE2_115_tb.de2_115_inst_clk_bfm.__hello: - $Revision: #1 $
# 0: INFO: DE2_115_tb.de2_115_inst_clk_bfm.__hello: - $Date: 2011/09/26 $
# 0: INFO: DE2_115_tb.de2_115_inst_clk_bfm.__hello: - CLOCK_RATE = 50
# 0: INFO: ------------------------------------------------------------
# 0: INFO: DE2_115_tb.de2_115_inst_reset_bfm.__hello: - Hello from altera_reset_source
# 0: INFO: DE2_115_tb.de2_115_inst_reset_bfm.__hello: - $Revision: #1 $
# 0: INFO: DE2_115_tb.de2_115_inst_reset_bfm.__hello: - $Date: 2011/09/26 $
# 0: INFO: DE2_115_tb.de2_115_inst_reset_bfm.__hello: - ASSERT_HIGH_RESET = 0
# 0: INFO: DE2_115_tb.de2_115_inst_reset_bfm.__hello: - INITIAL_RESET_CYCLES = 50
# 0: INFO: ------------------------------------------------------------
# 0: INFO: DE2_115_tb.de2_115_inst_reset_bfm.reset_assert: Reset asserted
#
# ************************************************************
# This testbench includes an SOPC Builder Generated Altera model:
# 'altera_sdram_partner_module.v', to simulate accesses to SDRAM.
# Initial contents are loaded from the file: 'altera_sdram_partner_module.dat'.
# ************************************************************
# 0: INFO: DE2_115_tb.sdram_my_partner_clk_bfm.__hello: - Hello from altera_clock_source.
# 0: INFO: DE2_115_tb.sdram_my_partner_clk_bfm.__hello: - $Revision: #1 $
# 0: INFO: DE2_115_tb.sdram_my_partner_clk_bfm.__hello: - $Date: 2011/09/26 $
# 0: INFO: DE2_115_tb.sdram_my_partner_clk_bfm.__hello: - CLOCK_RATE = 40
# 0: INFO: ------------------------------------------------------------
# Note : Cycloneive PLL was reset
# Time: 0 Instance: DE2_115_tb.de2_115_inst.altpll_0.de2_115_altpll_0_de2_115_altpll_0_altpll_94o2_sd1_cycloneive_pll_pll7_149
# Note : Cycloneive PLL locked to incoming clock
# Time: 250000 Instance: DE2_115_tb.de2_115_inst.altpll_0.de2_115_altpll_0_de2_115_altpll_0_altpll_94o2_sd1_cycloneive_pll_pll7_149
# 990000: INFO: DE2_115_tb.de2_115_inst_reset_bfm.reset_deassert: Reset deasserted
# 20268165 ns: WARNING: DE2_115_nios2_0_test_bench/A_wr_data_unfiltered is 'x'
# 20268240 ns: WARNING: DE2_115_nios2_0_test_bench/A_wr_data_unfiltered is 'x'
# 20268465 ns: WARNING: DE2_115_nios2_0_test_bench/A_wr_data_unfiltered is 'x'
# 20268490 ns: ERROR: DE2_115_nios2_0_test_bench/E_valid is 'x'
# Break in Module DE2_115_nios2_0_test_bench at C:/user/work/veek/DE2-115_sys_builder/DE2_115/testbench/DE2_115_tb/simulation/submodules/DE2_115_nios2_0_test_bench.v line 614




SD to SDRAM用SGDMA設定見直し、修正したが、LCD画面のチラチラは変わらず。
SDRAM to LCD用SGDMA設定の方も見直す。
カレンダー
12 | 2012/01 | 02
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード