input i_wrdata1[8] ;
input i_wrdata2[8] ;
-
- func_in fi_fifo1_write( i_wrdata1 ) ;
- func_in fi_fifo2_write( i_wrdata2 ) ;
- func_in fi_fifo1_reset() ;
- func_in fi_fifo2_reset() ;
+ input i_wradrs1[8] ;
+ input i_wradrs2[8] ;
+
+ func_in fi_fifo1_write( i_wradrs1, i_wrdata1 ) ;
+ func_in fi_fifo2_write( i_wradrs2, i_wrdata2 ) ;
output outled ;
output o_vcnt[10] ;
func_self fs_fifo1_exec() ;
func_self fs_fifo2_exec() ;
+ func_self fs_fifo1_reset() ;
+ func_self fs_fifo2_reset() ;
+
reg r_bit_number[5] = 0 ;
reg r_vsync = 0 ;
reg testled = 0 ;
reg r_outcnt[3] = 0 ;
reg r_outclr[7] = 0 ;
+ reg r_vcnt_hld = 0 ;
wire w_rddata1[24] ;
wire w_rddata2[24] ;
+ reg r_rdadrs1[8] = 0 ;
+ reg r_rdadrs2[8] = 0 ;
+
vga_ram u_FIFO ;
{
u_FIFO.i_we1 = fi_fifo1_write ;
u_FIFO.i_we2 = fi_fifo2_write ;
- u_FIFO.i_wdata1 = i_wrdata1 ;
- u_FIFO.i_wdata2 = i_wrdata2 ;
- u_FIFO.i_fifo1_rst = fi_fifo1_reset ;
- u_FIFO.i_fifo2_rst = fi_fifo2_reset ;
+ u_FIFO.i_wrdata1 = i_wrdata1 ;
+ u_FIFO.i_wrdata2 = i_wrdata2 ;
+ u_FIFO.i_wradrs1 = i_wradrs1 ;
+ u_FIFO.i_wradrs2 = i_wradrs2 ;
u_FIFO.i_re1 = fs_fifo1_read ;
u_FIFO.i_re2 = fs_fifo2_read ;
w_rddata1 = u_FIFO.o_rddata1 ;
w_rddata2 = u_FIFO.o_rddata2 ;
+ u_FIFO.i_rdadrs1 = r_rdadrs1 ;
+ u_FIFO.i_rdadrs2 = r_rdadrs2 ;
o_vcnt = r_vcnt ;
+ r_vcnt_hld := r_vcnt[0] ;
+
/* LED test */
outled = testled ;
o_vsync = r_vsync ;
o_hsync = r_hsync ;
+ any {
+ ~r_vcnt_hld & r_vcnt[0] : {
+ fs_fifo1_reset() ;
+ }
+ r_vcnt_hld & ~r_vcnt[0] : {
+ fs_fifo2_reset() ;
+ }
+ }
+
/* test led count routine */
any {
cnt == VCNT_1SEC : {
}
}
+ // HACTMAX640 VACTMAX480
if( ( r_hcnt < H_ACT_MAX ) && ( r_vcnt < V_ACT_MAX ) ) {
any {
}
}
+
+ func fs_fifo1_read {
+ r_rdadrs1 := r_rdadrs1 + 8'd3 ;
+ }
+
+ func fs_fifo2_read {
+ r_rdadrs2 := r_rdadrs2 + 8'd3 ;
+ }
+
+ func fs_fifo1_reset {
+ r_rdadrs1 := 8'd0 ;
+ }
+
+ func fs_fifo2_reset {
+ r_rdadrs2 := 8'd0 ;
+ }
} //module end
\ No newline at end of file