summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <root@new-fish.medaka.james.internal>2025-04-30 23:46:52 +0100
committerroot <root@new-fish.medaka.james.internal>2025-04-30 23:46:52 +0100
commit888b91e6fd42c12052af950b63479e97992bd85c (patch)
treea955d9c5038471c2de76fd46ab3d1cb6fb4c5932
parentcff444eb1bd7bc498bc50dca506b745317bc3494 (diff)
downloadhp_instrument_lcds-888b91e6fd42c12052af950b63479e97992bd85c.tar.gz
hp_instrument_lcds-888b91e6fd42c12052af950b63479e97992bd85c.tar.bz2
hp_instrument_lcds-888b91e6fd42c12052af950b63479e97992bd85c.zip
tidy
-rw-r--r--fpga/hp_lcd_driver/Makefile8
-rw-r--r--fpga/hp_lcd_driver/ep4ce15.cfg4
-rw-r--r--fpga/hp_lcd_driver/ep4ce6.mk126
-rw-r--r--fpga/hp_lcd_driver/hp_lcd_driver.ep4ce15_qsft87
-rw-r--r--fpga/hp_lcd_driver/hp_lcd_driver.ep4ce6_qsft144
-rw-r--r--fpga/hp_lcd_driver/output_formatter.vhdl2
-rw-r--r--fpga/hp_lcd_driver/output_stage.vhdl6
-rwxr-xr-xfpga/hp_lcd_driver/prog3
-rw-r--r--fpga/hp_lcd_driver/smh-ac415.mk (renamed from fpga/hp_lcd_driver/ep4ce15.mk)7
-rw-r--r--fpga/smh-ac415-fpga/docs/ac415_sch.pdf (renamed from smh-ac415-fpga/docs/ac415_sch.pdf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/01_led/led/led.qpf (renamed from smh-ac415-fpga/examples/01_led/led/led.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/01_led/led/led.qsf (renamed from smh-ac415-fpga/examples/01_led/led/led.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/01_led/led/led.qws (renamed from smh-ac415-fpga/examples/01_led/led/led.qws)bin1287 -> 1287 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/01_led/led/led.v (renamed from smh-ac415-fpga/examples/01_led/led/led.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/01_led/实验现象.txt (renamed from smh-ac415-fpga/examples/01_led/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qpf (renamed from smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qsf (renamed from smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qws (renamed from smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qws)bin1359 -> 1359 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v (renamed from smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v.bak (renamed from smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v.bak)0
-rw-r--r--fpga/smh-ac415-fpga/examples/02_water_rgb/实验现象.txt (renamed from smh-ac415-fpga/examples/02_water_rgb/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/doc/seg_595_static.vsdx (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/doc/seg_595_static.vsdx)bin160248 -> 160248 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qpf (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qsf (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qws (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qws)bin3107 -> 3107 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.sft (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.sft)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.vo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_slow.vo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_v_slow.sdo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_slow.vo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_v_slow.sdo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_fast.vo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_fast.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_v_fast.sdo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_v_fast.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_modelsim.xrf (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_modelsim.xrf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_v.sdo (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_v.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v.bak (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v.bak)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v.bak (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v.bak)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v.bak (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v.bak)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/sim/tb_seg_595_static.v (renamed from smh-ac415-fpga/examples/03_smg595/smg595_static/sim/tb_seg_595_static.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/03_smg595/实验现象.txt (renamed from smh-ac415-fpga/examples/03_smg595/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qpf (renamed from smh-ac415-fpga/examples/04_touch/touch/touch.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qsf (renamed from smh-ac415-fpga/examples/04_touch/touch/touch.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qws (renamed from smh-ac415-fpga/examples/04_touch/touch/touch.qws)bin1846 -> 1846 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/04_touch/touch/touch.v (renamed from smh-ac415-fpga/examples/04_touch/touch/touch.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/04_touch/实验现象.txt (renamed from smh-ac415-fpga/examples/04_touch/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/doc/rs232.vsdx (renamed from smh-ac415-fpga/examples/05_rs232/rs232/doc/rs232.vsdx)bin547632 -> 547632 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qpf (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qsf (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qws (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qws)bin1327 -> 1327 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232_assignment_defaults.qdf (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232_assignment_defaults.qdf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.sft (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.sft)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.vo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_slow.vo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_v_slow.sdo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_slow.vo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_v_slow.sdo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_fast.vo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_fast.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_v_fast.sdo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_v_fast.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_modelsim.xrf (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_modelsim.xrf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_v.sdo (renamed from smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_v.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/rs232.v (renamed from smh-ac415-fpga/examples/05_rs232/rs232/rtl/rs232.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_rx.v (renamed from smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_rx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_tx.v (renamed from smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_tx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_rs232.v (renamed from smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_rs232.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_rx.v (renamed from smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_rx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_tx.v (renamed from smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_tx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/05_rs232/实验现象.txt (renamed from smh-ac415-fpga/examples/05_rs232/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/data.txt (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/data.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/uart_sd.vsdx (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/uart_sd.vsdx)bin952895 -> 952895 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/PLLJ_PLLSPE_INFO.txt (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/PLLJ_PLLSPE_INFO.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.ppf (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.ppf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.qip (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_bb.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_inst.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.qip (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_bb.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_inst.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.qip (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_bb.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_inst.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.sft (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.sft)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.vo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_slow.vo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_v_slow.sdo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_slow.vo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_v_slow.sdo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_fast.vo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_fast.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_v_fast.sdo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_v_fast.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_modelsim.xrf (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_modelsim.xrf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_v.sdo (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_v.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/clk_gen.qip (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/clk_gen.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qpf (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qsf (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qws (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qws)bin1351 -> 1351 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd_assignment_defaults.qdf (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd_assignment_defaults.qdf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/data_rw_ctrl.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/data_rw_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_ctrl.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v.bak (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v.bak)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_read.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_read.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_write.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_write.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_rx.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_rx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_sd.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_sd.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_tx.v (renamed from smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_tx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/06_uart_sd/实验现象.txt (renamed from smh-ac415-fpga/examples/06_uart_sd/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/VESA VGA时序标准.pdf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/doc/VESA VGA时序标准.pdf)bin1086239 -> 1086239 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/hdmi_colorbar.vsdx (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/doc/hdmi_colorbar.vsdx)bin807294 -> 807294 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/PLLJ_PLLSPE_INFO.txt (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/PLLJ_PLLSPE_INFO.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ddio_out.qip (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ddio_out.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qpf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qsf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar_assignment_defaults.qdf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar_assignment_defaults.qdf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.ppf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.ppf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.qip (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_bb.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_inst.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/clk_gen.qip (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/clk_gen.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.bsf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.bsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.cmp (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.cmp)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.inc (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.inc)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.ppf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.ppf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.qip (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_bb.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_inst.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/pll.qip (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/pll.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.sft (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.sft)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.vo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_slow.vo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_v_slow.sdo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_slow.vo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_v_slow.sdo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_fast.vo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_fast.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_v_fast.sdo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_v_fast.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_modelsim.xrf (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_modelsim.xrf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_v.sdo (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_v.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/encode.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/encode.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/hdmi_ctrl.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/hdmi_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/par_to_ser.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/par_to_ser.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi_colorbar.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi_colorbar.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_ctrl.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_pic.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_pic.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/sim/tb_hdmi_colorbar.v (renamed from smh-ac415-fpga/examples/07_hdmi/hdmi/sim/tb_hdmi_colorbar.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/07_hdmi/实验现象.txt (renamed from smh-ac415-fpga/examples/07_hdmi/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/IS42S116160.pdf (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/IS42S116160.pdf)bin865246 -> 865246 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/ML0006 0012-2.pdf (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/ML0006 0012-2.pdf)bin472487 -> 472487 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/W9825G6DH-6-datasheet.pdf (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/W9825G6DH-6-datasheet.pdf)bin1768339 -> 1768339 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/uart_sdram.vsdx (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/uart_sdram.vsdx)bin845557 -> 845557 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/tast_data.m (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/tast_data.m)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/test_data.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/test_data.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/PLLJ_PLLSPE_INFO.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/PLLJ_PLLSPE_INFO.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.ppf (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.ppf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.qip (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_bb.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_inst.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.qip (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_bb.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_inst.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.qip (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_bb.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_inst.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.qip (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_bb.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_inst.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.sft (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.sft)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.vo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_slow.vo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_v_slow.sdo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_slow.vo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_v_slow.sdo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_fast.vo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_fast.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_v_fast.sdo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_v_fast.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_modelsim.xrf (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_modelsim.xrf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_v.sdo (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_v.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qpf (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qsf (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qws (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qws)bin1420 -> 1420 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/fifo_read.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/fifo_read.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/fifo_ctrl.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/fifo_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_a_ref.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_a_ref.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_arbit.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_arbit.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_ctrl.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_init.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_init.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_read.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_read.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_top.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_top.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_write.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_write.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_rx.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_rx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_sdram.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_sdram.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_tx.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_tx.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/sdram_model_plus.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/sdram_model_plus.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/sdram_model_plus.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/sdram_model_plus.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/tb_sdram_a_ref.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/tb_sdram_a_ref.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/sdram_model_plus.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/sdram_model_plus.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/tb_sdram_ctrl.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/tb_sdram_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/sdram_model_plus.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/sdram_model_plus.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/tb_sdram_init.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/tb_sdram_init.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/sdram_model_plus.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/sdram_model_plus.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/tb_sdram_read.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/tb_sdram_read.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/sdram_model_plus.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/sdram_model_plus.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/tb_sdram_top.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/tb_sdram_top.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/sdram_model_plus.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/sdram_model_plus.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/tb_sdram_write.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/tb_sdram_write.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_uart_sdram.v (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_uart_sdram.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/test_data.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/test_data.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/08_uart_sdram/实验现象.txt (renamed from smh-ac415-fpga/examples/08_uart_sdram/实验现象.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/doc/VESA VGA时序标准.pdf (renamed from smh-ac415-fpga/examples/09_vga/vga/doc/VESA VGA时序标准.pdf)bin1086239 -> 1086239 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/doc/vga_colorbar.vsdx (renamed from smh-ac415-fpga/examples/09_vga/vga/doc/vga_colorbar.vsdx)bin262875 -> 262875 bytes
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/PLLJ_PLLSPE_INFO.txt (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/PLLJ_PLLSPE_INFO.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.ppf (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.ppf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.qip (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.qip)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.v (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_bb.v (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_bb.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_inst.v (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_inst.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.sft (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.sft)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.vo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_slow.vo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_v_slow.sdo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_slow.vo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_slow.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_v_slow.sdo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_v_slow.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_fast.vo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_fast.vo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_v_fast.sdo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_v_fast.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_modelsim.xrf (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_modelsim.xrf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_v.sdo (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_v.sdo)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qpf (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qpf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qsf (renamed from smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qsf)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_colorbar.v (renamed from smh-ac415-fpga/examples/09_vga/vga/rtl/vga_colorbar.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_ctrl.v (renamed from smh-ac415-fpga/examples/09_vga/vga/rtl/vga_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_pic.v (renamed from smh-ac415-fpga/examples/09_vga/vga/rtl/vga_pic.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_colorbar.v (renamed from smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_colorbar.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_ctrl.v (renamed from smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_ctrl.v)0
-rw-r--r--fpga/smh-ac415-fpga/examples/09_vga/实验现象.txt (renamed from smh-ac415-fpga/examples/09_vga/实验现象.txt)0
-rw-r--r--smh-ac415-fpga/lcd_driver/.gitignore6
-rw-r--r--smh-ac415-fpga/lcd_driver/Makefile56
-rw-r--r--smh-ac415-fpga/lcd_driver/a_input.vhdl174
-rw-r--r--smh-ac415-fpga/lcd_driver/ddio_out.vhdl111
-rw-r--r--smh-ac415-fpga/lcd_driver/debounce.vhdl32
-rw-r--r--smh-ac415-fpga/lcd_driver/edge_det.vhdl28
-rw-r--r--smh-ac415-fpga/lcd_driver/hdmi_driver.vhdl52
-rw-r--r--smh-ac415-fpga/lcd_driver/lcd_driver.qpf30
-rw-r--r--smh-ac415-fpga/lcd_driver/lcd_driver.qsf100
-rw-r--r--smh-ac415-fpga/lcd_driver/lcd_driver.vhdl169
-rwxr-xr-xsmh-ac415-fpga/lcd_driver/scripts/vhdl-pretty60
-rw-r--r--smh-ac415-fpga/lcd_driver/synchronizer.vhdl26
-rw-r--r--smh-ac415-fpga/lcd_driver/video_ram.vhdl232
267 files changed, 16 insertions, 1447 deletions
diff --git a/fpga/hp_lcd_driver/Makefile b/fpga/hp_lcd_driver/Makefile
index 693085b..f252002 100644
--- a/fpga/hp_lcd_driver/Makefile
+++ b/fpga/hp_lcd_driver/Makefile
@@ -1,9 +1,9 @@
-TARGETS= ep4ce15 spartan6 #ep4ce6
-fish:ep4ce15
+TARGETS= smh-ac415 spartan6 #ep4ce6
+fish:smh-ac415
+
default: ${TARGETS:%=build_%/hp_lcd_driver.svf}
-ep4ce15: build_ep4ce15/hp_lcd_driver.svf
-ep4ce6hp: build_ep4ce6/hp_lcd_driver.svf
+smh-ac415: build_smh-ac415/hp_lcd_driver.svf
spartan6: build_spartan6/hp_lcd_driver.svf
build_%/hp_lcd_driver.svf: dummy
diff --git a/fpga/hp_lcd_driver/ep4ce15.cfg b/fpga/hp_lcd_driver/ep4ce15.cfg
index 39925e2..4c94f89 100644
--- a/fpga/hp_lcd_driver/ep4ce15.cfg
+++ b/fpga/hp_lcd_driver/ep4ce15.cfg
@@ -6,5 +6,5 @@ jtag newtap $CHIPNAME tap -irlen 10 -ircapture 0x01 -irmask 0x3 -expected-id $FP
init
scan_chain
-svf -tap $CHIPNAME.tap ./build_ep4ce15/hp_lcd_driver.svf
-exit
+#svf -tap $CHIPNAME.tap ./build_ep4ce15/hp_lcd_driver.svf
+#exit
diff --git a/fpga/hp_lcd_driver/ep4ce6.mk b/fpga/hp_lcd_driver/ep4ce6.mk
deleted file mode 100644
index f758f9c..0000000
--- a/fpga/hp_lcd_driver/ep4ce6.mk
+++ /dev/null
@@ -1,126 +0,0 @@
-include relpath.mk
-
-FAMILY=Cyclone IV E
-PART=EP4CE6E22C8
-TOP=hp_lcd_driver
-BUILD=build_ep4ce6
-OF=output_files
-
-PROJECT = hp_lcd_driver
-VSRCS =synchronizer.vhdl debounce.vhdl edge_det.vhdl input_formatter.vhdl input_stage.vhdl output_formatter.vhdl output_analog.vhdl tmds_encoder.vhdl tmds_encode.vhdl tmds_phy_cyclone4.vhdl tmds_output_cyclone4.vhdl output_stage.vhdl clkgen_cyclone4.vhdl vram_cyclone4.vhdl hp_lcd_driver.vhdl
-IPS= vram_cyclone4_impl.vhdl clkgen_cyclone4_impl.vhdl
-
-DESIGN_NAME=${TOP}
-
-MAP_ARGS = --smart
-FIT_ARGS =
-ASM_ARGS =
-STA_ARGS =
-CPF_ARGS = -c -q 1MHZ -g 3.3 -n p
-
-GEN_VSRCS=${IPS:%.vhdl=${BUILD}/%.vhd}
-QIP=${GEN_VSRCS:%.vhd=%.qip}
-
-BASE=${BUILD}/${DESIGN_NAME}
-QSF=${BASE}.qsf
-QPF=${BASE}.qpf
-MAP=${BUILD}/${OF}/$(PROJECT).map.rpt
-FIT=${BUILD}/${OF}/$(PROJECT).fit.rpt
-ASM=${BUILD}/${OF}/$(PROJECT).asm.rpt
-ASM=${BUILD}/${OF}/$(PROJECT).sta.rpt
-SOF=${BUILD}/${OF}/${PROJECT}.sof
-SVF=${BUILD}/${PROJECT}.svf
-
-default:${SVF}
-
-
-${BUILD}/%.vhd ${BUILD}/%.qip:%.vhdl
- cat $< > ${BUILD}/${<:%.vhdl=%.vhd}
- (cd ${BUILD} && run_quartus qmegawiz -silent $(call relpath,${BUILD}/${<:%.vhdl=%.vhd},${BUILD}))
-
-
-${QSF}: ${PRJ} ${DESIGN_NAME}.ep4ce6_qsft
- mkdir -p ${BUILD}
- rm -f $@
- echo 'set_global_assignment -name TOP_LEVEL_ENTITY ${TOP}' >> $@
- echo 'set_global_assignment -name FAMILY "${FAMILY}"' >> $@
- echo 'set_global_assignment -name PROJECT_OUTPUT_DIRECTORY ${OF}' >> $@
- echo 'set_global_assignment -name DEVICE ${PART}' >> $@
- cat ${DESIGN_NAME}.ep4ce6_qsft >> $@
- for file in ${GEN_VSRCS} ${VSRCS}; do \
- echo "set_global_assignment -name VHDL_FILE $$(realpath -m --relative-to=${BUILD} $${file})" >> $@; \
- done
-
-
-
-${QPF}:
- mkdir -p ${BUILD}
- rm -f $@
- echo 'PROJECT_REVISION = "${TOP}"' > $@
-
-
-map: ${MAP}
-${MAP}: ${VSRCS} ${QPF} ${QSF} ${GEN_VSRCS} ${QIP}
- (cd ${BUILD} && run_quartus quartus_map $(MAP_ARGS) ${PROJECT})
-
-fit: ${FIT}
-${FIT}:${MAP}
- (cd ${BUILD} && run_quartus quartus_fit $(FIT_ARGS) $(PROJECT))
-
-asm: ${ASM}
-sof: ${ASM}
-${SOF} ${ASM}:${FIT}
- (cd ${BUILD} && run_quartus quartus_asm $(ASM_ARGS) $(PROJECT))
-
-sta: ${STA}
-${STA}:${FIT}
- (cd ${BUILD} && run_quartus quartus_sta $(STA_ARGS) $(PROJECT))
-
-
-svf:${SVF}
-${SVF}:${SOF}
- (cd ${BUILD} && run_quartus quartus_cpf ${CPF_ARGS} $(call relpath,$<,${BUILD}) $(call relpath,$@,${BUILD}) )
-
-
-
-tidy:
- git diff --exit-code -s ${VSRCS}
- for i in ${VSRCS}; do /bin/cp -f $$i $$i.orig && scripts/vhdl-pretty < $$i.orig > $$i; done
-
-
-
-#
-#
-##OPENOCD=openocd -f interface/altera-usb-blaster.cfg -f cpld/altera-epm240.cfg
-#
-#FIT_ARGS =
-#ASM_ARGS =
-#
-#SVF=${PROJECT}.svf
-#
-#
-#
-#default: ${SVF}
-#
-#${SVF}: ${BUILD}/${PROJECT}.svf
-# cat $< > $@ || /bin/rm -f $@
-#
-#program: ${SVF}
-# ${OPENOCD} -c "init; svf $<; exit"
-#
-#all: ${BUILD}/$(PROJECT).asm.rpt ${BUILD}/$(PROJECT).sta.rpt ${BUILD}/${PROJECT}.svf
-#
-clean:
- rm -rf db ${BUILD} *.orig *.bak incremental_db db
-
-#
-#
-#
-#
-#
-#
-
-#tidy:
-# for i in ${SOURCE_FILES}; do /bin/cp -f $$i $$i.orig && scripts/vhdl-pretty < $$i.orig > $$i; done
-#
-#
diff --git a/fpga/hp_lcd_driver/hp_lcd_driver.ep4ce15_qsft b/fpga/hp_lcd_driver/hp_lcd_driver.ep4ce15_qsft
deleted file mode 100644
index e22c246..0000000
--- a/fpga/hp_lcd_driver/hp_lcd_driver.ep4ce15_qsft
+++ /dev/null
@@ -1,87 +0,0 @@
-#set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1"
-#set_global_assignment -name PROJECT_CREATION_TIME_DATE "11:47:00 APRIL 20, 2025"
-#set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1"
-
-set_parameter -name target "cyclone4"
-
-set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
-set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
-set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1
-set_global_assignment -name NOMINAL_CORE_SUPPLY_VOLTAGE 1.2V
-set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"
-set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation
-set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
-set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
-set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
-set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
-set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
-set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVCMOS"
-
-set_global_assignment -name ON_CHIP_BITSTREAM_DECOMPRESSION OFF
-
-set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
-
-set_location_assignment PIN_T22 -to clk_50m
-set_location_assignment PIN_U20 -to sys_rst_n
-
-set_location_assignment PIN_AB17 -to vsync_out
-set_location_assignment PIN_AA18 -to hsync_out
-
-set_location_assignment PIN_J21 -to r_out
-set_instance_assignment -name IO_STANDARD "2.5 V" -to r_out
-#set_location_assignment PIN_K21 -to rgb[14]
-#set_location_assignment PIN_L22 -to rgb[13]
-#set_location_assignment PIN_L21 -to rgb[12]
-#set_location_assignment PIN_M22 -to rgb[11]
-set_location_assignment PIN_M21 -to g_out
-#set_location_assignment PIN_N21 -to rgb[9]
-#set_location_assignment PIN_N20 -to rgb[8]
-#set_location_assignment PIN_U22 -to rgb[7]
-#set_location_assignment PIN_U21 -to rgb[6]
-#set_location_assignment PIN_W20 -to rgb[5]
-set_location_assignment PIN_W19 -to b_out
-#set_location_assignment PIN_Y21 -to rgb[3]
-#set_location_assignment PIN_AB19 -to rgb[2]
-#set_location_assignment PIN_AA19 -to rgb[1]
-#set_location_assignment PIN_AB18 -to rgb[0]
-
-
-
-set_location_assignment PIN_H21 -to hdmi_c_p
-set_location_assignment PIN_H22 -to hdmi_c_n
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_c_p
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_c_n
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_c_p
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_c_n
-
-set_location_assignment PIN_F21 -to hdmi_b_p
-set_location_assignment PIN_F22 -to hdmi_b_n
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_b_p
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_b_n
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_b_p
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_b_n
-
-set_location_assignment PIN_E21 -to hdmi_g_p
-set_location_assignment PIN_E22 -to hdmi_g_n
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_g_p
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_g_n
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_g_p
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_g_n
-
-set_location_assignment PIN_D21 -to hdmi_r_p
-set_location_assignment PIN_D22 -to hdmi_r_n
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_r_p
-set_instance_assignment -name IO_STANDARD "2.5 V" -to hdmi_r_n
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_r_p
-set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to hdmi_r_n
-
-
-set_location_assignment PIN_AA14 -to hsync_in
-set_location_assignment PIN_W14 -to vsync_in
-set_location_assignment PIN_AA15 -to video[0]
-set_location_assignment PIN_V15 -to video[1]
-set_location_assignment PIN_W7 -to i_clk_out
-
-
-
-
diff --git a/fpga/hp_lcd_driver/hp_lcd_driver.ep4ce6_qsft b/fpga/hp_lcd_driver/hp_lcd_driver.ep4ce6_qsft
deleted file mode 100644
index e3bc6c5..0000000
--- a/fpga/hp_lcd_driver/hp_lcd_driver.ep4ce6_qsft
+++ /dev/null
@@ -1,144 +0,0 @@
-#set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1"
-#set_global_assignment -name PROJECT_CREATION_TIME_DATE "11:47:00 APRIL 20, 2025"
-#set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1"
-
-set_parameter -name target "cyclone4"
-
-set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
-set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
-set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1
-set_global_assignment -name NOMINAL_CORE_SUPPLY_VOLTAGE 1.2V
-set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"
-set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation
-set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
-set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
-set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
-set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
-set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
-set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVCMOS"
-
-set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
-
-
-# use the beeper for this!
-set_location_assignment PIN_85 -to sys_rst_n
-
-#key 3
-set_location_assignment PIN_89 -to video(0)
-#key 4
-set_location_assignment PIN_90 -to video(1)
-
-set_location_assignment PIN_98 -to hsync_in
-set_location_assignment PIN_99 -to vsync_in
-
-#lies - it's 48
-set_location_assignment PIN_24 -to clk_50m
-
-set_location_assignment PIN_100 -to hsync_out
-#set_location_assignment PIN_101 -to vsync_out
-
-set_location_assignment PIN_126 -to r_out
-set_location_assignment PIN_110 -to b_out
-set_location_assignment PIN_119 -to g_out
-
-set_location_assignment PIN_133 -to hdmi_c_p
-set_location_assignment PIN_135 -to hdmi_c_n
-set_location_assignment PIN_136 -to hdmi_r_p
-set_location_assignment PIN_137 -to hdmi_r_n
-set_location_assignment PIN_138 -to hdmi_g_p
-set_location_assignment PIN_142 -to hdmi_g_n
-set_location_assignment PIN_143 -to hdmi_b_p
-set_location_assignment PIN_144 -to hdmi_b_n
-
-
-
-# bank 1
-#
-#set_location_assignment PIN_141 -to led_5
-#set_location_assignment PIN_1 -to led_4
-#set_location_assignment PIN_2 -to led_3
-#set_location_assignment PIN_3 -to led_2
-#
-#set_location_assignment PIN_7 -to flash_di
-#set_location_assignment PIN_10 -to flash_clk
-#set_location_assignment PIN_11 -to flash_ncs
-#set_location_assignment PIN_23 -to flash_do
-#set_location_assignment PIN_25 -to tmp1
-##
-##bank 2
-#set_location_assignment PIN_28 -to dram_dq[1]
-#set_location_assignment PIN_30 -to dram_dq[0]
-#set_location_assignment PIN_31 -to dram_dq[3]
-#set_location_assignment PIN_32 -to dram_dq[2]
-#set_location_assignment PIN_33 -to dram_dq[4]
-#set_location_assignment PIN_34 -to dram_dq[5]
-#
-##bank 3
-#set_location_assignment PIN_38 -to dram_dq[6]
-#set_location_assignment PIN_39 -to dram_dq[7]
-#set_location_assignment PIN_42 -to dram_ldqm
-#set_location_assignment PIN_43 -to dram_we_n
-#set_location_assignment PIN_44 -to dram_cas_n
-#set_location_assignment PIN_46 -to dram_ras_n
-#set_location_assignment PIN_49 -to dram_dq[15]
-#set_location_assignment PIN_50 -to dram_dq[14]
-#set_location_assignment PIN_51 -to dram_dq[13]
-#set_location_assignment PIN_52 -to dram_dq[12]
-#set_location_assignment PIN_53 -to dram_dq[11]
-#
-##bank 4
-#set_location_assignment PIN_54 -to dram_dq[10]
-#set_location_assignment PIN_55 -to dram_dq[9]
-#set_location_assignment PIN_58 -to dram_dq[8]
-#set_location_assignment PIN_59 -to dram_udqm
-#set_location_assignment PIN_60 -to dram_clk
-#set_location_assignment PIN_64 -to dram_cke
-#set_location_assignment PIN_65 -to dram_addr[12]
-#set_location_assignment PIN_66 -to dram_addr[11]
-#set_location_assignment PIN_67 -to dram_addr[9]
-#set_location_assignment PIN_68 -to dram_addr[8]
-#set_location_assignment PIN_69 -to dram_addr[7]
-#set_location_assignment PIN_70 -to dram_addr[6]
-#set_location_assignment PIN_71 -to dram_addr[5]
-#set_location_assignment PIN_72 -to dram_addr[4]
-#
-## bank 5
-#set_location_assignment PIN_73 -to dram_ba_0
-#set_location_assignment PIN_74 -to dram_cs_n
-#set_location_assignment PIN_75 -to dram_ba_1
-#set_location_assignment PIN_76 -to dram_addr[10]
-#set_location_assignment PIN_77 -to dram_addr[0]
-#set_location_assignment PIN_80 -to dram_addr[1]
-#set_location_assignment PIN_83 -to dram_addr[2]
-#set_location_assignment PIN_84 -to dram_addr[3]
-#set_location_assignment PIN_86 -to uart_txd
-#set_location_assignment PIN_87 -to uart_rxd
-##
-## clocks 2
-#set_location_assignment PIN_88 -to key_2
-#set_location_assignment PIN_89 -to key_3
-#set_location_assignment PIN_90 -to key_4
-#set_location_assignment PIN_91 -to key_1
-#
-## bank 6
-#set_location_assignment PIN_103 -to vga_b[0]
-#set_location_assignment PIN_104 -to vga_b[1]
-#set_location_assignment PIN_105 -to vga_b[2]
-#set_location_assignment PIN_106 -to vga_b[3]
-##
-##bank 7
-#set_location_assignment PIN_111 -to vga_g[0]
-#set_location_assignment PIN_112 -to vga_g[1]
-#set_location_assignment PIN_113 -to vga_g[2]
-#set_location_assignment PIN_114 -to vga_g[3]
-#set_location_assignment PIN_115 -to vga_g[4]
-#set_location_assignment PIN_120 -to vga_r[0]
-#set_location_assignment PIN_121 -to vga_r[1]
-#set_location_assignment PIN_121 -to vga_r[2]
-#set_location_assignment PIN_125 -to vga_r[3]
-#set_location_assignment PIN_127 -to adc_clk
-#
-##bank 8
-#set_location_assignment PIN_128 -to adc_dat
-#set_location_assignment PIN_129 -to adc_ncs
-#set_location_assignment PIN_132 -to ir
diff --git a/fpga/hp_lcd_driver/output_formatter.vhdl b/fpga/hp_lcd_driver/output_formatter.vhdl
index 96964ed..aafce2c 100644
--- a/fpga/hp_lcd_driver/output_formatter.vhdl
+++ b/fpga/hp_lcd_driver/output_formatter.vhdl
@@ -71,7 +71,7 @@ begin
if v /= (v_total-1) then
v <= v+1;
h <= 0;
- else --if vsync_in_ne = '1' then
+ else --if vsync_in_ne = '1' then
h <= 0;
v <= 0;
end if;
diff --git a/fpga/hp_lcd_driver/output_stage.vhdl b/fpga/hp_lcd_driver/output_stage.vhdl
index 831e9f8..08dcfdd 100644
--- a/fpga/hp_lcd_driver/output_stage.vhdl
+++ b/fpga/hp_lcd_driver/output_stage.vhdl
@@ -129,9 +129,9 @@ begin
addr_out <= addr;
- r <=r_in;
- g <=g_in;
- b <=b_in;
+ r <= r_in;
+ g <= g_in;
+ b <= b_in;
-- r<=x"00" when h_grid='0'
diff --git a/fpga/hp_lcd_driver/prog b/fpga/hp_lcd_driver/prog
index c0e433c..eab1443 100755
--- a/fpga/hp_lcd_driver/prog
+++ b/fpga/hp_lcd_driver/prog
@@ -2,5 +2,6 @@
OPENOCD="/root/projects/hp_instrument_lcds/fpga/prefix/bin/openocd -f interface/altera-usb-blaster.cfg -f ep4ce15.cfg"
-${OPENOCD} -c quit
+${OPENOCD} -c 'svf -tap $CHIPNAME.tap ./build_smh-ac415/hp_lcd_driver.svf; shutdown ; quit'
+
diff --git a/fpga/hp_lcd_driver/ep4ce15.mk b/fpga/hp_lcd_driver/smh-ac415.mk
index 982934b..52e23e7 100644
--- a/fpga/hp_lcd_driver/ep4ce15.mk
+++ b/fpga/hp_lcd_driver/smh-ac415.mk
@@ -1,9 +1,10 @@
include relpath.mk
+BOARD=smh-ac415
FAMILY=Cyclone IV E
PART=EP4CE15F23C8
TOP=hp_lcd_driver
-BUILD=build_ep4ce15
+BUILD=build_${BOARD}
OF=output_files
PROJECT = hp_lcd_driver
@@ -39,14 +40,14 @@ ${BUILD}/%.vhd ${BUILD}/%.qip:%.vhdl
(cd ${BUILD} && run_quartus qmegawiz -silent $(call relpath,${BUILD}/${<:%.vhdl=%.vhd},${BUILD}))
-${QSF}: ${PRJ} ${DESIGN_NAME}.ep4ce15_qsft
+${QSF}: ${PRJ} ${DESIGN_NAME}.${BOARD}_qsft
mkdir -p ${BUILD}
rm -f $@
echo 'set_global_assignment -name TOP_LEVEL_ENTITY ${TOP}' >> $@
echo 'set_global_assignment -name FAMILY "${FAMILY}"' >> $@
echo 'set_global_assignment -name PROJECT_OUTPUT_DIRECTORY ${OF}' >> $@
echo 'set_global_assignment -name DEVICE ${PART}' >> $@
- cat ${DESIGN_NAME}.ep4ce15_qsft >> $@
+ cat ${DESIGN_NAME}.${BOARD}_qsft >> $@
for file in ${GEN_VSRCS} ${VSRCS}; do \
echo "set_global_assignment -name VHDL_FILE $$(realpath -m --relative-to=${BUILD} $${file})" >> $@; \
done
diff --git a/smh-ac415-fpga/docs/ac415_sch.pdf b/fpga/smh-ac415-fpga/docs/ac415_sch.pdf
index 0c004f0..0c004f0 100644
--- a/smh-ac415-fpga/docs/ac415_sch.pdf
+++ b/fpga/smh-ac415-fpga/docs/ac415_sch.pdf
diff --git a/smh-ac415-fpga/examples/01_led/led/led.qpf b/fpga/smh-ac415-fpga/examples/01_led/led/led.qpf
index 5592af6..5592af6 100644
--- a/smh-ac415-fpga/examples/01_led/led/led.qpf
+++ b/fpga/smh-ac415-fpga/examples/01_led/led/led.qpf
diff --git a/smh-ac415-fpga/examples/01_led/led/led.qsf b/fpga/smh-ac415-fpga/examples/01_led/led/led.qsf
index 1b5ae22..1b5ae22 100644
--- a/smh-ac415-fpga/examples/01_led/led/led.qsf
+++ b/fpga/smh-ac415-fpga/examples/01_led/led/led.qsf
diff --git a/smh-ac415-fpga/examples/01_led/led/led.qws b/fpga/smh-ac415-fpga/examples/01_led/led/led.qws
index 5433526..5433526 100644
--- a/smh-ac415-fpga/examples/01_led/led/led.qws
+++ b/fpga/smh-ac415-fpga/examples/01_led/led/led.qws
Binary files differ
diff --git a/smh-ac415-fpga/examples/01_led/led/led.v b/fpga/smh-ac415-fpga/examples/01_led/led/led.v
index 6c849bc..6c849bc 100644
--- a/smh-ac415-fpga/examples/01_led/led/led.v
+++ b/fpga/smh-ac415-fpga/examples/01_led/led/led.v
diff --git a/smh-ac415-fpga/examples/01_led/实验现象.txt b/fpga/smh-ac415-fpga/examples/01_led/实验现象.txt
index 06a5264..06a5264 100644
--- a/smh-ac415-fpga/examples/01_led/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/01_led/实验现象.txt
diff --git a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qpf b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qpf
index 75f7176..75f7176 100644
--- a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qpf
+++ b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qpf
diff --git a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qsf b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qsf
index 1895fba..1895fba 100644
--- a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qsf
+++ b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qsf
diff --git a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qws b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qws
index f52d856..f52d856 100644
--- a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qws
+++ b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.qws
Binary files differ
diff --git a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v
index 3e5789b..3e5789b 100644
--- a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v
+++ b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v
diff --git a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v.bak b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v.bak
index 26b5726..26b5726 100644
--- a/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v.bak
+++ b/fpga/smh-ac415-fpga/examples/02_water_rgb/water_rgb/water_rgb.v.bak
diff --git a/smh-ac415-fpga/examples/02_water_rgb/实验现象.txt b/fpga/smh-ac415-fpga/examples/02_water_rgb/实验现象.txt
index 1bddefc..1bddefc 100644
--- a/smh-ac415-fpga/examples/02_water_rgb/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/02_water_rgb/实验现象.txt
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/doc/seg_595_static.vsdx b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/doc/seg_595_static.vsdx
index 5815b63..5815b63 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/doc/seg_595_static.vsdx
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/doc/seg_595_static.vsdx
Binary files differ
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qpf b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qpf
index 7eeffdb..7eeffdb 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qpf
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qpf
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qsf b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qsf
index 6b62eea..6b62eea 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qsf
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qsf
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qws b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qws
index e1ce986..e1ce986 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qws
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/seg_595_static.qws
Binary files differ
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.sft b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.sft
index e1d89f4..e1d89f4 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.sft
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.sft
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.vo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.vo
index 3d4f4c9..3d4f4c9 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.vo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static.vo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_slow.vo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_slow.vo
index dcc58a1..dcc58a1 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_slow.vo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_v_slow.sdo
index 9c35a85..9c35a85 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_0c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_slow.vo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_slow.vo
index eba81e2..eba81e2 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_slow.vo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_v_slow.sdo
index 7f4cf64..7f4cf64 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_8_1200mv_85c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_fast.vo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_fast.vo
index 2a5affc..2a5affc 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_fast.vo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_fast.vo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_v_fast.sdo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_v_fast.sdo
index 831b7f2..831b7f2 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_v_fast.sdo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_min_1200mv_0c_v_fast.sdo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_modelsim.xrf b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_modelsim.xrf
index ce539a9..ce539a9 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_modelsim.xrf
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_modelsim.xrf
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_v.sdo b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_v.sdo
index 7f4cf64..7f4cf64 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_v.sdo
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/quartus_prj/simulation/modelsim/seg_595_static_v.sdo
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v
index de9190d..de9190d 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v.bak b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v.bak
index cd9b0e1..cd9b0e1 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v.bak
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/hc595_ctrl.v.bak
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v
index 04365a7..04365a7 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v.bak b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v.bak
index 6d07f57..6d07f57 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v.bak
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_595_static.v.bak
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v
index 062e6ac..062e6ac 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v.bak b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v.bak
index 3c1e6fc..3c1e6fc 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v.bak
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/rtl/seg_static.v.bak
diff --git a/smh-ac415-fpga/examples/03_smg595/smg595_static/sim/tb_seg_595_static.v b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/sim/tb_seg_595_static.v
index 4fd8ce3..4fd8ce3 100644
--- a/smh-ac415-fpga/examples/03_smg595/smg595_static/sim/tb_seg_595_static.v
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/smg595_static/sim/tb_seg_595_static.v
diff --git a/smh-ac415-fpga/examples/03_smg595/实验现象.txt b/fpga/smh-ac415-fpga/examples/03_smg595/实验现象.txt
index b9581e2..b9581e2 100644
--- a/smh-ac415-fpga/examples/03_smg595/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/03_smg595/实验现象.txt
diff --git a/smh-ac415-fpga/examples/04_touch/touch/touch.qpf b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qpf
index 6a3b058..6a3b058 100644
--- a/smh-ac415-fpga/examples/04_touch/touch/touch.qpf
+++ b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qpf
diff --git a/smh-ac415-fpga/examples/04_touch/touch/touch.qsf b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qsf
index 9bfa3c8..9bfa3c8 100644
--- a/smh-ac415-fpga/examples/04_touch/touch/touch.qsf
+++ b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qsf
diff --git a/smh-ac415-fpga/examples/04_touch/touch/touch.qws b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qws
index 7232112..7232112 100644
--- a/smh-ac415-fpga/examples/04_touch/touch/touch.qws
+++ b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.qws
Binary files differ
diff --git a/smh-ac415-fpga/examples/04_touch/touch/touch.v b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.v
index dcf9d12..dcf9d12 100644
--- a/smh-ac415-fpga/examples/04_touch/touch/touch.v
+++ b/fpga/smh-ac415-fpga/examples/04_touch/touch/touch.v
diff --git a/smh-ac415-fpga/examples/04_touch/实验现象.txt b/fpga/smh-ac415-fpga/examples/04_touch/实验现象.txt
index 41b7e47..41b7e47 100644
--- a/smh-ac415-fpga/examples/04_touch/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/04_touch/实验现象.txt
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/doc/rs232.vsdx b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/doc/rs232.vsdx
index 195deeb..195deeb 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/doc/rs232.vsdx
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/doc/rs232.vsdx
Binary files differ
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qpf b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qpf
index 6f228f9..6f228f9 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qpf
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qpf
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qsf b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qsf
index 6d675f3..6d675f3 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qsf
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qsf
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qws b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qws
index 55fe5d0..55fe5d0 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qws
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232.qws
Binary files differ
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232_assignment_defaults.qdf b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232_assignment_defaults.qdf
index 3d59196..3d59196 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232_assignment_defaults.qdf
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/rs232_assignment_defaults.qdf
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.sft b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.sft
index ad21f32..ad21f32 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.sft
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.sft
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.vo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.vo
index 396965f..396965f 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.vo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232.vo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_slow.vo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_slow.vo
index bba2871..bba2871 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_slow.vo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_v_slow.sdo
index 4c542b2..4c542b2 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_0c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_slow.vo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_slow.vo
index b3f326c..b3f326c 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_slow.vo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_v_slow.sdo
index 588ece3..588ece3 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_8_1200mv_85c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_fast.vo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_fast.vo
index c7cf150..c7cf150 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_fast.vo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_fast.vo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_v_fast.sdo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_v_fast.sdo
index ac7de7e..ac7de7e 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_v_fast.sdo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_min_1200mv_0c_v_fast.sdo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_modelsim.xrf b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_modelsim.xrf
index a2e17de..a2e17de 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_modelsim.xrf
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_modelsim.xrf
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_v.sdo b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_v.sdo
index 588ece3..588ece3 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_v.sdo
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/quartus_prj/simulation/modelsim/rs232_v.sdo
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/rtl/rs232.v b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/rs232.v
index 15f9b9d..15f9b9d 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/rtl/rs232.v
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/rs232.v
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_rx.v b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_rx.v
index 5ebbaba..5ebbaba 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_rx.v
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_rx.v
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_tx.v b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_tx.v
index cf80fdf..cf80fdf 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_tx.v
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/rtl/uart_tx.v
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_rs232.v b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_rs232.v
index 1cc87c8..1cc87c8 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_rs232.v
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_rs232.v
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_rx.v b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_rx.v
index 8c0c390..8c0c390 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_rx.v
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_rx.v
diff --git a/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_tx.v b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_tx.v
index b0ecf1c..b0ecf1c 100644
--- a/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_tx.v
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/rs232/sim/tb_uart_tx.v
diff --git a/smh-ac415-fpga/examples/05_rs232/实验现象.txt b/fpga/smh-ac415-fpga/examples/05_rs232/实验现象.txt
index 33456c5..33456c5 100644
--- a/smh-ac415-fpga/examples/05_rs232/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/05_rs232/实验现象.txt
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/data.txt b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/data.txt
index 24ef7b8..24ef7b8 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/data.txt
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/data.txt
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/uart_sd.vsdx b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/uart_sd.vsdx
index 83a2e48..83a2e48 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/uart_sd.vsdx
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/doc/uart_sd.vsdx
Binary files differ
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/PLLJ_PLLSPE_INFO.txt b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/PLLJ_PLLSPE_INFO.txt
index 790cae7..790cae7 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/PLLJ_PLLSPE_INFO.txt
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/PLLJ_PLLSPE_INFO.txt
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.ppf b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.ppf
index a0d0ea9..a0d0ea9 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.ppf
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.ppf
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.qip b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.qip
index ec92e56..ec92e56 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.qip
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.qip
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.v
index 07e1850..07e1850 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_bb.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
index c60b06d..c60b06d 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_inst.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
index bad6ce7..bad6ce7 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
index a059cd0..a059cd0 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.qip b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.qip
index d27d36e..d27d36e 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.qip
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.qip
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.v
index 7e69a6c..7e69a6c 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_bb.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_bb.v
index 4230405..4230405 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_bb.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_bb.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_inst.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_inst.v
index e97cd51..e97cd51 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_inst.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/fifo_rd_data_inst.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/greybox_tmp/cbx_args.txt
index bacc0ff..bacc0ff 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_rd_data/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.qip b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.qip
index 8ccea8e..8ccea8e 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.qip
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.qip
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.v
index 1ddb948..1ddb948 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_bb.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_bb.v
index 0d15210..0d15210 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_bb.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_bb.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_inst.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_inst.v
index 106098f..106098f 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_inst.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/fifo_wr_data_inst.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/greybox_tmp/cbx_args.txt
index a6f0d77..a6f0d77 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/ip_core/fifo_wr_data/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.sft b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.sft
index efdb038..efdb038 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.sft
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.sft
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.vo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.vo
index a6403c2..a6403c2 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.vo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd.vo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_slow.vo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_slow.vo
index 6b66e8b..6b66e8b 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_slow.vo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_v_slow.sdo
index 273365b..273365b 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_0c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_slow.vo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_slow.vo
index 74d0a72..74d0a72 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_slow.vo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_v_slow.sdo
index 079b0bf..079b0bf 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_8_1200mv_85c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_fast.vo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_fast.vo
index 0bcbc2e..0bcbc2e 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_fast.vo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_fast.vo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_v_fast.sdo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_v_fast.sdo
index d3b225b..d3b225b 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_v_fast.sdo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_min_1200mv_0c_v_fast.sdo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_modelsim.xrf b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_modelsim.xrf
index 8521a91..8521a91 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_modelsim.xrf
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_modelsim.xrf
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_v.sdo b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_v.sdo
index b378534..b378534 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_v.sdo
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/simulation/modelsim/uart_sd_v.sdo
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/clk_gen.qip b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/clk_gen.qip
index e69de29..e69de29 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/clk_gen.qip
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/clk_gen.qip
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/greybox_tmp/cbx_args.txt
index bc30615..bc30615 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/stp/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qpf b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qpf
index f5b3989..f5b3989 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qpf
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qpf
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qsf b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qsf
index f0d56ba..f0d56ba 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qsf
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qsf
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qws b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qws
index 105501c..105501c 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qws
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd.qws
Binary files differ
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd_assignment_defaults.qdf b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd_assignment_defaults.qdf
index f091ef2..f091ef2 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd_assignment_defaults.qdf
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/quartus_prj/uart_sd_assignment_defaults.qdf
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/data_rw_ctrl.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/data_rw_ctrl.v
index 1bb9f5e..1bb9f5e 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/data_rw_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/data_rw_ctrl.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_ctrl.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_ctrl.v
index 5f58911..5f58911 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_ctrl.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v
index 3092489..3092489 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v.bak b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v.bak
index 50c320c..50c320c 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v.bak
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_init.v.bak
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_read.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_read.v
index f7fc271..f7fc271 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_read.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_read.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_write.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_write.v
index 1b23bf1..1b23bf1 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_write.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/sd_write.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_rx.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_rx.v
index ad85158..ad85158 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_rx.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_rx.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_sd.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_sd.v
index d85f92d..d85f92d 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_sd.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_sd.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_tx.v b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_tx.v
index a1e1f2e..a1e1f2e 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_tx.v
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/uart_sd/rtl/uart_tx.v
diff --git a/smh-ac415-fpga/examples/06_uart_sd/实验现象.txt b/fpga/smh-ac415-fpga/examples/06_uart_sd/实验现象.txt
index b3c452d..b3c452d 100644
--- a/smh-ac415-fpga/examples/06_uart_sd/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/06_uart_sd/实验现象.txt
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/VESA VGA时序标准.pdf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/VESA VGA时序标准.pdf
index b0b4015..b0b4015 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/VESA VGA时序标准.pdf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/VESA VGA时序标准.pdf
Binary files differ
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/hdmi_colorbar.vsdx b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/hdmi_colorbar.vsdx
index 4438105..4438105 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/hdmi_colorbar.vsdx
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/doc/hdmi_colorbar.vsdx
Binary files differ
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/PLLJ_PLLSPE_INFO.txt b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/PLLJ_PLLSPE_INFO.txt
index dd9735f..dd9735f 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/PLLJ_PLLSPE_INFO.txt
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/PLLJ_PLLSPE_INFO.txt
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ddio_out.qip b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ddio_out.qip
index e69de29..e69de29 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ddio_out.qip
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ddio_out.qip
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/greybox_tmp/cbx_args.txt
index 972848d..972848d 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qpf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qpf
index e0542a7..e0542a7 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qpf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qpf
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qsf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qsf
index d5ba89a..d5ba89a 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qsf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar.qsf
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar_assignment_defaults.qdf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar_assignment_defaults.qdf
index 020bb6d..020bb6d 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar_assignment_defaults.qdf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/hdmi_colorbar_assignment_defaults.qdf
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.ppf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.ppf
index 113b0e9..113b0e9 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.ppf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.ppf
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.qip b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.qip
index 433e305..433e305 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.qip
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.qip
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.v
index 2da04a9..2da04a9 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_bb.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
index fc20c78..fc20c78 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_inst.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
index 8d0a6fe..8d0a6fe 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
index f6a28fe..f6a28fe 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/clk_gen.qip b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/clk_gen.qip
index e69de29..e69de29 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/clk_gen.qip
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/clk_gen.qip
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.bsf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.bsf
index a1a9664..a1a9664 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.bsf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.bsf
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.cmp b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.cmp
index 8334a29..8334a29 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.cmp
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.cmp
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.inc b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.inc
index fa5e50d..fa5e50d 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.inc
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.inc
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.ppf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.ppf
index 2eecd59..2eecd59 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.ppf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.ppf
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.qip b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.qip
index 6084731..6084731 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.qip
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.qip
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.v
index 5758d48..5758d48 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_bb.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_bb.v
index 52b2bf0..52b2bf0 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_bb.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_bb.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_inst.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_inst.v
index 99572eb..99572eb 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_inst.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/ddio_out_inst.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/greybox_tmp/cbx_args.txt
index 19abf30..19abf30 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/pll.qip b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/pll.qip
index e69de29..e69de29 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/pll.qip
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/ip_core/ddio_out/pll.qip
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.sft b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.sft
index 41865e2..41865e2 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.sft
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.sft
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.vo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.vo
index 55cd09e..55cd09e 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.vo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar.vo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_slow.vo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_slow.vo
index 0ae9191..0ae9191 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_slow.vo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_v_slow.sdo
index 07bf248..07bf248 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_0c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_slow.vo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_slow.vo
index 7223147..7223147 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_slow.vo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_v_slow.sdo
index 546f76d..546f76d 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_8_1200mv_85c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_fast.vo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_fast.vo
index ac285b4..ac285b4 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_fast.vo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_fast.vo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_v_fast.sdo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_v_fast.sdo
index 72129fa..72129fa 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_v_fast.sdo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_min_1200mv_0c_v_fast.sdo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_modelsim.xrf b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_modelsim.xrf
index 6ca2a62..6ca2a62 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_modelsim.xrf
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_modelsim.xrf
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_v.sdo b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_v.sdo
index 08f74b3..08f74b3 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_v.sdo
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/quartus_prj/simulation/modelsim/hdmi_colorbar_v.sdo
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/encode.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/encode.v
index 5fd4449..5fd4449 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/encode.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/encode.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/hdmi_ctrl.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/hdmi_ctrl.v
index d0b2a50..d0b2a50 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/hdmi_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/hdmi_ctrl.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/par_to_ser.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/par_to_ser.v
index 3d08083..3d08083 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/par_to_ser.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi/par_to_ser.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi_colorbar.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi_colorbar.v
index 861f8b1..861f8b1 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi_colorbar.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/hdmi_colorbar.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_ctrl.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_ctrl.v
index d6b6ed1..d6b6ed1 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_ctrl.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_pic.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_pic.v
index 05965da..05965da 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_pic.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/rtl/vga_pic.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/hdmi/sim/tb_hdmi_colorbar.v b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/sim/tb_hdmi_colorbar.v
index 77885f8..77885f8 100644
--- a/smh-ac415-fpga/examples/07_hdmi/hdmi/sim/tb_hdmi_colorbar.v
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/hdmi/sim/tb_hdmi_colorbar.v
diff --git a/smh-ac415-fpga/examples/07_hdmi/实验现象.txt b/fpga/smh-ac415-fpga/examples/07_hdmi/实验现象.txt
index 6b1e0c5..6b1e0c5 100644
--- a/smh-ac415-fpga/examples/07_hdmi/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/07_hdmi/实验现象.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/IS42S116160.pdf b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/IS42S116160.pdf
index 4cf210a..4cf210a 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/IS42S116160.pdf
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/IS42S116160.pdf
Binary files differ
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/ML0006 0012-2.pdf b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/ML0006 0012-2.pdf
index 2a88800..2a88800 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/ML0006 0012-2.pdf
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/ML0006 0012-2.pdf
Binary files differ
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/W9825G6DH-6-datasheet.pdf b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/W9825G6DH-6-datasheet.pdf
index dcc2dbd..dcc2dbd 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/W9825G6DH-6-datasheet.pdf
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/W9825G6DH-6-datasheet.pdf
Binary files differ
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/uart_sdram.vsdx b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/uart_sdram.vsdx
index 42f175a..42f175a 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/uart_sdram.vsdx
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/doc/uart_sdram.vsdx
Binary files differ
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/tast_data.m b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/tast_data.m
index ee3a0d3..ee3a0d3 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/tast_data.m
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/tast_data.m
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/test_data.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/test_data.txt
index f81cb6e..f81cb6e 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/test_data.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/matlab/test_data.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/PLLJ_PLLSPE_INFO.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/PLLJ_PLLSPE_INFO.txt
index 790cae7..790cae7 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/PLLJ_PLLSPE_INFO.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/PLLJ_PLLSPE_INFO.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.ppf b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.ppf
index 4ef1af0..4ef1af0 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.ppf
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.ppf
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.qip b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.qip
index 433e305..433e305 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.qip
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.qip
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.v
index 7f4e3ca..7f4e3ca 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_bb.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_bb.v
index 9101d97..9101d97 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_bb.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_bb.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_inst.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_inst.v
index ee1b2f9..ee1b2f9 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_inst.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/clk_gen_inst.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/greybox_tmp/cbx_args.txt
index 687e8e2..687e8e2 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/clk_gen/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.qip b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.qip
index fffcf83..fffcf83 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.qip
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.qip
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.v
index 7031dc3..7031dc3 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_bb.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_bb.v
index 771b984..771b984 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_bb.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_bb.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_inst.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_inst.v
index 20d52aa..20d52aa 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_inst.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/fifo_data_inst.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/greybox_tmp/cbx_args.txt
index a65cfa1..a65cfa1 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_data/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.qip b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.qip
index aaada86..aaada86 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.qip
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.qip
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.v
index af4ca89..af4ca89 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_bb.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_bb.v
index 878b924..878b924 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_bb.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_bb.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_inst.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_inst.v
index 108f8fa..108f8fa 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_inst.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/fifo_read_inst.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/greybox_tmp/cbx_args.txt
index 6491690..6491690 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/fifo_read/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/greybox_tmp/cbx_args.txt
index 6491690..6491690 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.qip b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.qip
index 5c08e23..5c08e23 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.qip
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.qip
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.v
index c0f7b23..c0f7b23 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_bb.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_bb.v
index ebea1f2..ebea1f2 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_bb.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_bb.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_inst.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_inst.v
index 58e24fa..58e24fa 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_inst.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/ip_core/read_fifo/read_fifo_inst.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.sft b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.sft
index 5b18e2c..5b18e2c 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.sft
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.sft
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.vo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.vo
index 43c9473..43c9473 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.vo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram.vo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_slow.vo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_slow.vo
index 9d22bab..9d22bab 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_slow.vo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_v_slow.sdo
index dd3ba87..dd3ba87 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_0c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_slow.vo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_slow.vo
index aa229f8..aa229f8 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_slow.vo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_v_slow.sdo
index 5006d42..5006d42 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_8_1200mv_85c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_fast.vo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_fast.vo
index 303316b..303316b 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_fast.vo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_fast.vo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_v_fast.sdo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_v_fast.sdo
index cc7d6fb..cc7d6fb 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_v_fast.sdo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_min_1200mv_0c_v_fast.sdo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_modelsim.xrf b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_modelsim.xrf
index 4aec183..4aec183 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_modelsim.xrf
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_modelsim.xrf
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_v.sdo b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_v.sdo
index 5006d42..5006d42 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_v.sdo
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/simulation/modelsim/uart_sdram_v.sdo
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qpf b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qpf
index 7b4a7ed..7b4a7ed 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qpf
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qpf
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qsf b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qsf
index 904d70f..904d70f 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qsf
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qsf
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qws b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qws
index d0b8df7..d0b8df7 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qws
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/project/uart_sdram.qws
Binary files differ
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/fifo_read.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/fifo_read.v
index 22e5aca..22e5aca 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/fifo_read.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/fifo_read.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/fifo_ctrl.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/fifo_ctrl.v
index aae3f2b..aae3f2b 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/fifo_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/fifo_ctrl.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_a_ref.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_a_ref.v
index 3b35822..3b35822 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_a_ref.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_a_ref.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_arbit.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_arbit.v
index 710b98d..710b98d 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_arbit.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_arbit.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_ctrl.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_ctrl.v
index 32b78b9..32b78b9 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_ctrl.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_init.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_init.v
index 9fc99f6..9fc99f6 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_init.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_init.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_read.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_read.v
index 4dcb13f..4dcb13f 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_read.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_read.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_top.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_top.v
index 7b1655d..7b1655d 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_top.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_top.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_write.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_write.v
index 4febd1f..4febd1f 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_write.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/sdram/sdram_write.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_rx.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_rx.v
index 01bd165..01bd165 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_rx.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_rx.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_sdram.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_sdram.v
index d50ebcb..d50ebcb 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_sdram.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_sdram.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_tx.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_tx.v
index 9447945..9447945 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_tx.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/rtl/uart_tx.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/sdram_model_plus.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/sdram_model_plus.v
index 4e51287..4e51287 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/sdram_model_plus.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/sdram_model_plus.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/sdram_model_plus.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/sdram_model_plus.v
index 4e51287..4e51287 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/sdram_model_plus.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/sdram_model_plus.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/tb_sdram_a_ref.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/tb_sdram_a_ref.v
index a0fb5bf..a0fb5bf 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/tb_sdram_a_ref.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_a_ref/tb_sdram_a_ref.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/sdram_model_plus.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/sdram_model_plus.v
index 4e51287..4e51287 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/sdram_model_plus.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/sdram_model_plus.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/tb_sdram_ctrl.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/tb_sdram_ctrl.v
index 5a1b6bf..5a1b6bf 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/tb_sdram_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_ctrl/tb_sdram_ctrl.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/sdram_model_plus.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/sdram_model_plus.v
index 4e51287..4e51287 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/sdram_model_plus.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/sdram_model_plus.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/tb_sdram_init.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/tb_sdram_init.v
index 8a1d976..8a1d976 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/tb_sdram_init.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_init/tb_sdram_init.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/sdram_model_plus.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/sdram_model_plus.v
index 4e51287..4e51287 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/sdram_model_plus.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/sdram_model_plus.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/tb_sdram_read.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/tb_sdram_read.v
index 1420491..1420491 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/tb_sdram_read.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_read/tb_sdram_read.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/sdram_model_plus.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/sdram_model_plus.v
index 4e51287..4e51287 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/sdram_model_plus.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/sdram_model_plus.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/tb_sdram_top.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/tb_sdram_top.v
index c9a04b6..c9a04b6 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/tb_sdram_top.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_top/tb_sdram_top.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/sdram_model_plus.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/sdram_model_plus.v
index 4e51287..4e51287 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/sdram_model_plus.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/sdram_model_plus.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/tb_sdram_write.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/tb_sdram_write.v
index 108f7ca..108f7ca 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/tb_sdram_write.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_sdram_write/tb_sdram_write.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_uart_sdram.v b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_uart_sdram.v
index 18133b2..18133b2 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_uart_sdram.v
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/tb_uart_sdram.v
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/test_data.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/test_data.txt
index f81cb6e..f81cb6e 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/test_data.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/uart_sdram/sim/test_data.txt
diff --git a/smh-ac415-fpga/examples/08_uart_sdram/实验现象.txt b/fpga/smh-ac415-fpga/examples/08_uart_sdram/实验现象.txt
index 165e40b..165e40b 100644
--- a/smh-ac415-fpga/examples/08_uart_sdram/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/08_uart_sdram/实验现象.txt
diff --git a/smh-ac415-fpga/examples/09_vga/vga/doc/VESA VGA时序标准.pdf b/fpga/smh-ac415-fpga/examples/09_vga/vga/doc/VESA VGA时序标准.pdf
index b0b4015..b0b4015 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/doc/VESA VGA时序标准.pdf
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/doc/VESA VGA时序标准.pdf
Binary files differ
diff --git a/smh-ac415-fpga/examples/09_vga/vga/doc/vga_colorbar.vsdx b/fpga/smh-ac415-fpga/examples/09_vga/vga/doc/vga_colorbar.vsdx
index 99486d0..99486d0 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/doc/vga_colorbar.vsdx
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/doc/vga_colorbar.vsdx
Binary files differ
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/PLLJ_PLLSPE_INFO.txt b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/PLLJ_PLLSPE_INFO.txt
index dd9735f..dd9735f 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/PLLJ_PLLSPE_INFO.txt
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/PLLJ_PLLSPE_INFO.txt
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.ppf b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.ppf
index 30a8de7..30a8de7 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.ppf
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.ppf
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.qip b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.qip
index 433e305..433e305 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.qip
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.qip
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.v
index 9bf99ee..9bf99ee 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen.v
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_bb.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
index 1892505..1892505 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_bb.v
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_inst.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
index 9d75f00..9d75f00 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/clk_gen_inst.v
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
index 0eb724d..0eb724d 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/ip_core/clk_gen/greybox_tmp/cbx_args.txt
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.sft b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.sft
index 3df98f6..3df98f6 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.sft
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.sft
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.vo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.vo
index 92df8a1..92df8a1 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.vo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar.vo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_slow.vo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_slow.vo
index ef7d7ec..ef7d7ec 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_slow.vo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_v_slow.sdo
index 99bdd4f..99bdd4f 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_0c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_slow.vo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_slow.vo
index 3bf71c5..3bf71c5 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_slow.vo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_slow.vo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_v_slow.sdo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_v_slow.sdo
index 723e9d9..723e9d9 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_v_slow.sdo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_8_1200mv_85c_v_slow.sdo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_fast.vo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_fast.vo
index 17a7bae..17a7bae 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_fast.vo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_fast.vo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_v_fast.sdo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_v_fast.sdo
index 337b1b4..337b1b4 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_v_fast.sdo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_min_1200mv_0c_v_fast.sdo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_modelsim.xrf b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_modelsim.xrf
index 7799820..7799820 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_modelsim.xrf
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_modelsim.xrf
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_v.sdo b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_v.sdo
index 723e9d9..723e9d9 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_v.sdo
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/simulation/modelsim/vga_colorbar_v.sdo
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qpf b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qpf
index 3e567ad..3e567ad 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qpf
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qpf
diff --git a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qsf b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qsf
index ae79bc5..ae79bc5 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qsf
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/quartus_prj/vga_colorbar.qsf
diff --git a/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_colorbar.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_colorbar.v
index 6b5f4dc..6b5f4dc 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_colorbar.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_colorbar.v
diff --git a/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_ctrl.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_ctrl.v
index c00ab5c..c00ab5c 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_ctrl.v
diff --git a/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_pic.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_pic.v
index b0c178c..b0c178c 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_pic.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/rtl/vga_pic.v
diff --git a/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_colorbar.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_colorbar.v
index 6d6bb9f..6d6bb9f 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_colorbar.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_colorbar.v
diff --git a/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_ctrl.v b/fpga/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_ctrl.v
index fe027dd..fe027dd 100644
--- a/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_ctrl.v
+++ b/fpga/smh-ac415-fpga/examples/09_vga/vga/sim/tb_vga_ctrl.v
diff --git a/smh-ac415-fpga/examples/09_vga/实验现象.txt b/fpga/smh-ac415-fpga/examples/09_vga/实验现象.txt
index 0d9b9c8..0d9b9c8 100644
--- a/smh-ac415-fpga/examples/09_vga/实验现象.txt
+++ b/fpga/smh-ac415-fpga/examples/09_vga/实验现象.txt
diff --git a/smh-ac415-fpga/lcd_driver/.gitignore b/smh-ac415-fpga/lcd_driver/.gitignore
deleted file mode 100644
index da1292e..0000000
--- a/smh-ac415-fpga/lcd_driver/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.svf
-*.qws
-db
-incremental_db
-greybox_tmp
-output_files
diff --git a/smh-ac415-fpga/lcd_driver/Makefile b/smh-ac415-fpga/lcd_driver/Makefile
deleted file mode 100644
index 530157e..0000000
--- a/smh-ac415-fpga/lcd_driver/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-PROJECT = lcd_driver
-SOURCE_FILES = a_input.vhdl a_siggen.vhdl clk1.vhdl clk2.vhdl ddio_out.vhdl debounce.vhdl edge_det.vhdl hdmi_driver.vhdl lcd_driver.vhdl synchronizer.vhdl video_ram.vhdl
-ASSIGNMENT_FILES = lcd_driver.qpf lcd_driver.qsf
-
-BUILD=output_files
-
-OPENOCD=openocd -f interface/altera-usb-blaster.cfg -f cpld/altera-epm240.cfg
-
-MAP_ARGS = --smart
-FIT_ARGS =
-ASM_ARGS =
-STA_ARGS =
-CPF_ARGS = -c -q 1MHZ -g 3.3 -n p
-
-SVF=${PROJECT}.svf
-
-
-default: ${SVF}
-
-${SVF}: ${BUILD}/${PROJECT}.svf
- cat $< > $@ || /bin/rm -f $@
-
-program: ${SVF}
- ${OPENOCD} -c "init; svf $<; exit"
-
-all: ${BUILD}/$(PROJECT).asm.rpt ${BUILD}/$(PROJECT).sta.rpt ${BUILD}/${PROJECT}.svf
-
-clean:
- rm -rf db ${BUILD} *.orig *.bak incremental_db
-
-map: ${BUILD}/$(PROJECT).map.rpt
-fit: ${BUILD}/$(PROJECT).fit.rpt
-asm: ${BUILD}/$(PROJECT).asm.rpt
-sta: ${BUILD}/$(PROJECT).sta.rpt
-
-${BUILD}/$(PROJECT).map.rpt: $(SOURCE_FILES)
- run_quartus quartus_map $(MAP_ARGS) ${PROJECT}
-
-${BUILD}/$(PROJECT).fit.rpt: ${BUILD}/$(PROJECT).map.rpt
- run_quartus quartus_fit $(FIT_ARGS) $(PROJECT)
-
-${BUILD}/$(PROJECT).asm.rpt: ${BUILD}/$(PROJECT).fit.rpt
- run_quartus quartus_asm $(ASM_ARGS) $(PROJECT)
-
-${BUILD}/$(PROJECT).sta.rpt: ${BUILD}/$(PROJECT).fit.rpt
- run_quartus quartus_sta $(STA_ARGS) $(PROJECT)
-
-${BUILD}/$(PROJECT).sof: ${BUILD}/$(PROJECT).asm.rpt
-
-${BUILD}/$(PROJECT).svf: ${BUILD}/$(PROJECT).sof
- run_quartus quartus_cpf ${CPF_ARGS} $< $@
-
-tidy:
- for i in ${SOURCE_FILES}; do /bin/cp -f $$i $$i.orig && scripts/vhdl-pretty < $$i.orig > $$i; done
-
-
diff --git a/smh-ac415-fpga/lcd_driver/a_input.vhdl b/smh-ac415-fpga/lcd_driver/a_input.vhdl
deleted file mode 100644
index 434d820..0000000
--- a/smh-ac415-fpga/lcd_driver/a_input.vhdl
+++ /dev/null
@@ -1,174 +0,0 @@
-LIBRARY ieee;
-USE ieee.std_logic_1164.all;
-use IEEE.NUMERIC_STD.all;
-
-LIBRARY altera_mf;
-USE altera_mf.altera_mf_components.all;
-
-ENTITY a_input IS
- generic (debounce_stages : natural := 2;
- sync_stages : natural := 2;
- hres : natural := 594;
- front_porch : natural := 100;
- p_clk_multiple : natural := 4;
- vres : natural := 384);
-
- PORT
- (
- p_clk : in std_logic;
- sys_rst_n : in std_logic;
- video_in:in std_logic;
- bright_in:in std_logic;
- hsync_in:in std_logic;
- vsync_in: in std_logic;
- video_out: out std_logic_vector(1 downto 0);
- addr_out : out std_logic_vector(17 downto 0);
- wren_out : out std_logic;
- p_clk_out : out std_logic
- );
-
-END a_input;
-
-
-ARCHITECTURE beh OF a_input IS
-
- signal p_clk_div : natural;
- signal row_addr : std_logic_vector(17 downto 0) ;
- signal addr : std_logic_vector(17 downto 0) ;
- signal wren: std_logic;
-
-
- signal s_hsync: std_logic;
- signal d_hsync: std_logic;
- signal pe_hsync: std_logic;
- signal ne_hsync: std_logic;
-
-
- signal s_vsync: std_logic;
- signal d_vsync: std_logic;
-
- signal s_video: std_logic;
- signal s_bright: std_logic;
-
- signal fp_counter:natural;
- signal active_counter:natural;
-
-
-begin
-
-
-
- video_sync: entity work.synchronizer
- generic map(stages => sync_stages +debounce_stages)
- port map (
- clk=>p_clk,
- i => video_in,
- o =>s_video
- );
-
-
-
- bright_sync: entity work.synchronizer
- generic map(stages => sync_stages +debounce_stages)
- port map (
- clk=>p_clk,
- i => bright_in,
- o =>s_bright
- );
-
-
- hsync_sync: entity work.synchronizer
- generic map(stages => sync_stages)
- port map (
- clk=>p_clk,
- i => hsync_in,
- o =>s_hsync
- );
-
-
-
- vsync_sync: entity work.synchronizer
- generic map(stages => sync_stages )
- port map (
- clk=>p_clk,
- i => vsync_in,
- o =>s_vsync
- );
-
- hsync_debounce : entity work.debounce
- generic map(stages => debounce_stages)
- port map(
- clk => p_clk,
- i => s_hsync,
- o => d_hsync);
-
-
- hsync_ed : entity work.edge_det
- port map(
- clk => p_clk,
- sig => d_hsync,
- pe => pe_hsync,
- ne => ne_hsync);
-
-
-
-
- vsync_debounce : entity work.debounce
- generic map(stages => debounce_stages)
- port map(
- clk => p_clk,
- i => s_vsync,
- o => d_vsync);
-
-
-
--- horizontal state machine
-
- process (sys_rst_n,p_clk,d_hsync,d_vsync) begin
- if sys_rst_n = '0' then
- row_addr<=(others =>'0');
- addr<=(others =>'0');
- p_clk_div<=p_clk_multiple;
- active_counter <=0;
- fp_counter <=0;
- elsif rising_edge(p_clk) then
- if d_vsync='1' then
- row_addr<=(others => '0');
- addr<=(others => '0');
- fp_counter <= front_porch;
- active_counter <=hres;
- p_clk_div <=p_clk_multiple;
- elsif pe_gsync ='1' then
- row_addr <= std_logic_vector(unsigned(row_addr)+1);
- elsif ne_hsync='1' then
- fp_counter <= front_porch;
- active_counter <=hres;
- p_clk_div <=p_clk_multiple;
- addr<=row_addr;
- elsif fp_counter /= 0 then
- fp_counter <= fp_counter -1;
- elsif active_counter /= 0 then
- if p_clk_div = 0 then
- p_clk_div <=p_clk_multiple;
- active_counter <= active_counter -1;
- addr <= std_logic_vector(unsigned(addr)+vres);
- else
- p_clk_div <= p_clk_div - 1;
- end if;
- else
- p_clk_div <=p_clk_multiple;
- end if;
- end if;
- end process;
-
-
- wren <= '1' when p_clk_div=2 else '0';
-
- addr_out <= addr;
- video_out <= (s_video, s_bright);
- wren_out <= wren;
-
- p_clk_out <= p_clk;
-
-
-end beh;
diff --git a/smh-ac415-fpga/lcd_driver/ddio_out.vhdl b/smh-ac415-fpga/lcd_driver/ddio_out.vhdl
deleted file mode 100644
index 9c634f4..0000000
--- a/smh-ac415-fpga/lcd_driver/ddio_out.vhdl
+++ /dev/null
@@ -1,111 +0,0 @@
--- megafunction wizard: %ALTDDIO_OUT%
--- GENERATION: STANDARD
--- VERSION: WM1.0
--- MODULE: ALTDDIO_OUT
-
--- ============================================================
--- File Name: ddio_out.vhd
--- Megafunction Name(s):
--- ALTDDIO_OUT
---
--- Simulation Library Files(s):
--- altera_mf
--- ============================================================
--- ************************************************************
--- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
---
--- 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
--- ************************************************************
-
-
---Copyright (C) 1991-2013 Altera Corporation
---Your use of Altera Corporation's design tools, logic functions
---and other software and tools, and its AMPP partner logic
---functions, and any output files from any of the foregoing
---(including device programming or simulation files), and any
---associated documentation or information are expressly subject
---to the terms and conditions of the Altera Program License
---Subscription Agreement, Altera MegaCore Function License
---Agreement, or other applicable license agreement, including,
---without limitation, that your use is for the sole purpose of
---programming logic devices manufactured by Altera and sold by
---Altera or its authorized distributors. Please refer to the
---applicable agreement for further details.
-
-
-LIBRARY ieee;
-USE ieee.std_logic_1164.all;
-
-LIBRARY altera_mf;
-USE altera_mf.altera_mf_components.all;
-
-ENTITY ddio_out IS
- PORT
- (
- datain_h : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
- datain_l : IN STD_LOGIC_VECTOR (0 DOWNTO 0);
- outclock : IN STD_LOGIC ;
- dataout : OUT STD_LOGIC_VECTOR (0 DOWNTO 0)
- );
-END ddio_out;
-
-
-ARCHITECTURE SYN OF ddio_out IS
-
- SIGNAL sub_wire0 : STD_LOGIC_VECTOR (0 DOWNTO 0);
-
-BEGIN
- dataout <= sub_wire0(0 DOWNTO 0);
-
- ALTDDIO_OUT_component : ALTDDIO_OUT
- GENERIC MAP (
- extend_oe_disable => "OFF",
- intended_device_family => "Cyclone IV E",
- invert_output => "OFF",
- lpm_hint => "UNUSED",
- lpm_type => "altddio_out",
- oe_reg => "UNREGISTERED",
- power_up_high => "OFF",
- width => 1
- )
- PORT MAP (
- datain_h => datain_h,
- datain_l => datain_l,
- outclock => outclock,
- dataout => sub_wire0
- );
-
-
-
-END SYN;
-
--- ============================================================
--- CNX file retrieval info
--- ============================================================
--- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
--- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E"
--- Retrieval info: CONSTANT: EXTEND_OE_DISABLE STRING "OFF"
--- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E"
--- Retrieval info: CONSTANT: INVERT_OUTPUT STRING "OFF"
--- Retrieval info: CONSTANT: LPM_HINT STRING "UNUSED"
--- Retrieval info: CONSTANT: LPM_TYPE STRING "altddio_out"
--- Retrieval info: CONSTANT: OE_REG STRING "UNREGISTERED"
--- Retrieval info: CONSTANT: POWER_UP_HIGH STRING "OFF"
--- Retrieval info: CONSTANT: WIDTH NUMERIC "1"
--- Retrieval info: USED_PORT: datain_h 0 0 1 0 INPUT NODEFVAL "datain_h[0..0]"
--- Retrieval info: CONNECT: @datain_h 0 0 1 0 datain_h 0 0 1 0
--- Retrieval info: USED_PORT: datain_l 0 0 1 0 INPUT NODEFVAL "datain_l[0..0]"
--- Retrieval info: CONNECT: @datain_l 0 0 1 0 datain_l 0 0 1 0
--- Retrieval info: USED_PORT: dataout 0 0 1 0 OUTPUT NODEFVAL "dataout[0..0]"
--- Retrieval info: CONNECT: dataout 0 0 1 0 @dataout 0 0 1 0
--- Retrieval info: USED_PORT: outclock 0 0 0 0 INPUT_CLK_EXT NODEFVAL "outclock"
--- Retrieval info: CONNECT: @outclock 0 0 0 0 outclock 0 0 0 0
--- Retrieval info: GEN_FILE: TYPE_NORMAL ddio_out.vhd TRUE FALSE
--- Retrieval info: GEN_FILE: TYPE_NORMAL ddio_out.qip TRUE FALSE
--- Retrieval info: GEN_FILE: TYPE_NORMAL ddio_out.bsf TRUE TRUE
--- Retrieval info: GEN_FILE: TYPE_NORMAL ddio_out_inst.vhd TRUE TRUE
--- Retrieval info: GEN_FILE: TYPE_NORMAL ddio_out.inc TRUE TRUE
--- Retrieval info: GEN_FILE: TYPE_NORMAL ddio_out.cmp TRUE TRUE
--- Retrieval info: GEN_FILE: TYPE_NORMAL ddio_out.ppf TRUE FALSE
--- Retrieval info: LIB_FILE: altera_mf
-
diff --git a/smh-ac415-fpga/lcd_driver/debounce.vhdl b/smh-ac415-fpga/lcd_driver/debounce.vhdl
deleted file mode 100644
index 654a2f3..0000000
--- a/smh-ac415-fpga/lcd_driver/debounce.vhdl
+++ /dev/null
@@ -1,32 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.all;
-
-entity debounce is
- generic (stages : natural := 1);
- port (clk : in std_logic;
- i : in std_logic;
- o : out std_logic);
-end debounce;
-
-architecture Behavioral of debounce is
- signal flipflops : std_logic_vector(stages-1 downto 0) := (others => '0');
- constant zero : std_logic_vector(stages-1 downto 0) := (others => '0');
- constant one : std_logic_vector(stages-1 downto 0) := (others => '1');
- signal output : std_logic := '0';
-begin
-
- o <= output;
-
- process (clk,flipflops,i)
- begin
- if rising_edge(clk) then
- flipflops <= flipflops(flipflops'high-1 downto 0) & i;
- if flipflops = one and i = '1' then
- output <= '1';
- elsif flipflops = zero and i = '0' then
- output <= '0';
- end if;
- end if;
- end process;
-
-end architecture;
diff --git a/smh-ac415-fpga/lcd_driver/edge_det.vhdl b/smh-ac415-fpga/lcd_driver/edge_det.vhdl
deleted file mode 100644
index 8cb38eb..0000000
--- a/smh-ac415-fpga/lcd_driver/edge_det.vhdl
+++ /dev/null
@@ -1,28 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.all;
-
-entity edge_det is
- port (clk : in std_logic;
- sig : in std_logic;
- pe : out std_logic;
- ne : out std_logic;
- e : out std_logic
- );
-end edge_det;
-
-architecture Behavioral of edge_det is
- signal last : std_logic := '0';
-begin
-
- process(clk,last,sig)
- begin
- if rising_edge(clk) then
- last <= sig;
- end if;
- end process;
-
- pe <= '1' when sig = '1' and last = '0' else '0';
- ne <= '1' when sig = '0' and last = '1' else '0';
-
- e <= sig xor last;
-end Behavioral;
diff --git a/smh-ac415-fpga/lcd_driver/hdmi_driver.vhdl b/smh-ac415-fpga/lcd_driver/hdmi_driver.vhdl
deleted file mode 100644
index 7c6b422..0000000
--- a/smh-ac415-fpga/lcd_driver/hdmi_driver.vhdl
+++ /dev/null
@@ -1,52 +0,0 @@
-LIBRARY ieee;
-USE ieee.std_logic_1164.all;
-
-LIBRARY altera_mf;
-USE altera_mf.altera_mf_components.all;
-
-ENTITY hdmi_driver IS
- PORT
- (
- in_h : in std_logic;
- in_l : in std_logic;
- clk : in std_logic;
- output : out std_logic
- );
-END hdmi_driver;
-
-
-ARCHITECTURE beh OF hdmi_driver IS
-
- signal out_v : std_logic_vector(0 downto 0);
- signal out_n_v : std_logic_vector(0 downto 0);
- signal in_l_v : std_logic_vector(0 downto 0);
- signal in_h_v : std_logic_vector(0 downto 0);
-
-BEGIN
-
- output <= out_v(0);
- in_l_v(0) <= in_l;
- in_h_v(0) <= in_h;
-
- ddio_p : ALTDDIO_OUT
- GENERIC MAP (
- extend_oe_disable => "OFF",
- intended_device_family => "Cyclone IV E",
- invert_output => "OFF",
- lpm_hint => "UNUSED",
- lpm_type => "altddio_out",
- oe_reg => "UNREGISTERED",
- power_up_high => "OFF",
- width => 1
- )
- PORT MAP (
- datain_h => in_h_v,
- datain_l => in_l_v,
- outclock => clk,
- dataout => out_v
- );
-
-
-END beh;
-
-
diff --git a/smh-ac415-fpga/lcd_driver/lcd_driver.qpf b/smh-ac415-fpga/lcd_driver/lcd_driver.qpf
deleted file mode 100644
index fbfca6e..0000000
--- a/smh-ac415-fpga/lcd_driver/lcd_driver.qpf
+++ /dev/null
@@ -1,30 +0,0 @@
-# -------------------------------------------------------------------------- #
-#
-# Copyright (C) 1991-2013 Altera Corporation
-# Your use of Altera Corporation's design tools, logic functions
-# and other software and tools, and its AMPP partner logic
-# functions, and any output files from any of the foregoing
-# (including device programming or simulation files), and any
-# associated documentation or information are expressly subject
-# to the terms and conditions of the Altera Program License
-# Subscription Agreement, Altera MegaCore Function License
-# Agreement, or other applicable license agreement, including,
-# without limitation, that your use is for the sole purpose of
-# programming logic devices manufactured by Altera and sold by
-# Altera or its authorized distributors. Please refer to the
-# applicable agreement for further details.
-#
-# -------------------------------------------------------------------------- #
-#
-# Quartus II 32-bit
-# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
-# Date created = 11:47:00 April 20, 2025
-#
-# -------------------------------------------------------------------------- #
-
-QUARTUS_VERSION = "13.0"
-DATE = "11:47:00 April 20, 2025"
-
-# Revisions
-
-PROJECT_REVISION = "lcd_driver"
diff --git a/smh-ac415-fpga/lcd_driver/lcd_driver.qsf b/smh-ac415-fpga/lcd_driver/lcd_driver.qsf
deleted file mode 100644
index 7607808..0000000
--- a/smh-ac415-fpga/lcd_driver/lcd_driver.qsf
+++ /dev/null
@@ -1,100 +0,0 @@
-# -------------------------------------------------------------------------- #
-#
-# Copyright (C) 1991-2013 Altera Corporation
-# Your use of Altera Corporation's design tools, logic functions
-# and other software and tools, and its AMPP partner logic
-# functions, and any output files from any of the foregoing
-# (including device programming or simulation files), and any
-# associated documentation or information are expressly subject
-# to the terms and conditions of the Altera Program License
-# Subscription Agreement, Altera MegaCore Function License
-# Agreement, or other applicable license agreement, including,
-# without limitation, that your use is for the sole purpose of
-# programming logic devices manufactured by Altera and sold by
-# Altera or its authorized distributors. Please refer to the
-# applicable agreement for further details.
-#
-# -------------------------------------------------------------------------- #
-#
-# Quartus II 32-bit
-# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
-# Date created = 11:47:00 April 20, 2025
-#
-# -------------------------------------------------------------------------- #
-#
-# Notes:
-#
-# 1) The default values for assignments are stored in the file:
-# lcd_driver_assignment_defaults.qdf
-# If this file doesn't exist, see file:
-# assignment_defaults.qdf
-#
-# 2) Altera recommends that you do not modify this file. This
-# file is updated automatically by the Quartus II software
-# and any changes you make may be lost or overwritten.
-#
-# -------------------------------------------------------------------------- #
-
-
-set_global_assignment -name FAMILY "Cyclone IV E"
-set_global_assignment -name DEVICE EP4CE15F23C8
-set_global_assignment -name TOP_LEVEL_ENTITY lcd_driver
-set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1"
-set_global_assignment -name PROJECT_CREATION_TIME_DATE "11:47:00 APRIL 20, 2025"
-set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1"
-set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
-set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
-set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
-set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1
-set_global_assignment -name NOMINAL_CORE_SUPPLY_VOLTAGE 1.2V
-set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"
-set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation
-set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
-set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
-set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
-set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
-set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
-set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVCMOS"
-
-
-set_location_assignment PIN_T22 -to clk_50m
-set_location_assignment PIN_U20 -to sys_rst_n
-
-
-set_location_assignment PIN_H22 -to hdmi_clk_n
-set_location_assignment PIN_H21 -to hdmi_clk_p
-
-#set_location_assignment PIN_F22 -to hdmi_red_n
-#set_location_assignment PIN_E22 -to hdmi_green_n
-#set_location_assignment PIN_D22 -to hdmi_blue_n
-
-set_location_assignment PIN_F21 -to hdmi_red
-set_location_assignment PIN_E21 -to hdmi_green
-set_location_assignment PIN_D21 -to hdmi_blue
-
-
-set_location_assignment PIN_N22 -to hdmi_ddc_scl
-set_location_assignment PIN_R22 -to hdmi_ddc_sda
-
-
-
-set_instance_assignment -name IO_STANDARD LVDS -to hdmi_clk
-set_instance_assignment -name IO_STANDARD LVDS -to hdmi_red
-set_instance_assignment -name IO_STANDARD LVDS -to hdmi_green
-set_instance_assignment -name IO_STANDARD LVDS -to hdmi_blue
-
-
-
-
-set_global_assignment -name VHDL_FILE clk1.vhdl
-set_global_assignment -name VHDL_FILE clk2.vhdl
-set_global_assignment -name VHDL_FILE edge_det.vhdl
-set_global_assignment -name VHDL_FILE debounce.vhdl
-set_global_assignment -name VHDL_FILE synchronizer.vhdl
-set_global_assignment -name VHDL_FILE video_ram.vhdl
-set_global_assignment -name VHDL_FILE lcd_driver.vhdl
-set_global_assignment -name VHDL_FILE hdmi_driver.vhdl
-set_global_assignment -name VHDL_FILE a_input.vhdl
-set_global_assignment -name VHDL_FILE a_siggen.vhdl
-
-set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
diff --git a/smh-ac415-fpga/lcd_driver/lcd_driver.vhdl b/smh-ac415-fpga/lcd_driver/lcd_driver.vhdl
deleted file mode 100644
index 8a07fde..0000000
--- a/smh-ac415-fpga/lcd_driver/lcd_driver.vhdl
+++ /dev/null
@@ -1,169 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.all;
-use IEEE.NUMERIC_STD.all;
-
-entity lcd_driver is
- port (
- clk_50m : in std_logic;
- sys_rst_n : in std_logic;
-
- s_video : in std_logic;
- s_bright : in std_logic;
- s_hsync : in std_logic;
- s_vsync : in std_logic;
-
- hdmi_ddc_scl : inout std_logic;
- hdmi_ddc_sda : inout std_logic;
-
- hdmi_clk : out std_logic;
- hdmi_red : out std_logic;
- hdmi_green : out std_logic;
- hdmi_blue : out std_logic
-
-
-
--- hdmi_clk_p : out std_logic;
--- hdmi_clk_n : out std_logic;
--- hdmi_red_p : out std_logic;
--- hdmi_red_n : out std_logic;
--- hdmi_green_p : out std_logic;
--- hdmi_green_n : out std_logic;
--- hdmi_blue_p : out std_logic;
--- hdmi_blue_n : out std_logic
- );
-end entity lcd_driver;
-
-architecture behavioural of lcd_driver is
-
-
- signal wren :std_logic;
- signal w_addr :std_logic_vector(17 downto 0);
- signal r_addr :std_logic_vector(17 downto 0);
-
- signal clk_80m : std_logic;
- signal clk_20m : std_logic;
- signal clk_91_25m : std_logic;
-
- signal a_bright: std_logic;
- signal a_video: std_logic;
- signal a_hsync: std_logic;
- signal a_vsync : std_logic;
-
-
- signal a_data : std_logic_vector(1 downto 0);
-
- signal f_data : std_logic_vector(1 downto 0);
-
- signal f_red : std_logic_vector(7 downto 0);
- signal f_green : std_logic_vector(7 downto 0);
- signal f_blue : std_logic_vector(7 downto 0);
- signal f_hsync: std_logic;
- signal f_vsync : std_logic;
-
- signal h_data : std_logic_vector(1 downto 0);
-
-begin
-
-
--- gtf at 30Hz xrandr --newmode "$M" 127.98 1536 1632 1792 2048 2048 2049 2052 2083 -HSync +Vsync
--- works at 60Hz xrandr --newmode "$M" 213.06 1536 1544 1552 1728 2048 2049 2051 2055 -HSync +Vsync
--- works at 60Hz xrandr --newmode "$M" 18.24 384 400 440 600 592 593 596 613 -HSync +Vsync
-
-
- clk1_0:work.clk1
- port map (
- areset => not sys_rst_n,
- inclk0 => clk_50m,
- c0 => clk_80m,
- c1 => clk_20m
- );
-
-
- clk2_0:work.clk2
- port map (
- areset => not sys_rst_n,
- inclk0 => clk_50m,
- c0 => clk_91_25m
- );
-
-
-
- a_siggen0:work.a_siggen
- port map (
- sys_rst_n => sys_rst_n,
- pclk => clk_20m,
- bright=> a_bright,
- video => a_video,
- hsync => a_hsync,
- vsync => a_vsync
- );
-
-
-
- a_input0: work.a_input
- port map (
- sys_rst_n => sys_rst_n,
- p_clk => clk_80m,
-
- video_in => a_video,
- bright_in => a_bright,
- hsync_in => a_hsync,
- vsync_in => a_vsync,
-
- video_out => a_data,
- addr_out => w_addr,
- wren_out => wren
- );
-
-
-
- formatter0: work.formatter
- port map (
- sys_rst_n => sys_rst_n,
- p_clk => clk_91_25m,
-
- addr_out => r_addr,
- hsync_out => h_hsync,
- vsync_out => h_vsync,
- wren_out => wren
- );
-
-
-
-
- process (sys_rst_n,r_addr,clk_91_25m) begin
- if sys_rst_n = '0' then
- r_addr <=(others =>'0');
- elsif rising_edge(clk_91_25m) then
- r_addr <= std_logic_vector(unsigned(w_addr)+1);
- end if;
- end process;
-
- vram: work.video_ram
- PORT MAP (
- data =>a_data,
- wraddress =>w_addr,
- wrclock =>clk_80m,
- wren => wren,
-
- rdaddress => r_addr,
- rdclock => clk_91_25m,
- q => h_data
- );
-
-
-
-
-
-
- red_driver : work.hdmi_driver
- PORT MAP (
- in_h => h_data(0),
- in_l => h_data(1),
- clk => clk_91_25m,
- output => hdmi_red
- );
-
-
-
-end behavioural;
diff --git a/smh-ac415-fpga/lcd_driver/scripts/vhdl-pretty b/smh-ac415-fpga/lcd_driver/scripts/vhdl-pretty
deleted file mode 100755
index c514b85..0000000
--- a/smh-ac415-fpga/lcd_driver/scripts/vhdl-pretty
+++ /dev/null
@@ -1,60 +0,0 @@
-#! /bin/sh
-":"; exec emacs --no-site-file --script "$0" -- "$0" "$@" # -*-emacs-lisp-*-
-; vim: noai:ts=4:sw=4:syntax=lisp
-
-(setq arg0 (file-truename (car (cdr argv))))
-(setq args (cdr (cdr argv)))
-(setq argv nil)
-
-; Parse the command line arguments,
-; --xxx -> ("xxx" t)
-; --no-xxx -> ("xxx" nil)
-; --xxx=123 -> ("xxx" 123)
-; --xxx=abc -> ("xxx" "abc")
-; --xxx='abc 123' -> ("xxx" "abc 123")
-; --xxx=abc=123 -> ("xxx" "abc=123")
-(setq args
- (mapcar
- (lambda (arg)
- (cond
- ((string-match "^--no-\\([^=]*\\)$" arg)
- (list (intern (match-string 1 arg)) nil))
- ((string-match "^--\\([^=]*\\)$" arg)
- (list (intern (match-string 1 arg)) t))
- ((string-match "^--\\([^=]*\\)=\\([\"']?\\)\\([0-9]+\\)\\2$" arg)
- (list (intern (match-string 1 arg)) (string-to-number (match-string 3 arg))))
- ((string-match "^--\\([^=]*\\)=\\([\"']?\\)\\(.+?\\)\\2$" arg)
- (list (intern (match-string 1 arg)) (match-string 3 arg)))
- (t nil)
- ))
- args))
-
-; Read stdin into buffer
-(defun insert-standard-input ()
- "insert contents from standard input"
- (condition-case nil
- (let (line)
- (while (setq line (read-from-minibuffer ""))
- (insert line "\n")))
- (error nil)))
-
-(insert-standard-input)
-(goto-char (point-min))
-
-; Load library
-(setq basedir (concat (file-name-directory arg0) "vhdl-mode"))
-(setq load-path (cons basedir load-path))
-(load-library "vhdl-mode")
-
-; Default customisation
-(vhdl-set-style "IEEE")
-
-; Customisation from cmdline
-(mapc (lambda (arg) (customize-set-variable (car arg) (car (cdr arg)))) args)
-
-; Turn on mode and beautify
-(vhdl-mode)
-(vhdl-beautify-region (point-min) (point-max))
-
-; Output buffer to stdout
-(princ (buffer-string))
diff --git a/smh-ac415-fpga/lcd_driver/synchronizer.vhdl b/smh-ac415-fpga/lcd_driver/synchronizer.vhdl
deleted file mode 100644
index 99618b9..0000000
--- a/smh-ac415-fpga/lcd_driver/synchronizer.vhdl
+++ /dev/null
@@ -1,26 +0,0 @@
-library IEEE;
-use IEEE.STD_LOGIC_1164.all;
-
-entity synchronizer is
- generic (stages : natural := 2);
- port (clk : in std_logic;
- i : in std_logic;
- o : out std_logic);
-end synchronizer;
-
-architecture Behavioral of synchronizer is
- signal flipflops : std_logic_vector(stages-1 downto 0) := (others => '0');
- attribute ASYNC_REG : string;
- attribute ASYNC_REG of flipflops : signal is "true";
-begin
-
- o <= flipflops(flipflops'high);
-
- clk_proc : process(clk,flipflops,i)
- begin
- if rising_edge(clk) then
- flipflops <= flipflops(flipflops'high-1 downto 0) & i;
- end if;
- end process;
-
-end Behavioral;
diff --git a/smh-ac415-fpga/lcd_driver/video_ram.vhdl b/smh-ac415-fpga/lcd_driver/video_ram.vhdl
deleted file mode 100644
index 43bacaa..0000000
--- a/smh-ac415-fpga/lcd_driver/video_ram.vhdl
+++ /dev/null
@@ -1,232 +0,0 @@
--- megafunction wizard: %RAM: 2-PORT%
--- GENERATION: STANDARD
--- VERSION: WM1.0
--- MODULE: altsyncram
-
--- ============================================================
--- File Name: video_ram.vhd
--- Megafunction Name(s):
--- altsyncram
---
--- Simulation Library Files(s):
--- altera_mf
--- ============================================================
--- ************************************************************
--- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
---
--- 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
--- ************************************************************
-
-
---Copyright (C) 1991-2013 Altera Corporation
---Your use of Altera Corporation's design tools, logic functions
---and other software and tools, and its AMPP partner logic
---functions, and any output files from any of the foregoing
---(including device programming or simulation files), and any
---associated documentation or information are expressly subject
---to the terms and conditions of the Altera Program License
---Subscription Agreement, Altera MegaCore Function License
---Agreement, or other applicable license agreement, including,
---without limitation, that your use is for the sole purpose of
---programming logic devices manufactured by Altera and sold by
---Altera or its authorized distributors. Please refer to the
---applicable agreement for further details.
-
-
-LIBRARY ieee;
-USE ieee.std_logic_1164.all;
-
-LIBRARY altera_mf;
-USE altera_mf.all;
-
-ENTITY video_ram IS
- PORT
- (
- data : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
- rdaddress : IN STD_LOGIC_VECTOR (17 DOWNTO 0);
- rdclock : IN STD_LOGIC ;
- wraddress : IN STD_LOGIC_VECTOR (17 DOWNTO 0);
- wrclock : IN STD_LOGIC := '1';
- wren : IN STD_LOGIC := '0';
- q : OUT STD_LOGIC_VECTOR (1 DOWNTO 0)
- );
-END video_ram;
-
-
-ARCHITECTURE SYN OF video_ram IS
-
- SIGNAL sub_wire0 : STD_LOGIC_VECTOR (1 DOWNTO 0);
-
-
-
- COMPONENT altsyncram
- GENERIC (
- address_aclr_b : STRING;
- address_reg_b : STRING;
- clock_enable_input_a : STRING;
- clock_enable_input_b : STRING;
- clock_enable_output_b : STRING;
- intended_device_family : STRING;
- lpm_type : STRING;
- numwords_a : NATURAL;
- numwords_b : NATURAL;
- operation_mode : STRING;
- outdata_aclr_b : STRING;
- outdata_reg_b : STRING;
- power_up_uninitialized : STRING;
- widthad_a : NATURAL;
- widthad_b : NATURAL;
- width_a : NATURAL;
- width_b : NATURAL;
- width_byteena_a : NATURAL
- );
- PORT (
- address_a : IN STD_LOGIC_VECTOR (17 DOWNTO 0);
- clock0 : IN STD_LOGIC ;
- data_a : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
- q_b : OUT STD_LOGIC_VECTOR (1 DOWNTO 0);
- wren_a : IN STD_LOGIC ;
- address_b : IN STD_LOGIC_VECTOR (17 DOWNTO 0);
- clock1 : IN STD_LOGIC
- );
- END COMPONENT;
-
-BEGIN
- q <= sub_wire0(1 DOWNTO 0);
-
- altsyncram_component : altsyncram
- GENERIC MAP (
- address_aclr_b => "NONE",
- address_reg_b => "CLOCK1",
- clock_enable_input_a => "BYPASS",
- clock_enable_input_b => "BYPASS",
- clock_enable_output_b => "BYPASS",
- intended_device_family => "Cyclone IV E",
- lpm_type => "altsyncram",
- numwords_a => 206712,
- numwords_b => 206712,
- operation_mode => "DUAL_PORT",
- outdata_aclr_b => "NONE",
- outdata_reg_b => "CLOCK1",
- power_up_uninitialized => "FALSE",
- widthad_a => 18,
- widthad_b => 18,
- width_a => 2,
- width_b => 2,
- width_byteena_a => 1
- )
- PORT MAP (
- address_a => wraddress,
- clock0 => wrclock,
- data_a => data,
- wren_a => wren,
- address_b => rdaddress,
- clock1 => rdclock,
- q_b => sub_wire0
- );
-
-
-
-END SYN;
-
--- ============================================================
--- CNX file retrieval info
--- ============================================================
--- Retrieval info: PRIVATE: ADDRESSSTALL_A NUMERIC "0"
--- Retrieval info: PRIVATE: ADDRESSSTALL_B NUMERIC "0"
--- Retrieval info: PRIVATE: BYTEENA_ACLR_A NUMERIC "0"
--- Retrieval info: PRIVATE: BYTEENA_ACLR_B NUMERIC "0"
--- Retrieval info: PRIVATE: BYTE_ENABLE_A NUMERIC "0"
--- Retrieval info: PRIVATE: BYTE_ENABLE_B NUMERIC "0"
--- Retrieval info: PRIVATE: BYTE_SIZE NUMERIC "8"
--- Retrieval info: PRIVATE: BlankMemory NUMERIC "1"
--- Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_A NUMERIC "0"
--- Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_B NUMERIC "0"
--- Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_A NUMERIC "0"
--- Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_B NUMERIC "0"
--- Retrieval info: PRIVATE: CLRdata NUMERIC "0"
--- Retrieval info: PRIVATE: CLRq NUMERIC "0"
--- Retrieval info: PRIVATE: CLRrdaddress NUMERIC "0"
--- Retrieval info: PRIVATE: CLRrren NUMERIC "0"
--- Retrieval info: PRIVATE: CLRwraddress NUMERIC "0"
--- Retrieval info: PRIVATE: CLRwren NUMERIC "0"
--- Retrieval info: PRIVATE: Clock NUMERIC "1"
--- Retrieval info: PRIVATE: Clock_A NUMERIC "0"
--- Retrieval info: PRIVATE: Clock_B NUMERIC "0"
--- Retrieval info: PRIVATE: IMPLEMENT_IN_LES NUMERIC "0"
--- Retrieval info: PRIVATE: INDATA_ACLR_B NUMERIC "0"
--- Retrieval info: PRIVATE: INDATA_REG_B NUMERIC "0"
--- Retrieval info: PRIVATE: INIT_FILE_LAYOUT STRING "PORT_B"
--- Retrieval info: PRIVATE: INIT_TO_SIM_X NUMERIC "0"
--- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E"
--- Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
--- Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
--- Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
--- Retrieval info: PRIVATE: MEMSIZE NUMERIC "413424"
--- Retrieval info: PRIVATE: MEM_IN_BITS NUMERIC "0"
--- Retrieval info: PRIVATE: MIFfilename STRING ""
--- Retrieval info: PRIVATE: OPERATION_MODE NUMERIC "2"
--- Retrieval info: PRIVATE: OUTDATA_ACLR_B NUMERIC "0"
--- Retrieval info: PRIVATE: OUTDATA_REG_B NUMERIC "1"
--- Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
--- Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_MIXED_PORTS NUMERIC "2"
--- Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_A NUMERIC "3"
--- Retrieval info: PRIVATE: READ_DURING_WRITE_MODE_PORT_B NUMERIC "3"
--- Retrieval info: PRIVATE: REGdata NUMERIC "1"
--- Retrieval info: PRIVATE: REGq NUMERIC "1"
--- Retrieval info: PRIVATE: REGrdaddress NUMERIC "1"
--- Retrieval info: PRIVATE: REGrren NUMERIC "1"
--- Retrieval info: PRIVATE: REGwraddress NUMERIC "1"
--- Retrieval info: PRIVATE: REGwren NUMERIC "1"
--- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
--- Retrieval info: PRIVATE: USE_DIFF_CLKEN NUMERIC "0"
--- Retrieval info: PRIVATE: UseDPRAM NUMERIC "1"
--- Retrieval info: PRIVATE: VarWidth NUMERIC "0"
--- Retrieval info: PRIVATE: WIDTH_READ_A NUMERIC "2"
--- Retrieval info: PRIVATE: WIDTH_READ_B NUMERIC "2"
--- Retrieval info: PRIVATE: WIDTH_WRITE_A NUMERIC "2"
--- Retrieval info: PRIVATE: WIDTH_WRITE_B NUMERIC "2"
--- Retrieval info: PRIVATE: WRADDR_ACLR_B NUMERIC "0"
--- Retrieval info: PRIVATE: WRADDR_REG_B NUMERIC "0"
--- Retrieval info: PRIVATE: WRCTRL_ACLR_B NUMERIC "0"
--- Retrieval info: PRIVATE: enable NUMERIC "0"
--- Retrieval info: PRIVATE: rden NUMERIC "0"
--- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
--- Retrieval info: CONSTANT: ADDRESS_ACLR_B STRING "NONE"
--- Retrieval info: CONSTANT: ADDRESS_REG_B STRING "CLOCK1"
--- Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
--- Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_B STRING "BYPASS"
--- Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_B STRING "BYPASS"
--- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone IV E"
--- Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
--- Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "206712"
--- Retrieval info: CONSTANT: NUMWORDS_B NUMERIC "206712"
--- Retrieval info: CONSTANT: OPERATION_MODE STRING "DUAL_PORT"
--- Retrieval info: CONSTANT: OUTDATA_ACLR_B STRING "NONE"
--- Retrieval info: CONSTANT: OUTDATA_REG_B STRING "CLOCK1"
--- Retrieval info: CONSTANT: POWER_UP_UNINITIALIZED STRING "FALSE"
--- Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "18"
--- Retrieval info: CONSTANT: WIDTHAD_B NUMERIC "18"
--- Retrieval info: CONSTANT: WIDTH_A NUMERIC "2"
--- Retrieval info: CONSTANT: WIDTH_B NUMERIC "2"
--- Retrieval info: CONSTANT: WIDTH_BYTEENA_A NUMERIC "1"
--- Retrieval info: USED_PORT: data 0 0 2 0 INPUT NODEFVAL "data[1..0]"
--- Retrieval info: USED_PORT: q 0 0 2 0 OUTPUT NODEFVAL "q[1..0]"
--- Retrieval info: USED_PORT: rdaddress 0 0 18 0 INPUT NODEFVAL "rdaddress[17..0]"
--- Retrieval info: USED_PORT: rdclock 0 0 0 0 INPUT NODEFVAL "rdclock"
--- Retrieval info: USED_PORT: wraddress 0 0 18 0 INPUT NODEFVAL "wraddress[17..0]"
--- Retrieval info: USED_PORT: wrclock 0 0 0 0 INPUT VCC "wrclock"
--- Retrieval info: USED_PORT: wren 0 0 0 0 INPUT GND "wren"
--- Retrieval info: CONNECT: @address_a 0 0 18 0 wraddress 0 0 18 0
--- Retrieval info: CONNECT: @address_b 0 0 18 0 rdaddress 0 0 18 0
--- Retrieval info: CONNECT: @clock0 0 0 0 0 wrclock 0 0 0 0
--- Retrieval info: CONNECT: @clock1 0 0 0 0 rdclock 0 0 0 0
--- Retrieval info: CONNECT: @data_a 0 0 2 0 data 0 0 2 0
--- Retrieval info: CONNECT: @wren_a 0 0 0 0 wren 0 0 0 0
--- Retrieval info: CONNECT: q 0 0 2 0 @q_b 0 0 2 0
--- Retrieval info: GEN_FILE: TYPE_NORMAL video_ram.vhd TRUE
--- Retrieval info: GEN_FILE: TYPE_NORMAL video_ram.inc FALSE
--- Retrieval info: GEN_FILE: TYPE_NORMAL video_ram.cmp TRUE
--- Retrieval info: GEN_FILE: TYPE_NORMAL video_ram.bsf FALSE
--- Retrieval info: GEN_FILE: TYPE_NORMAL video_ram_inst.vhd TRUE
--- Retrieval info: LIB_FILE: altera_mf