mirror of
https://github.com/marqs85/ossc
synced 2025-08-05 06:51:12 +03:00
Compare commits
8 Commits
3abd3d7ec0
...
21f8bc5406
Author | SHA1 | Date | |
---|---|---|---|
![]() |
21f8bc5406 | ||
![]() |
41549e0957 | ||
![]() |
8ed64b5cba | ||
![]() |
933dbbaa75 | ||
![]() |
6b554e4088 | ||
![]() |
9f0c62c80a | ||
![]() |
8f779136fa | ||
![]() |
c572fb651a |
5
.gitignore
vendored
5
.gitignore
vendored
@ -23,3 +23,8 @@ software/sys_controller/sys_controller.map
|
|||||||
software/sys_controller/sys_controller.elf
|
software/sys_controller/sys_controller.elf
|
||||||
.qsys_edit/*
|
.qsys_edit/*
|
||||||
PLLJ_PLLSPE_INFO.txt
|
PLLJ_PLLSPE_INFO.txt
|
||||||
|
tools/bin2hex
|
||||||
|
software/sys_controller_bsp/bsp_timestamp
|
||||||
|
*.a
|
||||||
|
software/sys_controller/mem_init/sys_onchip_memory2_0.bin
|
||||||
|
software/sys_controller/mem_init/sys_onchip_memory2_0.hex
|
@ -67,7 +67,6 @@ make [OPTIONS] [TARGET]
|
|||||||
~~~~
|
~~~~
|
||||||
OPTIONS may include following definitions:
|
OPTIONS may include following definitions:
|
||||||
* OSDLANG=JP (Japanese language menu)
|
* OSDLANG=JP (Japanese language menu)
|
||||||
* ENABLE_AUDIO=y (Includes audio setup code for v1.6 PCB / DIY audio add-on board)
|
|
||||||
|
|
||||||
TARGET is typically one of the following:
|
TARGET is typically one of the following:
|
||||||
* all (Default target. Compiles an ELF file)
|
* all (Default target. Compiles an ELF file)
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 95fd422a056dcbb63f535c04f5eb5e54f78cd99d
|
Subproject commit 80569615842bf4e82f8efdef7c4937b0d9e0141e
|
17
rtl/ossc.v
17
rtl/ossc.v
@ -95,8 +95,9 @@ wire pclk_out = PCLK_sc;
|
|||||||
|
|
||||||
reg [7:0] po_reset_ctr = 0;
|
reg [7:0] po_reset_ctr = 0;
|
||||||
reg po_reset_n = 1'b0;
|
reg po_reset_n = 1'b0;
|
||||||
wire jtagm_reset_req;
|
wire jtagm_reset_req, ndmreset_req;
|
||||||
wire sys_reset_n = (po_reset_n & ~jtagm_reset_req);
|
reg ndmreset_ack, ndmreset_pulse;
|
||||||
|
wire sys_reset_n = (po_reset_n & ~jtagm_reset_req & ~ndmreset_pulse);
|
||||||
|
|
||||||
reg [7:0] TVP_R, TVP_G, TVP_B;
|
reg [7:0] TVP_R, TVP_G, TVP_B;
|
||||||
reg TVP_HS, TVP_VS, TVP_FID;
|
reg TVP_HS, TVP_VS, TVP_FID;
|
||||||
@ -240,6 +241,13 @@ begin
|
|||||||
po_reset_ctr <= po_reset_ctr + 1'b1;
|
po_reset_ctr <= po_reset_ctr + 1'b1;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
// ndmreset pulse & ack for RISC-V DM
|
||||||
|
always @(posedge clk27)
|
||||||
|
begin
|
||||||
|
ndmreset_pulse <= !ndmreset_ack & ndmreset_req;
|
||||||
|
ndmreset_ack <= ndmreset_req;
|
||||||
|
end
|
||||||
|
|
||||||
// Sync vsync flag to CPU clock
|
// Sync vsync flag to CPU clock
|
||||||
always @(posedge clk27) begin
|
always @(posedge clk27) begin
|
||||||
{vsync_flag_sync1_reg, vsync_flag_sync2_reg} <= {~VSYNC_sc, vsync_flag_sync1_reg};
|
{vsync_flag_sync1_reg, vsync_flag_sync2_reg} <= {~VSYNC_sc, vsync_flag_sync1_reg};
|
||||||
@ -364,7 +372,10 @@ defparam
|
|||||||
|
|
||||||
sys sys_inst(
|
sys sys_inst(
|
||||||
.clk_clk (clk27),
|
.clk_clk (clk27),
|
||||||
.reset_reset_n (sys_reset_n),
|
.reset_sys_reset_n (sys_reset_n),
|
||||||
|
.reset_po_reset_n (po_reset_n),
|
||||||
|
.ibex_0_ndm_ndmreset_o (ndmreset_req),
|
||||||
|
.ibex_0_ndm_ndmreset_ack_i (ndmreset_ack),
|
||||||
.ibex_0_config_boot_addr_i (32'h02080000),
|
.ibex_0_config_boot_addr_i (32'h02080000),
|
||||||
.ibex_0_config_core_sleep_o (),
|
.ibex_0_config_core_sleep_o (),
|
||||||
.master_0_master_reset_reset (jtagm_reset_req),
|
.master_0_master_reset_reset (jtagm_reset_req),
|
||||||
|
29
scripts/rv-ndmreset.tcl
Normal file
29
scripts/rv-ndmreset.tcl
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#Select the master service type and check for available service paths.
|
||||||
|
while 1 {
|
||||||
|
set service_paths [get_service_paths master]
|
||||||
|
if {[llength $service_paths] > 0} {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
puts "Refreshing connections..."
|
||||||
|
refresh_connections
|
||||||
|
after 100
|
||||||
|
}
|
||||||
|
|
||||||
|
#Set the master service path.
|
||||||
|
set master_service_path [lindex $service_paths 0]
|
||||||
|
|
||||||
|
#Open the master service.
|
||||||
|
set claim_path [claim_service master $master_service_path mylib]
|
||||||
|
|
||||||
|
puts "Halting CPU"
|
||||||
|
master_write_32 $claim_path 0x40 0x00000001
|
||||||
|
master_write_32 $claim_path 0x40 0x80000001
|
||||||
|
|
||||||
|
puts "Resetting system"
|
||||||
|
master_write_32 $claim_path 0x40 0x00000003
|
||||||
|
after 1
|
||||||
|
master_write_32 $claim_path 0x40 0x00000001
|
||||||
|
master_write_32 $claim_path 0x40 0x00000000
|
||||||
|
|
||||||
|
close_service master $claim_path
|
||||||
|
puts "Done"
|
@ -15,9 +15,8 @@ set master_service_path [lindex $service_paths 0]
|
|||||||
#Open the master service.
|
#Open the master service.
|
||||||
set claim_path [claim_service master $master_service_path mylib]
|
set claim_path [claim_service master $master_service_path mylib]
|
||||||
|
|
||||||
puts "Halting CPU"
|
puts "Halting CPU via sleep"
|
||||||
master_write_32 $claim_path 0x40 0x00000001
|
master_write_32 $claim_path 0x200 0x00000002
|
||||||
master_write_32 $claim_path 0x40 0x80000001
|
|
||||||
|
|
||||||
close_service master $claim_path
|
close_service master $claim_path
|
||||||
|
|
||||||
|
@ -79,13 +79,11 @@ for {set i 0} {$i<$chunks} {incr i} {
|
|||||||
#master_read_to_file $claim_path mem_init/flash_readback.bin $flash_imem_base $bin_size
|
#master_read_to_file $claim_path mem_init/flash_readback.bin $flash_imem_base $bin_size
|
||||||
#master_read_to_file $claim_path mem_init/ram_readback.bin 0x010000 65536
|
#master_read_to_file $claim_path mem_init/ram_readback.bin 0x010000 65536
|
||||||
|
|
||||||
close_service master $claim_path
|
|
||||||
|
|
||||||
|
|
||||||
set jtag_debug_list [get_service_paths jtag_debug]
|
|
||||||
set jd [ lindex $jtag_debug_list 0 ]
|
|
||||||
open_service jtag_debug $jd
|
|
||||||
puts "Resetting system"
|
puts "Resetting system"
|
||||||
jtag_debug_reset_system $jd
|
master_write_32 $claim_path 0x40 0x00000003
|
||||||
close_service jtag_debug $jd
|
after 1
|
||||||
|
master_write_32 $claim_path 0x40 0x00000001
|
||||||
|
master_write_32 $claim_path 0x40 0x00000000
|
||||||
|
|
||||||
|
close_service master $claim_path
|
||||||
puts "Done"
|
puts "Done"
|
@ -1,5 +1,87 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<CodeLite_Project Name="ossc_sw" InternalType="" Version="11000">
|
<CodeLite_Project Name="ossc_sw" InternalType="" Version="11000">
|
||||||
|
<VirtualDirectory Name="sys_controller">
|
||||||
|
<File Name="sys_controller/av_controller.c"/>
|
||||||
|
<VirtualDirectory Name="src">
|
||||||
|
<File Name="sys_controller/src/sdcard.c"/>
|
||||||
|
<File Name="sys_controller/src/firmware.c"/>
|
||||||
|
<File Name="sys_controller/src/controls.c"/>
|
||||||
|
<File Name="sys_controller/src/avconfig.c"/>
|
||||||
|
<File Name="sys_controller/src/userdata.c"/>
|
||||||
|
<File Name="sys_controller/src/flash.c"/>
|
||||||
|
<File Name="sys_controller/src/menu.c"/>
|
||||||
|
<File Name="sys_controller/src/utils.c"/>
|
||||||
|
<File Name="sys_controller/src/video_modes_list.c"/>
|
||||||
|
<File Name="sys_controller/src/video_modes.c"/>
|
||||||
|
<File Name="sys_controller/src/fat16_export.c"/>
|
||||||
|
<File Name="sys_controller/src/lcd.c"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="ic_drivers">
|
||||||
|
<VirtualDirectory Name="pcm1862">
|
||||||
|
<File Name="sys_controller/ic_drivers/pcm1862/pcm1862_regs.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/pcm1862/pcm1862.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/pcm1862/pcm1862.h"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="st7032">
|
||||||
|
<File Name="sys_controller/ic_drivers/st7032/st7032.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/st7032/st7032.h"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="tvp7002">
|
||||||
|
<File Name="sys_controller/ic_drivers/tvp7002/tvp7002.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/tvp7002/tvp7002.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/tvp7002/tvp7002_regs.h"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="it6613">
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/typedef.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/edid.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/it6613_sys.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/it6613.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/hdmitx.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/HDMI_COMMON.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/it6613_sys.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/EDID.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/hdmitx_nios2.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/it6613_drv.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/it6613.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/HDMI_TX.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/HDMI_TX.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/it6613/it6613_drv.c"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="sh1107">
|
||||||
|
<File Name="sys_controller/ic_drivers/sh1107/font12.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/sh1107/sh1107.h"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/sh1107/sh1107.c"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="ths7353">
|
||||||
|
<File Name="sys_controller/ic_drivers/ths7353/ths7353.c"/>
|
||||||
|
<File Name="sys_controller/ic_drivers/ths7353/ths7353.h"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="ulibSD">
|
||||||
|
<File Name="sys_controller/ulibSD/sd_io.c"/>
|
||||||
|
<File Name="sys_controller/ulibSD/integer.h"/>
|
||||||
|
<File Name="sys_controller/ulibSD/spi_io.c"/>
|
||||||
|
<File Name="sys_controller/ulibSD/sd_io.h"/>
|
||||||
|
<File Name="sys_controller/ulibSD/spi_io.h"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="inc">
|
||||||
|
<File Name="sys_controller/inc/firmware.h"/>
|
||||||
|
<File Name="sys_controller/inc/controls.h"/>
|
||||||
|
<File Name="sys_controller/inc/av_controller.h"/>
|
||||||
|
<File Name="sys_controller/inc/menu.h"/>
|
||||||
|
<File Name="sys_controller/inc/sdcard.h"/>
|
||||||
|
<File Name="sys_controller/inc/utils.h"/>
|
||||||
|
<File Name="sys_controller/inc/avconfig.h"/>
|
||||||
|
<File Name="sys_controller/inc/video_modes.h"/>
|
||||||
|
<File Name="sys_controller/inc/fat16_export.h"/>
|
||||||
|
<File Name="sys_controller/inc/flash.h"/>
|
||||||
|
<File Name="sys_controller/inc/userdata.h"/>
|
||||||
|
<File Name="sys_controller/inc/lcd.h"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
<VirtualDirectory Name="config">
|
||||||
|
<File Name="sys_controller/config/sysconfig.h"/>
|
||||||
|
</VirtualDirectory>
|
||||||
|
</VirtualDirectory>
|
||||||
<Plugins>
|
<Plugins>
|
||||||
<Plugin Name="qmake">
|
<Plugin Name="qmake">
|
||||||
<![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
|
<![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
|
||||||
@ -33,77 +115,8 @@
|
|||||||
<Extensions>
|
<Extensions>
|
||||||
<![CDATA[*.cpp;*.c;*.h;*.hpp;*.xrc;*.wxcp;*.fbp]]>
|
<![CDATA[*.cpp;*.c;*.h;*.hpp;*.xrc;*.wxcp;*.fbp]]>
|
||||||
</Extensions>
|
</Extensions>
|
||||||
<Topleveldir>./</Topleveldir>
|
<Topleveldir>/home/markus/Code/ossc/software/</Topleveldir>
|
||||||
</Reconciliation>
|
</Reconciliation>
|
||||||
<VirtualDirectory Name="sys_controller">
|
|
||||||
<VirtualDirectory Name="ths7353">
|
|
||||||
<File Name="sys_controller/ths7353/ths7353.h"/>
|
|
||||||
<File Name="sys_controller/ths7353/ths7353.c"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<VirtualDirectory Name="it6613">
|
|
||||||
<File Name="sys_controller/it6613/it6613_drv.c"/>
|
|
||||||
<File Name="sys_controller/it6613/HDMI_TX.c"/>
|
|
||||||
<File Name="sys_controller/it6613/HDMI_TX.h"/>
|
|
||||||
<File Name="sys_controller/it6613/it6613.c"/>
|
|
||||||
<File Name="sys_controller/it6613/it6613_drv.h"/>
|
|
||||||
<File Name="sys_controller/it6613/hdmitx_nios2.c"/>
|
|
||||||
<File Name="sys_controller/it6613/EDID.c"/>
|
|
||||||
<File Name="sys_controller/it6613/it6613_sys.h"/>
|
|
||||||
<File Name="sys_controller/it6613/HDMI_COMMON.h"/>
|
|
||||||
<File Name="sys_controller/it6613/hdmitx.h"/>
|
|
||||||
<File Name="sys_controller/it6613/it6613.h"/>
|
|
||||||
<File Name="sys_controller/it6613/it6613_sys.c"/>
|
|
||||||
<File Name="sys_controller/it6613/edid.h"/>
|
|
||||||
<File Name="sys_controller/it6613/typedef.h"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<VirtualDirectory Name="spi_charlcd">
|
|
||||||
<File Name="sys_controller/spi_charlcd/lcd.c"/>
|
|
||||||
<File Name="sys_controller/spi_charlcd/lcd.h"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<VirtualDirectory Name="tvp7002">
|
|
||||||
<File Name="sys_controller/tvp7002/tvp7002_regs.h"/>
|
|
||||||
<File Name="sys_controller/tvp7002/tvp7002.h"/>
|
|
||||||
<File Name="sys_controller/tvp7002/tvp7002.c"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<VirtualDirectory Name="memory">
|
|
||||||
<File Name="sys_controller/memory/flash.h"/>
|
|
||||||
<File Name="sys_controller/memory/flash.c"/>
|
|
||||||
<File Name="sys_controller/memory/sdcard.h"/>
|
|
||||||
<File Name="sys_controller/memory/sdcard.c"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<VirtualDirectory Name="ossc">
|
|
||||||
<File Name="sys_controller/ossc/utils.h"/>
|
|
||||||
<File Name="sys_controller/ossc/utils.c"/>
|
|
||||||
<File Name="sys_controller/ossc/menu.c"/>
|
|
||||||
<File Name="sys_controller/ossc/menu.h"/>
|
|
||||||
<File Name="sys_controller/ossc/sysconfig.h"/>
|
|
||||||
<File Name="sys_controller/ossc/controls.h"/>
|
|
||||||
<File Name="sys_controller/ossc/controls.c"/>
|
|
||||||
<File Name="sys_controller/ossc/avconfig.h"/>
|
|
||||||
<File Name="sys_controller/ossc/avconfig.c"/>
|
|
||||||
<File Name="sys_controller/ossc/av_controller.c"/>
|
|
||||||
<File Name="sys_controller/ossc/av_controller.h"/>
|
|
||||||
<File Name="sys_controller/ossc/firmware.h"/>
|
|
||||||
<File Name="sys_controller/ossc/firmware.c"/>
|
|
||||||
<File Name="sys_controller/ossc/userdata.h"/>
|
|
||||||
<File Name="sys_controller/ossc/userdata.c"/>
|
|
||||||
<File Name="sys_controller/ossc/video_modes.h"/>
|
|
||||||
<File Name="sys_controller/ossc/video_modes.c"/>
|
|
||||||
<File Name="sys_controller/ossc/video_modes_list.c"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<VirtualDirectory Name="ulibSD">
|
|
||||||
<File Name="sys_controller/ulibSD/integer.h"/>
|
|
||||||
<File Name="sys_controller/ulibSD/sd_io.c"/>
|
|
||||||
<File Name="sys_controller/ulibSD/sd_io.h"/>
|
|
||||||
<File Name="sys_controller/ulibSD/spi_io.h"/>
|
|
||||||
<File Name="sys_controller/ulibSD/spi_io.c"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<VirtualDirectory Name="pcm1862">
|
|
||||||
<File Name="sys_controller/pcm1862/pcm1862.c"/>
|
|
||||||
<File Name="sys_controller/pcm1862/pcm1862.h"/>
|
|
||||||
<File Name="sys_controller/pcm1862/pcm1862_regs.h"/>
|
|
||||||
</VirtualDirectory>
|
|
||||||
</VirtualDirectory>
|
|
||||||
<Description/>
|
<Description/>
|
||||||
<Dependencies/>
|
<Dependencies/>
|
||||||
<Dependencies Name="Debug"/>
|
<Dependencies Name="Debug"/>
|
||||||
|
@ -142,35 +142,37 @@ ACDS_VERSION := 14.1
|
|||||||
ELF := sys_controller.elf
|
ELF := sys_controller.elf
|
||||||
|
|
||||||
# Paths to C, C++, and assembly source files.
|
# Paths to C, C++, and assembly source files.
|
||||||
C_SRCS += it6613/EDID.c
|
C_SRCS += av_controller.c
|
||||||
C_SRCS += it6613/HDMI_TX.c
|
C_SRCS += src/avconfig.c
|
||||||
C_SRCS += it6613/hdmitx_nios2.c
|
C_SRCS += src/utils.c
|
||||||
C_SRCS += it6613/it6613.c
|
C_SRCS += src/controls.c
|
||||||
C_SRCS += it6613/it6613_drv.c
|
|
||||||
C_SRCS += it6613/it6613_sys.c
|
|
||||||
C_SRCS += tvp7002/tvp7002.c
|
|
||||||
C_SRCS += ths7353/ths7353.c
|
|
||||||
C_SRCS += pcm1862/pcm1862.c
|
|
||||||
C_SRCS += spi_charlcd/lcd.c
|
|
||||||
C_SRCS += memory/flash.c
|
|
||||||
C_SRCS += memory/sdcard.c
|
|
||||||
C_SRCS += ossc/av_controller.c
|
|
||||||
C_SRCS += ossc/avconfig.c
|
|
||||||
C_SRCS += ossc/controls.c
|
|
||||||
C_SRCS += ossc/firmware.c
|
|
||||||
C_SRCS += ossc/fat16_export.c
|
|
||||||
ifeq ($(OSDLANG),JP)
|
ifeq ($(OSDLANG),JP)
|
||||||
C_SRCS += ossc/menu_sjis.c
|
C_SRCS += src/menu_sjis.c
|
||||||
else
|
else
|
||||||
C_SRCS += ossc/menu.c
|
C_SRCS += src/menu.c
|
||||||
endif
|
endif
|
||||||
|
C_SRCS += src/video_modes.c
|
||||||
|
C_SRCS += src/flash.c
|
||||||
|
C_SRCS += src/firmware.c
|
||||||
ifeq ($(OSDLANG),JP)
|
ifeq ($(OSDLANG),JP)
|
||||||
C_SRCS += ossc/userdata_sjis.c
|
C_SRCS += src/userdata_sjis.c
|
||||||
else
|
else
|
||||||
C_SRCS += ossc/userdata.c
|
C_SRCS += src/userdata.c
|
||||||
endif
|
endif
|
||||||
C_SRCS += ossc/utils.c
|
C_SRCS += src/sdcard.c
|
||||||
C_SRCS += ossc/video_modes.c
|
C_SRCS += src/fat16_export.c
|
||||||
|
C_SRCS += src/lcd.c
|
||||||
|
C_SRCS += ic_drivers/it6613/EDID.c
|
||||||
|
C_SRCS += ic_drivers/it6613/HDMI_TX.c
|
||||||
|
C_SRCS += ic_drivers/it6613/hdmitx_nios2.c
|
||||||
|
C_SRCS += ic_drivers/it6613/it6613.c
|
||||||
|
C_SRCS += ic_drivers/it6613/it6613_drv.c
|
||||||
|
C_SRCS += ic_drivers/it6613/it6613_sys.c
|
||||||
|
C_SRCS += ic_drivers/tvp7002/tvp7002.c
|
||||||
|
C_SRCS += ic_drivers/ths7353/ths7353.c
|
||||||
|
C_SRCS += ic_drivers/pcm1862/pcm1862.c
|
||||||
|
C_SRCS += ic_drivers/st7032/st7032.c
|
||||||
|
C_SRCS += ic_drivers/sh1107/sh1107.c
|
||||||
C_SRCS += ulibSD/sd_io.c
|
C_SRCS += ulibSD/sd_io.c
|
||||||
C_SRCS += ulibSD/spi_io.c
|
C_SRCS += ulibSD/spi_io.c
|
||||||
CXX_SRCS :=
|
CXX_SRCS :=
|
||||||
@ -191,12 +193,12 @@ CREATE_LINKER_MAP := 1
|
|||||||
|
|
||||||
# Common arguments for ALT_CFLAGSs
|
# Common arguments for ALT_CFLAGSs
|
||||||
APP_CFLAGS_DEFINED_SYMBOLS := -DPICOLIBC_INTEGER_PRINTF_SCANF
|
APP_CFLAGS_DEFINED_SYMBOLS := -DPICOLIBC_INTEGER_PRINTF_SCANF
|
||||||
ifeq ($(ENABLE_AUDIO),y)
|
|
||||||
APP_CFLAGS_DEFINED_SYMBOLS += -DENABLE_AUDIO
|
|
||||||
endif
|
|
||||||
ifeq ($(OSDLANG),JP)
|
ifeq ($(OSDLANG),JP)
|
||||||
APP_CFLAGS_DEFINED_SYMBOLS += -DOSDLANG_JP
|
APP_CFLAGS_DEFINED_SYMBOLS += -DOSDLANG_JP
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(HAS_SH1107),y)
|
||||||
|
APP_CFLAGS_DEFINED_SYMBOLS += -DHAS_SH1107
|
||||||
|
endif
|
||||||
APP_CFLAGS_UNDEFINED_SYMBOLS :=
|
APP_CFLAGS_UNDEFINED_SYMBOLS :=
|
||||||
APP_CFLAGS_OPTIMIZATION := -Os
|
APP_CFLAGS_OPTIMIZATION := -Os
|
||||||
APP_CFLAGS_DEBUG_LEVEL :=
|
APP_CFLAGS_DEBUG_LEVEL :=
|
||||||
@ -217,14 +219,16 @@ BSP_ROOT_DIR := ../sys_controller_bsp/
|
|||||||
|
|
||||||
# List of application specific include directories, library directories and library names
|
# List of application specific include directories, library directories and library names
|
||||||
APP_INCLUDE_DIRS += /usr/lib/picolibc/riscv64-unknown-elf/include
|
APP_INCLUDE_DIRS += /usr/lib/picolibc/riscv64-unknown-elf/include
|
||||||
APP_INCLUDE_DIRS += it6613
|
APP_INCLUDE_DIRS += config
|
||||||
APP_INCLUDE_DIRS += tvp7002
|
APP_INCLUDE_DIRS += inc
|
||||||
APP_INCLUDE_DIRS += ths7353
|
APP_INCLUDE_DIRS += ic_drivers/it6613
|
||||||
APP_INCLUDE_DIRS += pcm1862
|
APP_INCLUDE_DIRS += ic_drivers/tvp7002
|
||||||
APP_INCLUDE_DIRS += spi_charlcd
|
APP_INCLUDE_DIRS += ic_drivers/ths7353
|
||||||
|
APP_INCLUDE_DIRS += ic_drivers/pcm1862
|
||||||
|
APP_INCLUDE_DIRS += ic_drivers/st7032
|
||||||
|
APP_INCLUDE_DIRS += ic_drivers/sh1107
|
||||||
APP_INCLUDE_DIRS += memory
|
APP_INCLUDE_DIRS += memory
|
||||||
APP_INCLUDE_DIRS += ulibSD
|
APP_INCLUDE_DIRS += ulibSD
|
||||||
APP_INCLUDE_DIRS += ossc
|
|
||||||
APP_LIBRARY_DIRS :=
|
APP_LIBRARY_DIRS :=
|
||||||
APP_LIBRARY_NAMES :=
|
APP_LIBRARY_NAMES :=
|
||||||
|
|
||||||
@ -976,7 +980,7 @@ clean : clean_elf_derived_files
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
clean :
|
clean :
|
||||||
@$(RM) -r $(ELF) $(OBJDUMP_NAME) $(LINKER_MAP_NAME) $(OBJ_ROOT_DIR) $(RUNTIME_ROOT_DIR) $(FORCE_REBUILD_DEP_LIST) ossc/menu_sjis.c ossc/userdata_sjis.c
|
@$(RM) -r $(ELF) $(OBJDUMP_NAME) $(LINKER_MAP_NAME) $(OBJ_ROOT_DIR) $(RUNTIME_ROOT_DIR) $(FORCE_REBUILD_DEP_LIST) src/menu_sjis.c src/userdata_sjis.c
|
||||||
@$(ECHO) [$(APP_NAME) clean complete]
|
@$(ECHO) [$(APP_NAME) clean complete]
|
||||||
|
|
||||||
# Clean just the BSP.
|
# Clean just the BSP.
|
||||||
@ -1133,11 +1137,11 @@ print-elf-name:
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# CUSTOM TARGETS
|
# CUSTOM TARGETS
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
ossc/menu_sjis.c: ossc/menu.c
|
src/menu_sjis.c: src/menu.c
|
||||||
iconv -f UTF-8 -t SHIFT-JIS ossc/menu.c > ossc/menu_sjis.c
|
iconv -f UTF-8 -t SHIFT-JIS src/menu.c > src/menu_sjis.c
|
||||||
|
|
||||||
ossc/userdata_sjis.c: ossc/userdata.c
|
src/userdata_sjis.c: src/userdata.c
|
||||||
iconv -f UTF-8 -t SHIFT-JIS ossc/userdata.c > ossc/userdata_sjis.c
|
iconv -f UTF-8 -t SHIFT-JIS src/userdata.c > src/userdata_sjis.c
|
||||||
|
|
||||||
mem_init/flash.hex: sys_controller.elf
|
mem_init/flash.hex: sys_controller.elf
|
||||||
$(RV_OBJCOPY) --change-addresses -0x02080000 -O binary --gap-fill 0 $< mem_init/flash.bin
|
$(RV_OBJCOPY) --change-addresses -0x02080000 -O binary --gap-fill 0 $< mem_init/flash.bin
|
||||||
@ -1164,3 +1168,7 @@ rv-bt:
|
|||||||
rv-reboot:
|
rv-reboot:
|
||||||
jtagconfig
|
jtagconfig
|
||||||
system-console -cli --script ../../scripts/rv-reboot.tcl
|
system-console -cli --script ../../scripts/rv-reboot.tcl
|
||||||
|
|
||||||
|
rv-ndmreset:
|
||||||
|
jtagconfig
|
||||||
|
system-console -cli --script ../../scripts/rv-ndmreset.tcl
|
@ -155,7 +155,6 @@ void ui_disp_status(alt_u8 refresh_osd_timer) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
inline void SetupAudio(tx_mode_t mode)
|
inline void SetupAudio(tx_mode_t mode)
|
||||||
{
|
{
|
||||||
// shut down audio-tx before setting new config (recommended for changing audio-tx config)
|
// shut down audio-tx before setting new config (recommended for changing audio-tx config)
|
||||||
@ -177,7 +176,6 @@ inline void SetupAudio(tx_mode_t mode)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
inline void TX_enable(tx_mode_t mode)
|
inline void TX_enable(tx_mode_t mode)
|
||||||
{
|
{
|
||||||
@ -202,9 +200,7 @@ inline void TX_enable(tx_mode_t mode)
|
|||||||
cm.cc.hdmi_vrr = tc.hdmi_vrr;
|
cm.cc.hdmi_vrr = tc.hdmi_vrr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
SetupAudio(mode);
|
SetupAudio(mode);
|
||||||
#endif
|
|
||||||
|
|
||||||
// start TX
|
// start TX
|
||||||
SetAVMute(FALSE);
|
SetAVMute(FALSE);
|
||||||
@ -418,7 +414,6 @@ status_t get_status(tvp_sync_input_t syncinput)
|
|||||||
if (tc.full_vs_bypass != cm.cc.full_vs_bypass)
|
if (tc.full_vs_bypass != cm.cc.full_vs_bypass)
|
||||||
tvp_set_full_vs_bypass(tc.full_vs_bypass);
|
tvp_set_full_vs_bypass(tc.full_vs_bypass);
|
||||||
|
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
if ((tc.audio_dw_sampl != cm.cc.audio_dw_sampl) ||
|
if ((tc.audio_dw_sampl != cm.cc.audio_dw_sampl) ||
|
||||||
#ifdef MANUAL_CTS
|
#ifdef MANUAL_CTS
|
||||||
update_cur_vm ||
|
update_cur_vm ||
|
||||||
@ -434,7 +429,6 @@ status_t get_status(tvp_sync_input_t syncinput)
|
|||||||
pcm_set_stereo_mode(tc.audio_mono);
|
pcm_set_stereo_mode(tc.audio_mono);
|
||||||
SetupAudio(cm.cc.tx_mode);
|
SetupAudio(cm.cc.tx_mode);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
cm.cc = tc;
|
cm.cc = tc;
|
||||||
update_cur_vm = 0;
|
update_cur_vm = 0;
|
||||||
@ -685,10 +679,8 @@ void program_mode()
|
|||||||
TX_enable(cm.cc.tx_mode);
|
TX_enable(cm.cc.tx_mode);
|
||||||
} else if (cm.cc.tx_mode!=TX_DVI) {
|
} else if (cm.cc.tx_mode!=TX_DVI) {
|
||||||
HDMITX_SetAVIInfoFrame(vmode_out.vic, (cm.cc.tx_mode == TX_HDMI_RGB) ? F_MODE_RGB444 : F_MODE_YUV444, 0, 0, cm.cc.hdmi_itc, vm_conf.hdmitx_pixr_ifr);
|
HDMITX_SetAVIInfoFrame(vmode_out.vic, (cm.cc.tx_mode == TX_HDMI_RGB) ? F_MODE_RGB444 : F_MODE_YUV444, 0, 0, cm.cc.hdmi_itc, vm_conf.hdmitx_pixr_ifr);
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
#ifdef MANUAL_CTS
|
#ifdef MANUAL_CTS
|
||||||
SetupAudio(cm.cc.tx_mode);
|
SetupAudio(cm.cc.tx_mode);
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -807,12 +799,10 @@ int init_hw()
|
|||||||
|
|
||||||
InitIT6613();
|
InitIT6613();
|
||||||
|
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
if (pcm1862_init()) {
|
if (pcm1862_init()) {
|
||||||
printf("PCM1862 found\n");
|
printf("PCM1862 found\n");
|
||||||
pcm1862_active = 1;
|
pcm1862_active = 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/*if (init_flash() != 0) {
|
/*if (init_flash() != 0) {
|
||||||
printf("Error: could not find flash\n");
|
printf("Error: could not find flash\n");
|
||||||
@ -869,7 +859,7 @@ void print_vm_stats() {
|
|||||||
sniprintf((char*)osd->osd_array.data[++row][0], OSD_CHAR_COLS, "Profile:");
|
sniprintf((char*)osd->osd_array.data[++row][0], OSD_CHAR_COLS, "Profile:");
|
||||||
sniprintf((char*)osd->osd_array.data[row][1], OSD_CHAR_COLS, "%u: %s", profile_sel, (target_profile_name[0] == 0) ? "<empty>" : target_profile_name);
|
sniprintf((char*)osd->osd_array.data[row][1], OSD_CHAR_COLS, "%u: %s", profile_sel, (target_profile_name[0] == 0) ? "<empty>" : target_profile_name);
|
||||||
sniprintf((char*)osd->osd_array.data[++row][0], OSD_CHAR_COLS, "FW:");
|
sniprintf((char*)osd->osd_array.data[++row][0], OSD_CHAR_COLS, "FW:");
|
||||||
sniprintf((char*)osd->osd_array.data[row][1], OSD_CHAR_COLS, "%u.%.2u" FW_SUFFIX1 FW_SUFFIX2 " @ " __DATE__, FW_VER_MAJOR, FW_VER_MINOR);
|
sniprintf((char*)osd->osd_array.data[row][1], OSD_CHAR_COLS, "%u.%.2u" FW_SUFFIX " @ " __DATE__, FW_VER_MAJOR, FW_VER_MINOR);
|
||||||
|
|
||||||
osd->osd_config.status_refresh = 1;
|
osd->osd_config.status_refresh = 1;
|
||||||
osd->osd_row_color.mask = 0;
|
osd->osd_row_color.mask = 0;
|
||||||
@ -965,7 +955,7 @@ int main()
|
|||||||
|
|
||||||
if (init_stat >= 0) {
|
if (init_stat >= 0) {
|
||||||
printf("### DIY VIDEO DIGITIZER / SCANCONVERTER INIT OK ###\n\n");
|
printf("### DIY VIDEO DIGITIZER / SCANCONVERTER INIT OK ###\n\n");
|
||||||
sniprintf(row1, LCD_ROW_LEN+1, "OSSC fw. %u.%.2u" FW_SUFFIX1 FW_SUFFIX2, FW_VER_MAJOR, FW_VER_MINOR);
|
sniprintf(row1, LCD_ROW_LEN+1, " OSSC fw. %u.%.2u" FW_SUFFIX, FW_VER_MAJOR, FW_VER_MINOR);
|
||||||
#ifndef DEBUG
|
#ifndef DEBUG
|
||||||
strncpy(row2, "2014-2025 marqs", LCD_ROW_LEN+1);
|
strncpy(row2, "2014-2025 marqs", LCD_ROW_LEN+1);
|
||||||
#else
|
#else
|
||||||
@ -1127,11 +1117,9 @@ int main()
|
|||||||
cm.sync_active = 0;
|
cm.sync_active = 0;
|
||||||
ths_source_sel(target_ths, (cm.cc.video_lpf > 1) ? (VIDEO_LPF_MAX-cm.cc.video_lpf) : THS_LPF_BYPASS);
|
ths_source_sel(target_ths, (cm.cc.video_lpf > 1) ? (VIDEO_LPF_MAX-cm.cc.video_lpf) : THS_LPF_BYPASS);
|
||||||
tvp_powerdown();
|
tvp_powerdown();
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
DisableAudioOutput();
|
DisableAudioOutput();
|
||||||
if (pcm1862_active)
|
if (pcm1862_active)
|
||||||
pcm_source_sel(target_pcm);
|
pcm_source_sel(target_pcm);
|
||||||
#endif
|
|
||||||
tvp_source_sel(target_tvp, target_tvp_sync, target_format);
|
tvp_source_sel(target_tvp, target_tvp_sync, target_format);
|
||||||
cm.clkcnt = 0; //TODO: proper invalidate
|
cm.clkcnt = 0; //TODO: proper invalidate
|
||||||
sys_ctrl &= ~VSYNC_I_TYPE;
|
sys_ctrl &= ~VSYNC_I_TYPE;
|
||||||
@ -1204,9 +1192,7 @@ int main()
|
|||||||
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
tvp_powerup();
|
tvp_powerup();
|
||||||
program_mode();
|
program_mode();
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
SetupAudio(cm.cc.tx_mode);
|
SetupAudio(cm.cc.tx_mode);
|
||||||
#endif
|
|
||||||
} else {
|
} else {
|
||||||
printf("Sync lost\n");
|
printf("Sync lost\n");
|
||||||
cm.clkcnt = 0; //TODO: proper invalidate
|
cm.clkcnt = 0; //TODO: proper invalidate
|
1337
software/sys_controller/ic_drivers/sh1107/font12.h
Normal file
1337
software/sys_controller/ic_drivers/sh1107/font12.h
Normal file
File diff suppressed because it is too large
Load Diff
139
software/sys_controller/ic_drivers/sh1107/sh1107.c
Normal file
139
software/sys_controller/ic_drivers/sh1107/sh1107.c
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2025 Balázs Triszka <info@balika011.hu>
|
||||||
|
//
|
||||||
|
// This file is part of Open Source Scan Converter project.
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "lcd.h"
|
||||||
|
#include "sh1107.h"
|
||||||
|
#include "alt_types.h"
|
||||||
|
#include "altera_avalon_pio_regs.h"
|
||||||
|
#include "i2c_opencores.h"
|
||||||
|
#include "av_controller.h"
|
||||||
|
#include "font12.h"
|
||||||
|
|
||||||
|
#define OLED_WIDTH 128
|
||||||
|
#define OLED_HEIGHT 64
|
||||||
|
|
||||||
|
extern alt_u32 sys_ctrl;
|
||||||
|
|
||||||
|
static void OLED_Write(uint8_t value)
|
||||||
|
{
|
||||||
|
SPI_write(I2CA_BASE, &value, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sh1107_init()
|
||||||
|
{
|
||||||
|
sys_ctrl &= ~(LCD_CS_N | LCD_RS);
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
|
||||||
|
alt_u8 init[] = {
|
||||||
|
0xae, /*turn off OLED display*/
|
||||||
|
0x00, /*set lower column address*/
|
||||||
|
0x10, /*set higher column address*/
|
||||||
|
0xb0, /*set page address*/
|
||||||
|
0xdc, 0x00, /*set display start line*/
|
||||||
|
0x81, /*contract control*/
|
||||||
|
0x6f, /*128*/
|
||||||
|
0x21, /* Set Memory addressing mode (0x20/0x21) */
|
||||||
|
0xa1, /*set segment remap*/
|
||||||
|
0xc0, /*Com scan direction*/
|
||||||
|
0xa4, /*Disable Entire Display On (0xA4/0xA5)*/
|
||||||
|
0xa6, /*normal / reverse*/
|
||||||
|
0xa8, /*multiplex ratio*/
|
||||||
|
0x3f, /*duty = 1/64*/
|
||||||
|
0xd3, 0x60, /*set display offset*/
|
||||||
|
0xd5, 0x41, /*set osc division*/
|
||||||
|
0xd9, 0x22, /*set pre-charge period*/
|
||||||
|
0xdb, 0x35, /*set vcomh*/
|
||||||
|
0xad, /*set charge pump enable*/
|
||||||
|
0x8a /*Set DC-DC enable (a=0:disable; a=1:enable) */
|
||||||
|
};
|
||||||
|
SPI_write(I2CA_BASE, init, sizeof(init));
|
||||||
|
|
||||||
|
// Clear the screen
|
||||||
|
OLED_Write(0xb0);
|
||||||
|
for (alt_u8 i = 0; i < OLED_HEIGHT; i++)
|
||||||
|
{
|
||||||
|
sys_ctrl &= ~LCD_RS;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
OLED_Write(0x00 + (i & 0x0f));
|
||||||
|
OLED_Write(0x10 + (i >> 4));
|
||||||
|
|
||||||
|
sys_ctrl |= LCD_RS;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
for (alt_u8 i = 0; i < OLED_WIDTH / 8; i++)
|
||||||
|
OLED_Write(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
sys_ctrl &= ~LCD_RS;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
|
||||||
|
// Turn on
|
||||||
|
OLED_Write(0xaf);
|
||||||
|
|
||||||
|
sys_ctrl |= LCD_CS_N;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sh1107_write(char *row1, char *row2)
|
||||||
|
{
|
||||||
|
sys_ctrl &= ~(LCD_CS_N | LCD_RS);
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
|
||||||
|
alt_u8 row1len = strnlen(row1, LCD_ROW_LEN);
|
||||||
|
|
||||||
|
for (alt_u8 i = 0; i < 12; i++)
|
||||||
|
{
|
||||||
|
sys_ctrl &= ~LCD_RS;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
OLED_Write(0xb0);
|
||||||
|
OLED_Write(0x00 + ((i + 13) & 0x0f));
|
||||||
|
OLED_Write(0x10 + ((i + 13) >> 4));
|
||||||
|
|
||||||
|
sys_ctrl |= LCD_RS;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
for (alt_u8 j = 0; j < row1len; j++)
|
||||||
|
OLED_Write(Font12_Table[(row1[j] - 0x20) * 12 + i]);
|
||||||
|
|
||||||
|
for (alt_u8 j = row1len; j < LCD_ROW_LEN; j++)
|
||||||
|
OLED_Write(Font12_Table[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
alt_u8 row2len = strnlen(row2, LCD_ROW_LEN);
|
||||||
|
|
||||||
|
for (alt_u8 i = 0; i < 12; i++)
|
||||||
|
{
|
||||||
|
sys_ctrl &= ~LCD_RS;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
OLED_Write(0xb0);
|
||||||
|
OLED_Write(0x00 + ((i + 39) & 0x0f));
|
||||||
|
OLED_Write(0x10 + ((i + 39) >> 4));
|
||||||
|
|
||||||
|
sys_ctrl |= LCD_RS;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
for (alt_u8 j = 0; j < row2len; j++)
|
||||||
|
OLED_Write(Font12_Table[(row2[j] - 0x20) * 12 + i]);
|
||||||
|
|
||||||
|
for (alt_u8 j = row2len; j < LCD_ROW_LEN; j++)
|
||||||
|
OLED_Write(Font12_Table[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
sys_ctrl |= LCD_CS_N;
|
||||||
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
|
}
|
31
software/sys_controller/ic_drivers/sh1107/sh1107.h
Normal file
31
software/sys_controller/ic_drivers/sh1107/sh1107.h
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2025 Balázs Triszka <info@balika011.hu>
|
||||||
|
//
|
||||||
|
// This file is part of Open Source Scan Converter project.
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef SH1107_H_
|
||||||
|
#define SH1107_H_
|
||||||
|
|
||||||
|
#include "system.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "sysconfig.h"
|
||||||
|
|
||||||
|
void sh1107_init();
|
||||||
|
|
||||||
|
void sh1107_write(char *row1, char *row2);
|
||||||
|
|
||||||
|
#endif /* sh1107_H_ */
|
@ -1,5 +1,6 @@
|
|||||||
//
|
//
|
||||||
// Copyright (C) 2015-2016 Markus Hiienkari <mhiienka@niksula.hut.fi>
|
// Copyright (C) 2015-2016 Markus Hiienkari <mhiienka@niksula.hut.fi>
|
||||||
|
// Copyright (C) 2025 Balázs Triszka <info@balika011.hu>
|
||||||
//
|
//
|
||||||
// This file is part of Open Source Scan Converter project.
|
// This file is part of Open Source Scan Converter project.
|
||||||
//
|
//
|
||||||
@ -20,14 +21,12 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "lcd.h"
|
#include "lcd.h"
|
||||||
|
#include "st7032.h"
|
||||||
#include "alt_types.h"
|
#include "alt_types.h"
|
||||||
#include "altera_avalon_pio_regs.h"
|
#include "altera_avalon_pio_regs.h"
|
||||||
#include "i2c_opencores.h"
|
#include "i2c_opencores.h"
|
||||||
#include "av_controller.h"
|
#include "av_controller.h"
|
||||||
|
|
||||||
#define LCD_CMD 0x00
|
|
||||||
#define LCD_DATA 0x40
|
|
||||||
|
|
||||||
#define WRDELAY 20
|
#define WRDELAY 20
|
||||||
#define CLEARDELAY 800
|
#define CLEARDELAY 800
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ static void lcd_cmd(alt_u8 cmd, alt_u16 postdelay) {
|
|||||||
usleep(postdelay);
|
usleep(postdelay);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_init()
|
void st7032_init()
|
||||||
{
|
{
|
||||||
sys_ctrl &= ~(LCD_CS_N|LCD_RS);
|
sys_ctrl &= ~(LCD_CS_N|LCD_RS);
|
||||||
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
@ -59,7 +58,7 @@ void lcd_init()
|
|||||||
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, sys_ctrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcd_write(char *row1, char *row2)
|
void st7032_write(char *row1, char *row2)
|
||||||
{
|
{
|
||||||
alt_u8 i, rowlen;
|
alt_u8 i, rowlen;
|
||||||
|
|
32
software/sys_controller/ic_drivers/st7032/st7032.h
Normal file
32
software/sys_controller/ic_drivers/st7032/st7032.h
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2015-2016 Markus Hiienkari <mhiienka@niksula.hut.fi>
|
||||||
|
// Copyright (C) 2025 Balázs Triszka <info@balika011.hu>
|
||||||
|
//
|
||||||
|
// This file is part of Open Source Scan Converter project.
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef ST7032_H_
|
||||||
|
#define ST7032_H_
|
||||||
|
|
||||||
|
#include "system.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "sysconfig.h"
|
||||||
|
|
||||||
|
void st7032_init();
|
||||||
|
|
||||||
|
void st7032_write(char *row1, char *row2);
|
||||||
|
|
||||||
|
#endif /* st7032_H_ */
|
@ -32,16 +32,10 @@
|
|||||||
#define INITCFG_VER_MAJOR 1
|
#define INITCFG_VER_MAJOR 1
|
||||||
#define INITCFG_VER_MINOR 0
|
#define INITCFG_VER_MINOR 0
|
||||||
|
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
#define FW_SUFFIX1 "a"
|
|
||||||
#else
|
|
||||||
#define FW_SUFFIX1 ""
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef OSDLANG_JP
|
#ifdef OSDLANG_JP
|
||||||
#define FW_SUFFIX2 "j"
|
#define FW_SUFFIX "j"
|
||||||
#else
|
#else
|
||||||
#define FW_SUFFIX2 ""
|
#define FW_SUFFIX ""
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FW_UPDATE_RETRIES 3
|
#define FW_UPDATE_RETRIES 3
|
@ -1,5 +1,6 @@
|
|||||||
//
|
//
|
||||||
// Copyright (C) 2015-2016 Markus Hiienkari <mhiienka@niksula.hut.fi>
|
// Copyright (C) 2015-2016 Markus Hiienkari <mhiienka@niksula.hut.fi>
|
||||||
|
// Copyright (C) 2025 Balázs Triszka <info@balika011.hu>
|
||||||
//
|
//
|
||||||
// This file is part of Open Source Scan Converter project.
|
// This file is part of Open Source Scan Converter project.
|
||||||
//
|
//
|
||||||
@ -20,10 +21,6 @@
|
|||||||
#ifndef LCD_H_
|
#ifndef LCD_H_
|
||||||
#define LCD_H_
|
#define LCD_H_
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "sysconfig.h"
|
|
||||||
|
|
||||||
#define LCD_ROW_LEN 16
|
#define LCD_ROW_LEN 16
|
||||||
|
|
||||||
void lcd_init();
|
void lcd_init();
|
@ -59,10 +59,8 @@ const avconfig_t tc_default = {
|
|||||||
.c_gain = DEFAULT_COARSE_GAIN,
|
.c_gain = DEFAULT_COARSE_GAIN,
|
||||||
},
|
},
|
||||||
.mask_br = 8,
|
.mask_br = 8,
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
.audio_dw_sampl = DEFAULT_ON,
|
.audio_dw_sampl = DEFAULT_ON,
|
||||||
.audio_gain = AUDIO_GAIN_0DB,
|
.audio_gain = AUDIO_GAIN_0DB,
|
||||||
#endif
|
|
||||||
.link_av = AV_LAST,
|
.link_av = AV_LAST,
|
||||||
};
|
};
|
||||||
|
|
@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "system.h"
|
||||||
#include "alt_types.h"
|
#include "alt_types.h"
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "menu.h"
|
#include "menu.h"
|
@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "system.h"
|
||||||
#include "firmware.h"
|
#include "firmware.h"
|
||||||
#include "sdcard.h"
|
#include "sdcard.h"
|
||||||
#include "flash.h"
|
#include "flash.h"
|
40
software/sys_controller/src/lcd.c
Normal file
40
software/sys_controller/src/lcd.c
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2025 Balázs Triszka <info@balika011.hu>
|
||||||
|
//
|
||||||
|
// This file is part of Open Source Scan Converter project.
|
||||||
|
//
|
||||||
|
// This program is free software: you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "lcd.h"
|
||||||
|
#include "st7032.h"
|
||||||
|
#include "sh1107.h"
|
||||||
|
|
||||||
|
void lcd_init()
|
||||||
|
{
|
||||||
|
#ifndef HAS_SH1107
|
||||||
|
st7032_init();
|
||||||
|
#else
|
||||||
|
sh1107_init();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void lcd_write(char *row1, char *row2)
|
||||||
|
{
|
||||||
|
#ifndef HAS_SH1107
|
||||||
|
st7032_write(row1, row2);
|
||||||
|
#else
|
||||||
|
sh1107_write(row1, row2);
|
||||||
|
#endif
|
||||||
|
}
|
@ -18,6 +18,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdio.h>
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "av_controller.h"
|
#include "av_controller.h"
|
||||||
#include "firmware.h"
|
#include "firmware.h"
|
||||||
@ -227,7 +228,6 @@ MENU(menu_compatibility, P99_PROTECT({ \
|
|||||||
{ "Default HDMI VIC", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.default_vic, OPT_NOWRAP, 0, HDMI_1080p50, value_disp } } },
|
{ "Default HDMI VIC", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.default_vic, OPT_NOWRAP, 0, HDMI_1080p50, value_disp } } },
|
||||||
}))
|
}))
|
||||||
|
|
||||||
#ifdef ENABLE_AUDIO
|
|
||||||
MENU(menu_audio, P99_PROTECT({ \
|
MENU(menu_audio, P99_PROTECT({ \
|
||||||
{ LNG("Down-sampling","ダウンサンプリング"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.audio_dw_sampl, OPT_WRAP, SETTING_ITEM(audio_dw_sampl_desc) } } },
|
{ LNG("Down-sampling","ダウンサンプリング"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.audio_dw_sampl, OPT_WRAP, SETTING_ITEM(audio_dw_sampl_desc) } } },
|
||||||
{ LNG("Swap left/right","ヒダリ/ミギスワップ"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.audio_swap_lr, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
{ LNG("Swap left/right","ヒダリ/ミギスワップ"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.audio_swap_lr, OPT_WRAP, SETTING_ITEM(off_on_desc) } } },
|
||||||
@ -235,9 +235,6 @@ MENU(menu_audio, P99_PROTECT({ \
|
|||||||
{ "Pre-ADC gain", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.audio_gain, OPT_NOWRAP, 0, AUDIO_GAIN_MAX, aud_db_disp } } },
|
{ "Pre-ADC gain", OPT_AVCONFIG_NUMVALUE, { .num = { &tc.audio_gain, OPT_NOWRAP, 0, AUDIO_GAIN_MAX, aud_db_disp } } },
|
||||||
}))
|
}))
|
||||||
#define AUDIO_MENU { LNG("Audio options >","オーディオオプション >"), OPT_SUBMENU, { .sub = { &menu_audio, NULL, NULL } } },
|
#define AUDIO_MENU { LNG("Audio options >","オーディオオプション >"), OPT_SUBMENU, { .sub = { &menu_audio, NULL, NULL } } },
|
||||||
#else
|
|
||||||
#define AUDIO_MENU
|
|
||||||
#endif
|
|
||||||
|
|
||||||
MENU(menu_settings, P99_PROTECT({ \
|
MENU(menu_settings, P99_PROTECT({ \
|
||||||
{ LNG("Link prof->input","Link prof->input"), OPT_AVCONFIG_NUMVALUE, { .num = { &tc.link_av, OPT_WRAP, AV1_RGBs, AV_LAST, link_av_desc } } },
|
{ LNG("Link prof->input","Link prof->input"), OPT_AVCONFIG_NUMVALUE, { .num = { &tc.link_av, OPT_WRAP, AV1_RGBs, AV_LAST, link_av_desc } } },
|
@ -20,6 +20,8 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "system.h"
|
||||||
#include "userdata.h"
|
#include "userdata.h"
|
||||||
#include "fat16_export.h"
|
#include "fat16_export.h"
|
||||||
#include "flash.h"
|
#include "flash.h"
|
85
sys.qsys
85
sys.qsys
@ -21,7 +21,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "7";
|
value = "8";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -42,7 +42,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "8";
|
value = "9";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,7 +63,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "9";
|
value = "10";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -84,7 +84,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "1";
|
value = "2";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "6";
|
value = "7";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -142,7 +142,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "5";
|
value = "6";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -163,7 +163,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "3";
|
value = "4";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -171,7 +171,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "2";
|
value = "3";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -205,7 +205,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "13";
|
value = "14";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -226,7 +226,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "10";
|
value = "11";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -247,7 +247,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "11";
|
value = "12";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -268,7 +268,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "14";
|
value = "15";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -285,11 +285,19 @@
|
|||||||
type = "String";
|
type = "String";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
element po_reset_bridge_0
|
||||||
|
{
|
||||||
|
datum _sortIndex
|
||||||
|
{
|
||||||
|
value = "1";
|
||||||
|
type = "int";
|
||||||
|
}
|
||||||
|
}
|
||||||
element sc_config_0
|
element sc_config_0
|
||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "12";
|
value = "13";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -310,7 +318,7 @@
|
|||||||
{
|
{
|
||||||
datum _sortIndex
|
datum _sortIndex
|
||||||
{
|
{
|
||||||
value = "4";
|
value = "5";
|
||||||
type = "int";
|
type = "int";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -364,6 +372,8 @@
|
|||||||
internal="ibex_0.config"
|
internal="ibex_0.config"
|
||||||
type="conduit"
|
type="conduit"
|
||||||
dir="end" />
|
dir="end" />
|
||||||
|
<interface name="ibex_0_dm" internal="ibex_0.dm" />
|
||||||
|
<interface name="ibex_0_ndm" internal="ibex_0.ndm" type="conduit" dir="end" />
|
||||||
<interface
|
<interface
|
||||||
name="master_0_master_reset"
|
name="master_0_master_reset"
|
||||||
internal="master_0.master_reset"
|
internal="master_0.master_reset"
|
||||||
@ -389,7 +399,16 @@
|
|||||||
internal="pll_reconfig_0.pll_reconfig_if"
|
internal="pll_reconfig_0.pll_reconfig_if"
|
||||||
type="conduit"
|
type="conduit"
|
||||||
dir="end" />
|
dir="end" />
|
||||||
<interface name="reset" internal="clk_27.clk_in_reset" type="reset" dir="end" />
|
<interface
|
||||||
|
name="reset_po"
|
||||||
|
internal="po_reset_bridge_0.in_reset"
|
||||||
|
type="reset"
|
||||||
|
dir="end" />
|
||||||
|
<interface
|
||||||
|
name="reset_sys"
|
||||||
|
internal="clk_27.clk_in_reset"
|
||||||
|
type="reset"
|
||||||
|
dir="end" />
|
||||||
<interface
|
<interface
|
||||||
name="sc_config_0_sc_if"
|
name="sc_config_0_sc_if"
|
||||||
internal="sc_config_0.sc_if"
|
internal="sc_config_0.sc_if"
|
||||||
@ -399,7 +418,7 @@
|
|||||||
<parameter name="clockFrequency" value="27000000" />
|
<parameter name="clockFrequency" value="27000000" />
|
||||||
<parameter name="clockFrequencyKnown" value="true" />
|
<parameter name="clockFrequencyKnown" value="true" />
|
||||||
<parameter name="inputClockFrequency" value="0" />
|
<parameter name="inputClockFrequency" value="0" />
|
||||||
<parameter name="resetSynchronousEdges" value="NONE" />
|
<parameter name="resetSynchronousEdges" value="DEASSERT" />
|
||||||
</module>
|
</module>
|
||||||
<module name="hw_crc32_0" kind="hw_crc32" version="1.0" enabled="1" />
|
<module name="hw_crc32_0" kind="hw_crc32" version="1.0" enabled="1" />
|
||||||
<module
|
<module
|
||||||
@ -418,6 +437,7 @@
|
|||||||
</module>
|
</module>
|
||||||
<module name="ibex_0" kind="ibex" version="1.0" enabled="1">
|
<module name="ibex_0" kind="ibex" version="1.0" enabled="1">
|
||||||
<parameter name="AUTO_INTERRUPT_RECEIVER_INTERRUPTS_USED" value="15" />
|
<parameter name="AUTO_INTERRUPT_RECEIVER_INTERRUPTS_USED" value="15" />
|
||||||
|
<parameter name="IBEX_ICACHE" value="true" />
|
||||||
<parameter name="IBEX_RV32E" value="true" />
|
<parameter name="IBEX_RV32E" value="true" />
|
||||||
</module>
|
</module>
|
||||||
<module
|
<module
|
||||||
@ -507,7 +527,7 @@
|
|||||||
<parameter name="instanceID" value="NONE" />
|
<parameter name="instanceID" value="NONE" />
|
||||||
<parameter name="memorySize" value="16384" />
|
<parameter name="memorySize" value="16384" />
|
||||||
<parameter name="readDuringWriteMode" value="DONT_CARE" />
|
<parameter name="readDuringWriteMode" value="DONT_CARE" />
|
||||||
<parameter name="resetrequest_enabled" value="true" />
|
<parameter name="resetrequest_enabled" value="false" />
|
||||||
<parameter name="simAllowMRAMContentsFile" value="false" />
|
<parameter name="simAllowMRAMContentsFile" value="false" />
|
||||||
<parameter name="simMemInitOnlyFilename" value="0" />
|
<parameter name="simMemInitOnlyFilename" value="0" />
|
||||||
<parameter name="singleClockOperation" value="true" />
|
<parameter name="singleClockOperation" value="true" />
|
||||||
@ -547,6 +567,17 @@
|
|||||||
<parameter name="width" value="32" />
|
<parameter name="width" value="32" />
|
||||||
</module>
|
</module>
|
||||||
<module name="pll_reconfig_0" kind="pll_reconfig" version="1.0" enabled="1" />
|
<module name="pll_reconfig_0" kind="pll_reconfig" version="1.0" enabled="1" />
|
||||||
|
<module
|
||||||
|
name="po_reset_bridge_0"
|
||||||
|
kind="altera_reset_bridge"
|
||||||
|
version="24.1"
|
||||||
|
enabled="1">
|
||||||
|
<parameter name="ACTIVE_LOW_RESET" value="1" />
|
||||||
|
<parameter name="AUTO_CLK_CLOCK_RATE" value="27000000" />
|
||||||
|
<parameter name="NUM_RESET_OUTPUTS" value="1" />
|
||||||
|
<parameter name="SYNCHRONOUS_EDGES" value="deassert" />
|
||||||
|
<parameter name="USE_RESET_REQUEST" value="0" />
|
||||||
|
</module>
|
||||||
<module name="sc_config_0" kind="sc_config" version="1.0" enabled="1" />
|
<module name="sc_config_0" kind="sc_config" version="1.0" enabled="1" />
|
||||||
<module name="timer_0" kind="altera_avalon_timer" version="24.1" enabled="1">
|
<module name="timer_0" kind="altera_avalon_timer" version="24.1" enabled="1">
|
||||||
<parameter name="alwaysRun" value="false" />
|
<parameter name="alwaysRun" value="false" />
|
||||||
@ -759,6 +790,11 @@
|
|||||||
version="24.1"
|
version="24.1"
|
||||||
start="clk_27.clk"
|
start="clk_27.clk"
|
||||||
end="intel_generic_serial_flash_interface_top_0.clk" />
|
end="intel_generic_serial_flash_interface_top_0.clk" />
|
||||||
|
<connection
|
||||||
|
kind="clock"
|
||||||
|
version="24.1"
|
||||||
|
start="clk_27.clk"
|
||||||
|
end="po_reset_bridge_0.clk" />
|
||||||
<connection
|
<connection
|
||||||
kind="clock"
|
kind="clock"
|
||||||
version="24.1"
|
version="24.1"
|
||||||
@ -823,11 +859,6 @@
|
|||||||
end="timer_0.irq">
|
end="timer_0.irq">
|
||||||
<parameter name="irqNumber" value="3" />
|
<parameter name="irqNumber" value="3" />
|
||||||
</connection>
|
</connection>
|
||||||
<connection
|
|
||||||
kind="reset"
|
|
||||||
version="24.1"
|
|
||||||
start="clk_27.clk_reset"
|
|
||||||
end="master_0.clk_reset" />
|
|
||||||
<connection
|
<connection
|
||||||
kind="reset"
|
kind="reset"
|
||||||
version="24.1"
|
version="24.1"
|
||||||
@ -893,6 +924,16 @@
|
|||||||
version="24.1"
|
version="24.1"
|
||||||
start="clk_27.clk_reset"
|
start="clk_27.clk_reset"
|
||||||
end="ibex_0.reset_sink" />
|
end="ibex_0.reset_sink" />
|
||||||
|
<connection
|
||||||
|
kind="reset"
|
||||||
|
version="24.1"
|
||||||
|
start="po_reset_bridge_0.out_reset"
|
||||||
|
end="master_0.clk_reset" />
|
||||||
|
<connection
|
||||||
|
kind="reset"
|
||||||
|
version="24.1"
|
||||||
|
start="po_reset_bridge_0.out_reset"
|
||||||
|
end="ibex_0.po_reset_sink" />
|
||||||
<interconnectRequirement for="$system" name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" />
|
<interconnectRequirement for="$system" name="qsys_mm.clockCrossingAdapter" value="HANDSHAKE" />
|
||||||
<interconnectRequirement for="$system" name="qsys_mm.insertDefaultSlave" value="false" />
|
<interconnectRequirement for="$system" name="qsys_mm.insertDefaultSlave" value="false" />
|
||||||
<interconnectRequirement for="$system" name="qsys_mm.maxAdditionalLatency" value="1" />
|
<interconnectRequirement for="$system" name="qsys_mm.maxAdditionalLatency" value="1" />
|
||||||
|
493
sys.sopcinfo
493
sys.sopcinfo
@ -1,11 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<EnsembleReport name="sys" kind="sys" version="1.0" fabric="QSYS">
|
<EnsembleReport name="sys" kind="sys" version="1.0" fabric="QSYS">
|
||||||
<!-- Format version 24.1 1077 (Future versions may contain additional information.) -->
|
<!-- Format version 24.1 1077 (Future versions may contain additional information.) -->
|
||||||
<!-- 2025.03.26.23:09:40 -->
|
<!-- 2025.04.18.22:02:06 -->
|
||||||
<!-- A collection of modules and connections -->
|
<!-- A collection of modules and connections -->
|
||||||
<parameter name="AUTO_GENERATION_ID">
|
<parameter name="AUTO_GENERATION_ID">
|
||||||
<type>java.lang.Integer</type>
|
<type>java.lang.Integer</type>
|
||||||
<value>1743023379</value>
|
<value>1745002926</value>
|
||||||
<derived>false</derived>
|
<derived>false</derived>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<visible>false</visible>
|
<visible>false</visible>
|
||||||
@ -126,7 +126,7 @@ the requested settings for a module instance. -->
|
|||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="resetSynchronousEdges">
|
<parameter name="resetSynchronousEdges">
|
||||||
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
||||||
<value>NONE</value>
|
<value>DEASSERT</value>
|
||||||
<derived>false</derived>
|
<derived>false</derived>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
@ -223,7 +223,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
</assignment>
|
</assignment>
|
||||||
<parameter name="associatedClock">
|
<parameter name="associatedClock">
|
||||||
<type>java.lang.String</type>
|
<type>java.lang.String</type>
|
||||||
<value></value>
|
<value>clk_in</value>
|
||||||
<derived>false</derived>
|
<derived>false</derived>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
@ -231,7 +231,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="synchronousEdges">
|
<parameter name="synchronousEdges">
|
||||||
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
||||||
<value>NONE</value>
|
<value>DEASSERT</value>
|
||||||
<derived>false</derived>
|
<derived>false</derived>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
@ -366,6 +366,12 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<slaveName>clk</slaveName>
|
<slaveName>clk</slaveName>
|
||||||
<name>intel_generic_serial_flash_interface_top_0.clk</name>
|
<name>intel_generic_serial_flash_interface_top_0.clk</name>
|
||||||
</clockDomainMember>
|
</clockDomainMember>
|
||||||
|
<clockDomainMember>
|
||||||
|
<isBridge>false</isBridge>
|
||||||
|
<moduleName>po_reset_bridge_0</moduleName>
|
||||||
|
<slaveName>clk</slaveName>
|
||||||
|
<name>po_reset_bridge_0.clk</name>
|
||||||
|
</clockDomainMember>
|
||||||
<clockDomainMember>
|
<clockDomainMember>
|
||||||
<isBridge>false</isBridge>
|
<isBridge>false</isBridge>
|
||||||
<moduleName>onchip_memory2_0</moduleName>
|
<moduleName>onchip_memory2_0</moduleName>
|
||||||
@ -421,7 +427,7 @@ particular module parameters. Connection points and their
|
|||||||
parameters are a RESULT of the module parameters. -->
|
parameters are a RESULT of the module parameters. -->
|
||||||
<parameter name="associatedClock">
|
<parameter name="associatedClock">
|
||||||
<type>java.lang.String</type>
|
<type>java.lang.String</type>
|
||||||
<value></value>
|
<value>clk</value>
|
||||||
<derived>false</derived>
|
<derived>false</derived>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
@ -445,7 +451,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="synchronousEdges">
|
<parameter name="synchronousEdges">
|
||||||
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
||||||
<value>NONE</value>
|
<value>DEASSERT</value>
|
||||||
<derived>false</derived>
|
<derived>false</derived>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
@ -2229,6 +2235,14 @@ the requested settings for a module instance. -->
|
|||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
<valid>true</valid>
|
<valid>true</valid>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
<parameter name="IBEX_ICACHE">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>true</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
<parameter name="AUTO_INTERRUPT_RECEIVER_INTERRUPTS_USED">
|
<parameter name="AUTO_INTERRUPT_RECEIVER_INTERRUPTS_USED">
|
||||||
<type>java.math.BigInteger</type>
|
<type>java.math.BigInteger</type>
|
||||||
<value>15</value>
|
<value>15</value>
|
||||||
@ -2345,6 +2359,102 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<role>reset_n</role>
|
<role>reset_n</role>
|
||||||
</port>
|
</port>
|
||||||
</interface>
|
</interface>
|
||||||
|
<interface name="po_reset_sink" kind="reset_sink" version="24.1">
|
||||||
|
<!-- The connection points exposed by a module instance for the
|
||||||
|
particular module parameters. Connection points and their
|
||||||
|
parameters are a RESULT of the module parameters. -->
|
||||||
|
<parameter name="associatedClock">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>clk_sink</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="synchronousEdges">
|
||||||
|
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
||||||
|
<value>DEASSERT</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<type>reset</type>
|
||||||
|
<isStart>false</isStart>
|
||||||
|
<port>
|
||||||
|
<name>po_rst_ni</name>
|
||||||
|
<direction>Input</direction>
|
||||||
|
<width>1</width>
|
||||||
|
<role>reset_n</role>
|
||||||
|
</port>
|
||||||
|
</interface>
|
||||||
|
<interface name="ndm" kind="conduit_end" version="24.1">
|
||||||
|
<!-- The connection points exposed by a module instance for the
|
||||||
|
particular module parameters. Connection points and their
|
||||||
|
parameters are a RESULT of the module parameters. -->
|
||||||
|
<parameter name="associatedClock">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>clk_sink</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="associatedReset">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value></value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<type>conduit</type>
|
||||||
|
<isStart>false</isStart>
|
||||||
|
<port>
|
||||||
|
<name>ndmreset_o</name>
|
||||||
|
<direction>Output</direction>
|
||||||
|
<width>1</width>
|
||||||
|
<role>ndmreset_o</role>
|
||||||
|
</port>
|
||||||
|
<port>
|
||||||
|
<name>ndmreset_ack_i</name>
|
||||||
|
<direction>Input</direction>
|
||||||
|
<width>1</width>
|
||||||
|
<role>ndmreset_ack_i</role>
|
||||||
|
</port>
|
||||||
|
</interface>
|
||||||
<interface name="config" kind="conduit_end" version="24.1">
|
<interface name="config" kind="conduit_end" version="24.1">
|
||||||
<!-- The connection points exposed by a module instance for the
|
<!-- The connection points exposed by a module instance for the
|
||||||
particular module parameters. Connection points and their
|
particular module parameters. Connection points and their
|
||||||
@ -6846,7 +6956,7 @@ the requested settings for a module instance. -->
|
|||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="resetrequest_enabled">
|
<parameter name="resetrequest_enabled">
|
||||||
<type>boolean</type>
|
<type>boolean</type>
|
||||||
<value>true</value>
|
<value>false</value>
|
||||||
<derived>false</derived>
|
<derived>false</derived>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
@ -7786,12 +7896,6 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<width>1</width>
|
<width>1</width>
|
||||||
<role>reset</role>
|
<role>reset</role>
|
||||||
</port>
|
</port>
|
||||||
<port>
|
|
||||||
<name>reset_req</name>
|
|
||||||
<direction>Input</direction>
|
|
||||||
<width>1</width>
|
|
||||||
<role>reset_req</role>
|
|
||||||
</port>
|
|
||||||
</interface>
|
</interface>
|
||||||
</module>
|
</module>
|
||||||
<module
|
<module
|
||||||
@ -10462,6 +10566,239 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
</port>
|
</port>
|
||||||
</interface>
|
</interface>
|
||||||
</module>
|
</module>
|
||||||
|
<module
|
||||||
|
name="po_reset_bridge_0"
|
||||||
|
kind="altera_reset_bridge"
|
||||||
|
version="24.1"
|
||||||
|
path="po_reset_bridge_0">
|
||||||
|
<!-- Describes a single module. Module parameters are
|
||||||
|
the requested settings for a module instance. -->
|
||||||
|
<parameter name="ACTIVE_LOW_RESET">
|
||||||
|
<type>int</type>
|
||||||
|
<value>1</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="SYNCHRONOUS_EDGES">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>deassert</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="NUM_RESET_OUTPUTS">
|
||||||
|
<type>int</type>
|
||||||
|
<value>1</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="USE_RESET_REQUEST">
|
||||||
|
<type>int</type>
|
||||||
|
<value>0</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="AUTO_CLK_CLOCK_RATE">
|
||||||
|
<type>java.lang.Long</type>
|
||||||
|
<value>27000000</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>false</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
<sysinfo_type>CLOCK_RATE</sysinfo_type>
|
||||||
|
<sysinfo_arg>clk</sysinfo_arg>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<interface name="clk" kind="clock_sink" version="24.1">
|
||||||
|
<!-- The connection points exposed by a module instance for the
|
||||||
|
particular module parameters. Connection points and their
|
||||||
|
parameters are a RESULT of the module parameters. -->
|
||||||
|
<parameter name="externallyDriven">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>false</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="ptfSchematicName">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value></value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>false</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="clockRateKnown">
|
||||||
|
<type>java.lang.Boolean</type>
|
||||||
|
<value>true</value>
|
||||||
|
<derived>true</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>false</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="clockRate">
|
||||||
|
<type>java.lang.Long</type>
|
||||||
|
<value>27000000</value>
|
||||||
|
<derived>true</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>false</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<type>clock</type>
|
||||||
|
<isStart>false</isStart>
|
||||||
|
<port>
|
||||||
|
<name>clk</name>
|
||||||
|
<direction>Input</direction>
|
||||||
|
<width>1</width>
|
||||||
|
<role>clk</role>
|
||||||
|
</port>
|
||||||
|
</interface>
|
||||||
|
<interface name="in_reset" kind="reset_sink" version="24.1">
|
||||||
|
<!-- The connection points exposed by a module instance for the
|
||||||
|
particular module parameters. Connection points and their
|
||||||
|
parameters are a RESULT of the module parameters. -->
|
||||||
|
<parameter name="associatedClock">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>clk</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="synchronousEdges">
|
||||||
|
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
||||||
|
<value>DEASSERT</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<type>reset</type>
|
||||||
|
<isStart>false</isStart>
|
||||||
|
<port>
|
||||||
|
<name>in_reset_n</name>
|
||||||
|
<direction>Input</direction>
|
||||||
|
<width>1</width>
|
||||||
|
<role>reset_n</role>
|
||||||
|
</port>
|
||||||
|
</interface>
|
||||||
|
<interface name="out_reset" kind="reset_source" version="24.1">
|
||||||
|
<!-- The connection points exposed by a module instance for the
|
||||||
|
particular module parameters. Connection points and their
|
||||||
|
parameters are a RESULT of the module parameters. -->
|
||||||
|
<parameter name="associatedClock">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>clk</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="associatedDirectReset">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>in_reset</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="associatedResetSinks">
|
||||||
|
<type>[Ljava.lang.String;</type>
|
||||||
|
<value>in_reset</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="synchronousEdges">
|
||||||
|
<type>com.altera.sopcmodel.reset.Reset$Edges</type>
|
||||||
|
<value>DEASSERT</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<type>reset</type>
|
||||||
|
<isStart>true</isStart>
|
||||||
|
<port>
|
||||||
|
<name>out_reset_n</name>
|
||||||
|
<direction>Output</direction>
|
||||||
|
<width>1</width>
|
||||||
|
<role>reset_n</role>
|
||||||
|
</port>
|
||||||
|
</interface>
|
||||||
|
</module>
|
||||||
<module name="sc_config_0" kind="sc_config" version="1.0" path="sc_config_0">
|
<module name="sc_config_0" kind="sc_config" version="1.0" path="sc_config_0">
|
||||||
<!-- Describes a single module. Module parameters are
|
<!-- Describes a single module. Module parameters are
|
||||||
the requested settings for a module instance. -->
|
the requested settings for a module instance. -->
|
||||||
@ -13103,6 +13440,33 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<endModule>intel_generic_serial_flash_interface_top_0</endModule>
|
<endModule>intel_generic_serial_flash_interface_top_0</endModule>
|
||||||
<endConnectionPoint>clk</endConnectionPoint>
|
<endConnectionPoint>clk</endConnectionPoint>
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection
|
||||||
|
name="clk_27.clk/po_reset_bridge_0.clk"
|
||||||
|
kind="clock"
|
||||||
|
version="24.1"
|
||||||
|
start="clk_27.clk"
|
||||||
|
end="po_reset_bridge_0.clk">
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<startModule>clk_27</startModule>
|
||||||
|
<startConnectionPoint>clk</startConnectionPoint>
|
||||||
|
<endModule>po_reset_bridge_0</endModule>
|
||||||
|
<endConnectionPoint>clk</endConnectionPoint>
|
||||||
|
</connection>
|
||||||
<connection
|
<connection
|
||||||
name="clk_27.clk/onchip_memory2_0.clk1"
|
name="clk_27.clk/onchip_memory2_0.clk1"
|
||||||
kind="clock"
|
kind="clock"
|
||||||
@ -13459,33 +13823,6 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<endModule>timer_0</endModule>
|
<endModule>timer_0</endModule>
|
||||||
<endConnectionPoint>irq</endConnectionPoint>
|
<endConnectionPoint>irq</endConnectionPoint>
|
||||||
</connection>
|
</connection>
|
||||||
<connection
|
|
||||||
name="clk_27.clk_reset/master_0.clk_reset"
|
|
||||||
kind="reset"
|
|
||||||
version="24.1"
|
|
||||||
start="clk_27.clk_reset"
|
|
||||||
end="master_0.clk_reset">
|
|
||||||
<parameter name="deviceFamily">
|
|
||||||
<type>java.lang.String</type>
|
|
||||||
<value>UNKNOWN</value>
|
|
||||||
<derived>false</derived>
|
|
||||||
<enabled>true</enabled>
|
|
||||||
<visible>true</visible>
|
|
||||||
<valid>true</valid>
|
|
||||||
</parameter>
|
|
||||||
<parameter name="generateLegacySim">
|
|
||||||
<type>boolean</type>
|
|
||||||
<value>false</value>
|
|
||||||
<derived>false</derived>
|
|
||||||
<enabled>true</enabled>
|
|
||||||
<visible>true</visible>
|
|
||||||
<valid>true</valid>
|
|
||||||
</parameter>
|
|
||||||
<startModule>clk_27</startModule>
|
|
||||||
<startConnectionPoint>clk_reset</startConnectionPoint>
|
|
||||||
<endModule>master_0</endModule>
|
|
||||||
<endConnectionPoint>clk_reset</endConnectionPoint>
|
|
||||||
</connection>
|
|
||||||
<connection
|
<connection
|
||||||
name="clk_27.clk_reset/i2c_opencores_0.clock_reset"
|
name="clk_27.clk_reset/i2c_opencores_0.clock_reset"
|
||||||
kind="reset"
|
kind="reset"
|
||||||
@ -13837,6 +14174,60 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<endModule>ibex_0</endModule>
|
<endModule>ibex_0</endModule>
|
||||||
<endConnectionPoint>reset_sink</endConnectionPoint>
|
<endConnectionPoint>reset_sink</endConnectionPoint>
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection
|
||||||
|
name="po_reset_bridge_0.out_reset/master_0.clk_reset"
|
||||||
|
kind="reset"
|
||||||
|
version="24.1"
|
||||||
|
start="po_reset_bridge_0.out_reset"
|
||||||
|
end="master_0.clk_reset">
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<startModule>po_reset_bridge_0</startModule>
|
||||||
|
<startConnectionPoint>out_reset</startConnectionPoint>
|
||||||
|
<endModule>master_0</endModule>
|
||||||
|
<endConnectionPoint>clk_reset</endConnectionPoint>
|
||||||
|
</connection>
|
||||||
|
<connection
|
||||||
|
name="po_reset_bridge_0.out_reset/ibex_0.po_reset_sink"
|
||||||
|
kind="reset"
|
||||||
|
version="24.1"
|
||||||
|
start="po_reset_bridge_0.out_reset"
|
||||||
|
end="ibex_0.po_reset_sink">
|
||||||
|
<parameter name="deviceFamily">
|
||||||
|
<type>java.lang.String</type>
|
||||||
|
<value>UNKNOWN</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="generateLegacySim">
|
||||||
|
<type>boolean</type>
|
||||||
|
<value>false</value>
|
||||||
|
<derived>false</derived>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<visible>true</visible>
|
||||||
|
<valid>true</valid>
|
||||||
|
</parameter>
|
||||||
|
<startModule>po_reset_bridge_0</startModule>
|
||||||
|
<startConnectionPoint>out_reset</startConnectionPoint>
|
||||||
|
<endModule>ibex_0</endModule>
|
||||||
|
<endConnectionPoint>po_reset_sink</endConnectionPoint>
|
||||||
|
</connection>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>1</instanceCount>
|
<instanceCount>1</instanceCount>
|
||||||
<name>clock_source</name>
|
<name>clock_source</name>
|
||||||
@ -13886,7 +14277,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>14</instanceCount>
|
<instanceCount>15</instanceCount>
|
||||||
<name>clock_sink</name>
|
<name>clock_sink</name>
|
||||||
<type>com.altera.entityinterfaces.IElementClass</type>
|
<type>com.altera.entityinterfaces.IElementClass</type>
|
||||||
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
||||||
@ -13894,7 +14285,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<version>24.1</version>
|
<version>24.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>14</instanceCount>
|
<instanceCount>16</instanceCount>
|
||||||
<name>reset_sink</name>
|
<name>reset_sink</name>
|
||||||
<type>com.altera.entityinterfaces.IElementClass</type>
|
<type>com.altera.entityinterfaces.IElementClass</type>
|
||||||
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
||||||
@ -13918,7 +14309,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<version>17.1</version>
|
<version>17.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>8</instanceCount>
|
<instanceCount>9</instanceCount>
|
||||||
<name>conduit_end</name>
|
<name>conduit_end</name>
|
||||||
<type>com.altera.entityinterfaces.IElementClass</type>
|
<type>com.altera.entityinterfaces.IElementClass</type>
|
||||||
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
||||||
@ -13982,7 +14373,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<version>24.1</version>
|
<version>24.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>1</instanceCount>
|
<instanceCount>2</instanceCount>
|
||||||
<name>reset_source</name>
|
<name>reset_source</name>
|
||||||
<type>com.altera.entityinterfaces.IElementClass</type>
|
<type>com.altera.entityinterfaces.IElementClass</type>
|
||||||
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
<subtype>com.altera.entityinterfaces.IMutableConnectionPoint</subtype>
|
||||||
@ -14021,6 +14412,14 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<displayName>pll_reconfig</displayName>
|
<displayName>pll_reconfig</displayName>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<instanceCount>1</instanceCount>
|
||||||
|
<name>altera_reset_bridge</name>
|
||||||
|
<type>com.altera.entityinterfaces.IElementClass</type>
|
||||||
|
<subtype>com.altera.entityinterfaces.IModule</subtype>
|
||||||
|
<displayName>Reset Bridge</displayName>
|
||||||
|
<version>24.1</version>
|
||||||
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>1</instanceCount>
|
<instanceCount>1</instanceCount>
|
||||||
<name>sc_config</name>
|
<name>sc_config</name>
|
||||||
@ -14046,7 +14445,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<version>24.1</version>
|
<version>24.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>14</instanceCount>
|
<instanceCount>15</instanceCount>
|
||||||
<name>clock</name>
|
<name>clock</name>
|
||||||
<type>com.altera.entityinterfaces.IElementClass</type>
|
<type>com.altera.entityinterfaces.IElementClass</type>
|
||||||
<subtype>com.altera.entityinterfaces.IConnection</subtype>
|
<subtype>com.altera.entityinterfaces.IConnection</subtype>
|
||||||
@ -14062,7 +14461,7 @@ parameters are a RESULT of the module parameters. -->
|
|||||||
<version>24.1</version>
|
<version>24.1</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<instanceCount>14</instanceCount>
|
<instanceCount>15</instanceCount>
|
||||||
<name>reset</name>
|
<name>reset</name>
|
||||||
<type>com.altera.entityinterfaces.IElementClass</type>
|
<type>com.altera.entityinterfaces.IElementClass</type>
|
||||||
<subtype>com.altera.entityinterfaces.IConnection</subtype>
|
<subtype>com.altera.entityinterfaces.IConnection</subtype>
|
||||||
|
Loading…
Reference in New Issue
Block a user