mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Cleaned up fpga synthesis script.
This commit is contained in:
		
							parent
							
								
									b9c8b808ea
								
							
						
					
					
						commit
						f061a26411
					
				| @ -1 +1 @@ | |||||||
| Subproject commit ddcfa6cc3d80818140a459e590296c3079c5a3ec | Subproject commit d22b280198e74b871e04fc0ddb622fb825fdae49 | ||||||
| @ -3,41 +3,8 @@ | |||||||
| # mmcm_clkout0 is the clock output of the DDR4 memory interface / 4. | # mmcm_clkout0 is the clock output of the DDR4 memory interface / 4. | ||||||
| # This clock is not used by wally or the AHBLite Bus. However it is used by the AXI BUS on the DD4 IP. | # This clock is not used by wally or the AHBLite Bus. However it is used by the AXI BUS on the DD4 IP. | ||||||
| 
 | 
 | ||||||
| # generate 1 clock for the slow speed SD Card hardware. However we need to time at the mmcm_clkout1 |  | ||||||
| # clock speed. |  | ||||||
| 
 |  | ||||||
| #create_generated_clock -name r_fd_Q -source [get_pins wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/toggle_flip_flop/i_CLK] -divide_by 50 [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/toggle_flip_flop/r_fd_Q] |  | ||||||
| 
 |  | ||||||
| #create_clock -period 4.000 [get_ports default_250mhz_clk1_0_p] |  | ||||||
| 
 |  | ||||||
| # need to create a clock for mmcm_clkout1. In the gui flow this was auto generated somehow. |  | ||||||
| # turns out this clock is auto generated but has a different name. wtf |  | ||||||
| # 10 Mhz |  | ||||||
| #create_clock -name mmcm_clkout1 -period 100 [get_pins xlnx_ddr4_c0/addn_ui_clkout1] |  | ||||||
| 
 |  | ||||||
| #create_generated_clock -name mmcm_clkout1 -source [get_pins xlnx_ddr4_c0/c0_sys_clk_p] -edges {1 2 3} -edge_shift {0.000 48.000 96.000} [get_pins xlnx_ddr4_c0/addn_ui_clkout1] |  | ||||||
| 
 |  | ||||||
| #create_generated_clock -name mmcm_clkout1 xlnx_ddr4_c0/addn_ui_clkout1 |  | ||||||
| #create_generated_clock -name mmcm_clkout1 mmcm_clkout1  |  | ||||||
| 
 |  | ||||||
| create_generated_clock -name CLKDiv64_Gen -source [get_pins wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/I0] -multiply_by 1 [get_pins wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/O] | create_generated_clock -name CLKDiv64_Gen -source [get_pins wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/I0] -multiply_by 1 [get_pins wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/O] | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #create_generated_clock -name mmcm_clkout1_Gen -source [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/I0] -divide_by 1 -add -master_clock mmcm_clkout1 [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/O] |  | ||||||
| 
 |  | ||||||
| #create_generated_clock -name CLKDiv64_Gen -source [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/I1] -divide_by 1 -add -master_clock mmcm_clkout1_Gen [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/O] |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #create_generated_clock -name mmcm_clkout1_Gen_slow -source [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/I0] -divide_by 8 -add -master_clock mmcm_clkout1 [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/O] |  | ||||||
| 
 |  | ||||||
| #create_generated_clock -name CLKDiv64_Gen_slow -source [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/I1] -divide_by 8 -add -master_clock mmcm_clkout1_Gen_slow [get_pins wrapper_i/wallypipelinedsocwra_0/inst/wallypipelinedsoc/uncore/sdc.SDC/sd_top/slow_clk_divider/clkMux/O] |  | ||||||
| 
 |  | ||||||
| #set_clock_groups -logically_exclusive -group [get_clocks -include_generated_clocks mmcm_clkout1_Gen] -group [get_clocks -include_generated_clocks CLKDiv64_Gen] |  | ||||||
| #set_clock_groups -logically_exclusive -group [get_clocks -include_generated_clocks mmcm_clkout1_Gen] -group [get_clocks -include_generated_clocks CLKDiv64_Gen_slow] |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ##### GPI #### | ##### GPI #### | ||||||
| set_property PACKAGE_PIN BB24 [get_ports {GPI[0]}] | set_property PACKAGE_PIN BB24 [get_ports {GPI[0]}] | ||||||
| set_property PACKAGE_PIN BF22 [get_ports {GPI[1]}] | set_property PACKAGE_PIN BF22 [get_ports {GPI[1]}] | ||||||
|  | |||||||
| @ -19,111 +19,18 @@ read_verilog  {../src/fpgaTop.v} | |||||||
| 
 | 
 | ||||||
| set_property include_dirs {../../wally-pipelined/config/fpga ../../wally-pipelined/config/shared} [current_fileset] | set_property include_dirs {../../wally-pipelined/config/fpga ../../wally-pipelined/config/shared} [current_fileset] | ||||||
| 
 | 
 | ||||||
| # contrainsts generated by the IP blocks |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ahblite_axi_bridge.gen/sources_1/ip/xlnx_ahblite_axi_bridge/xlnx_ahblite_axi_bridge_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files  IP/xlnx_ahblite_axi_bridge.gen/sources_1/ip/xlnx_ahblite_axi_bridge/xlnx_ahblite_axi_bridge_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_axi_clock_converter.gen/sources_1/ip/xlnx_axi_clock_converter/xlnx_axi_clock_converter_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_axi_clock_converter.gen/sources_1/ip/xlnx_axi_clock_converter/xlnx_axi_clock_converter_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/ip_1/par/xlnx_ddr4_phy_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/ip_1/par/xlnx_ddr4_phy_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_0/bd_1ba7_microblaze_I_0.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_0/bd_1ba7_microblaze_I_0.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_1/bd_1ba7_rst_0_0_board.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_1/bd_1ba7_rst_0_0_board.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_2/bd_1ba7_ilmb_0.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_2/bd_1ba7_ilmb_0.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_3/bd_1ba7_dlmb_0.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_3/bd_1ba7_dlmb_0.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_1/bd_1ba7_rst_0_0.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_1/bd_1ba7_rst_0_0.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_6/bd_1ba7_lmb_bram_I_0_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_6/bd_1ba7_lmb_bram_I_0_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_9/bd_1ba7_second_lmb_bram_I_0_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_9/bd_1ba7_second_lmb_bram_I_0_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_10/bd_1ba7_iomodule_0_0_board.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_10/bd_1ba7_iomodule_0_0_board.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/bd_1ba7_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files  IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/bd_1ba7_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/ip_0/xlnx_ddr4_microblaze_mcs_board.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/ip_0/xlnx_ddr4_microblaze_mcs_board.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/ip_0/xlnx_ddr4_microblaze_mcs_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/ip_0/xlnx_ddr4_microblaze_mcs_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/xlnx_ddr4_board.xdc |  | ||||||
| #set_property PROCESSING_ORDER LATE [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/xlnx_ddr4_board.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/par/xlnx_ddr4.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/par/xlnx_ddr4.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_proc_sys_reset.gen/sources_1/ip/xlnx_proc_sys_reset/xlnx_proc_sys_reset_board.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_proc_sys_reset.gen/sources_1/ip/xlnx_proc_sys_reset/xlnx_proc_sys_reset_board.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_proc_sys_reset.gen/sources_1/ip/xlnx_proc_sys_reset/xlnx_proc_sys_reset.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_proc_sys_reset.gen/sources_1/ip/xlnx_proc_sys_reset/xlnx_proc_sys_reset.xdc] |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_proc_sys_reset.gen/sources_1/ip/xlnx_proc_sys_reset/xlnx_proc_sys_reset_ooc.xdc |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_proc_sys_reset.gen/sources_1/ip/xlnx_proc_sys_reset/xlnx_proc_sys_reset_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| add_files -fileset constrs_1 -norecurse ../constraints/constraints.xdc | add_files -fileset constrs_1 -norecurse ../constraints/constraints.xdc | ||||||
| set_property PROCESSING_ORDER NORMAL [get_files  ../constraints/constraints.xdc] | set_property PROCESSING_ORDER NORMAL [get_files  ../constraints/constraints.xdc] | ||||||
| 
 | 
 | ||||||
| # implementation only |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_axi_clock_converter.gen/sources_1/ip/xlnx_axi_clock_converter/xlnx_axi_clock_converter_clocks.xdc |  | ||||||
| #set_property PROCESSING_ORDER LATE [get_files IP/xlnx_axi_clock_converter.gen/sources_1/ip/xlnx_axi_clock_converter/xlnx_axi_clock_converter_clocks.xdc] |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/bd_0/ip/ip_0/bd_1ba7_microblaze_I_0_ooc_debug.xdc |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ahblite_axi_bridge.runs/xlnx_ahblite_axi_bridge_synth_1/dont_touch.xdc |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_proc_sys_reset.runs/xlnx_proc_sys_reset_synth_1/dont_touch.xdc |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_axi_clock_converter.runs/xlnx_axi_clock_converter_synth_1/.Xil/xlnx_axi_clock_converter_propImpl.xdc |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_axi_clock_converter.runs/xlnx_axi_clock_converter_synth_1/dont_touch.xdc |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.runs/xlnx_ddr4_synth_1/.Xil/xlnx_ddr4_propImpl.xdc |  | ||||||
| #add_files -fileset constrs_1 -norecurse IP/xlnx_ddr4.runs/xlnx_ddr4_synth_1/dont_touch.xdc |  | ||||||
| 
 |  | ||||||
| # constraints for wally top level |  | ||||||
| 
 |  | ||||||
| # define top level | # define top level | ||||||
| set_property top fpgaTop [current_fileset] | set_property top fpgaTop [current_fileset] | ||||||
| 
 | 
 | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_ddr4.gen/sources_1/ip/xlnx_ddr4/ip_0/xlnx_ddr4_microblaze_mcs_ooc.xdc] |  | ||||||
| #set_property PROCESSING_ORDER EARLY [get_files IP/xlnx_proc_sys_reset.gen/sources_1/ip/xlnx_proc_sys_reset/xlnx_proc_sys_reset_ooc.xdc] |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| update_compile_order -fileset sources_1 | update_compile_order -fileset sources_1 | ||||||
| # this line is wrong vvv |  | ||||||
| #update_compile_order -fileset constrs_1 |  | ||||||
| # This is important as the ddr4 IP contains the generate clock constraint which the user constraints depend on. | # This is important as the ddr4 IP contains the generate clock constraint which the user constraints depend on. | ||||||
|  | exec mkdir -p reports/ | ||||||
|  | exec rm -rf reports/* | ||||||
|  | 
 | ||||||
| report_compile_order -constraints > reports/compile_order.rpt | report_compile_order -constraints > reports/compile_order.rpt | ||||||
| 
 | 
 | ||||||
| # this is elaboration not synthesis. | # this is elaboration not synthesis. | ||||||
| @ -137,8 +44,6 @@ launch_runs synth_1 -jobs 4 | |||||||
| wait_on_run synth_1 | wait_on_run synth_1 | ||||||
| open_run synth_1 | open_run synth_1 | ||||||
| 
 | 
 | ||||||
| exec mkdir -p reports/ |  | ||||||
| exec rm -rf reports/* |  | ||||||
| 
 | 
 | ||||||
| check_timing -verbose                                                   -file reports/check_timing.rpt | check_timing -verbose                                                   -file reports/check_timing.rpt | ||||||
| report_timing -max_paths 10 -nworst 10 -delay_type max -sort_by slack   -file reports/timing_WORST_10.rpt | report_timing -max_paths 10 -nworst 10 -delay_type max -sort_by slack   -file reports/timing_WORST_10.rpt | ||||||
|  | |||||||
| @ -41,7 +41,7 @@ set_property -dict [list CONFIG.C0.ControllerType {DDR4_SDRAM} \ | |||||||
| 			CONFIG.C0.DDR4_CLKOUT0_DIVIDE {6} \ | 			CONFIG.C0.DDR4_CLKOUT0_DIVIDE {6} \ | ||||||
| 			CONFIG.Reference_Clock {Differential} \ | 			CONFIG.Reference_Clock {Differential} \ | ||||||
| 			CONFIG.ADDN_UI_CLKOUT1.INSERT_VIP {0} \ | 			CONFIG.ADDN_UI_CLKOUT1.INSERT_VIP {0} \ | ||||||
| 			CONFIG.ADDN_UI_CLKOUT1_FREQ_HZ {10} \ | 			CONFIG.ADDN_UI_CLKOUT1_FREQ_HZ {23} \ | ||||||
| 			CONFIG.ADDN_UI_CLKOUT2.INSERT_VIP {0} \ | 			CONFIG.ADDN_UI_CLKOUT2.INSERT_VIP {0} \ | ||||||
| 			CONFIG.ADDN_UI_CLKOUT2_FREQ_HZ {208} \ | 			CONFIG.ADDN_UI_CLKOUT2_FREQ_HZ {208} \ | ||||||
| 			CONFIG.ADDN_UI_CLKOUT3.INSERT_VIP {0} \ | 			CONFIG.ADDN_UI_CLKOUT3.INSERT_VIP {0} \ | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								wally-pipelined/src/cache/icachefsm.sv
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								wally-pipelined/src/cache/icachefsm.sv
									
									
									
									
										vendored
									
									
								
							| @ -331,8 +331,10 @@ module icachefsm | |||||||
|           ICacheStallF = 1'b0; |           ICacheStallF = 1'b0; | ||||||
|         end else if (ITLBWriteF) begin |         end else if (ITLBWriteF) begin | ||||||
|           NextState = STATE_TLB_MISS_DONE; |           NextState = STATE_TLB_MISS_DONE; | ||||||
|  |           ICacheStallF = 1'b1;		   | ||||||
|         end else begin |         end else begin | ||||||
|           NextState = STATE_TLB_MISS; |           NextState = STATE_TLB_MISS; | ||||||
|  | 		  ICacheStallF = 1'b0; | ||||||
|         end |         end | ||||||
|       end |       end | ||||||
|       STATE_TLB_MISS_DONE: begin |       STATE_TLB_MISS_DONE: begin | ||||||
|  | |||||||
| @ -138,7 +138,7 @@ module uartPC16550D( | |||||||
|       LSR <= #1 8'b01100000; |       LSR <= #1 8'b01100000; | ||||||
|       MSR <= #1 4'b0; |       MSR <= #1 4'b0; | ||||||
|       if (`FPGA) begin |       if (`FPGA) begin | ||||||
| 	DLL <= #1 8'd11; | 	DLL <= #1 8'd25; | ||||||
| 	DLM <= #1 8'b0; | 	DLM <= #1 8'b0; | ||||||
|       end else begin |       end else begin | ||||||
| 	DLL <= #1 8'd1; // this cannot be zero with DLM also zer0.
 | 	DLL <= #1 8'd1; // this cannot be zero with DLM also zer0.
 | ||||||
| @ -154,8 +154,8 @@ module uartPC16550D( | |||||||
|           3'b000: if (DLAB) DLL <= #1 Din; // else TXHR <= #1 Din; // TX handled in TX register/FIFO section
 |           3'b000: if (DLAB) DLL <= #1 Din; // else TXHR <= #1 Din; // TX handled in TX register/FIFO section
 | ||||||
|           3'b001: if (DLAB) DLM <= #1 Din; else IER <= #1 Din[3:0]; |           3'b001: if (DLAB) DLM <= #1 Din; else IER <= #1 Din[3:0]; | ||||||
|  -----/\----- EXCLUDED -----/\----- */ |  -----/\----- EXCLUDED -----/\----- */ | ||||||
| 	  // *** BUG FIX ME for now for the divider to be 11.  Our clock is 10 Mhz.  10Mhz /(11 * 16) = 56818 baud, which is close enough to 57600 baud
 | 	  // *** BUG FIX ME for now for the divider to be 11.  Our clock is 23 Mhz.  23Mhz /(25 * 16) = 57600 baud, which is close enough to 57600 baud
 | ||||||
|           3'b000: if (DLAB) DLL <= #1 8'd11; //else TXHR <= #1 Din; // TX handled in TX register/FIFO section
 |           3'b000: if (DLAB) DLL <= #1 8'd25; //else TXHR <= #1 Din; // TX handled in TX register/FIFO section
 | ||||||
|           3'b001: if (DLAB) DLM <= #1 8'b0; else IER <= #1 Din[3:0]; |           3'b001: if (DLAB) DLM <= #1 8'b0; else IER <= #1 Din[3:0]; | ||||||
| 
 | 
 | ||||||
|           3'b010: FCR <= #1 {Din[7:6], 2'b0, Din[3], 2'b0, Din[0]}; // Write only FIFO Control Register; 4:5 reserved and 2:1 self-clearing
 |           3'b010: FCR <= #1 {Din[7:6], 2'b0, Din[3], 2'b0, Din[0]}; // Write only FIFO Control Register; 4:5 reserved and 2:1 self-clearing
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user