modified the wave ram
This commit is contained in:
parent
bad218fbf3
commit
b282a13882
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -135,7 +135,6 @@ begin
|
||||||
port map (
|
port map (
|
||||||
-- Port A CPU Bus
|
-- Port A CPU Bus
|
||||||
clka => clk , -- input std_logic
|
clka => clk , -- input std_logic
|
||||||
ena => ram_waveform_ena , -- input std_logic
|
|
||||||
wea => ram_waveform_wea , -- input slv(0 downto 0)
|
wea => ram_waveform_wea , -- input slv(0 downto 0)
|
||||||
addra => ram_waveform_addra , -- input slv(10 downto 0)
|
addra => ram_waveform_addra , -- input slv(10 downto 0)
|
||||||
dina => ram_waveform_dina , -- input slv(31 downto 0)
|
dina => ram_waveform_dina , -- input slv(31 downto 0)
|
||||||
|
@ -143,7 +142,6 @@ begin
|
||||||
|
|
||||||
-- Port B waveform output
|
-- Port B waveform output
|
||||||
clkb => clk , -- input std_logic
|
clkb => clk , -- input std_logic
|
||||||
enb => ram_waveform_enb , -- input std_logic
|
|
||||||
web => (others=>'0') , -- input slv(0 downto 0)
|
web => (others=>'0') , -- input slv(0 downto 0)
|
||||||
addrb => ram_waveform_addrb , -- input slv(11 downto 0)
|
addrb => ram_waveform_addrb , -- input slv(11 downto 0)
|
||||||
dinb => (others=>'0') , -- input slv(15 downto 0)
|
dinb => (others=>'0') , -- input slv(15 downto 0)
|
||||||
|
|
|
@ -100,7 +100,7 @@ end;
|
||||||
|
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
-- CPU write pulse definition RAM
|
-- CPU write pulse definition RAM
|
||||||
-- Use 96 bit data to make three 32-bit writes
|
-- Make fore 32-bit data write
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
procedure cpu_write_pulsedef(
|
procedure cpu_write_pulsedef(
|
||||||
signal clk : in std_logic;
|
signal clk : in std_logic;
|
||||||
|
@ -193,7 +193,7 @@ end;
|
||||||
|
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
-- CPU read pulse definition RAM
|
-- CPU read pulse definition RAM
|
||||||
-- Use 96 bit data to make three 32-bit writes
|
-- make four 32-bit reads
|
||||||
-------------------------------------------------------------
|
-------------------------------------------------------------
|
||||||
procedure cpu_read_pulsedef(
|
procedure cpu_read_pulsedef(
|
||||||
signal clk : in std_logic;
|
signal clk : in std_logic;
|
||||||
|
@ -238,10 +238,10 @@ begin
|
||||||
|
|
||||||
--etc, etc.
|
--etc, etc.
|
||||||
-- 4 writes. (Address is an integer)
|
-- 4 writes. (Address is an integer)
|
||||||
cpu_write(clk, ADR_RAM_PULSE+num_entry , x"00" & slv_pulsetime, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
-- cpu_read(clk, ADR_RAM_PULSE+num_entry, x"00" & slv_pulsetime, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
||||||
cpu_write(clk, ADR_RAM_PULSE+(num_entry+1) , "00" & x"00" & slv_wavesteps & slv_wavestartaddr, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
-- cpu_read(clk, ADR_RAM_PULSE+(num_entry+1) , "00" & x"00" & slv_wavesteps & slv_wavestartaddr, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
||||||
cpu_write(clk, ADR_RAM_PULSE+(num_entry+2) , slv_timefactor & slv_gainfactor, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
-- cpu_read(clk, ADR_RAM_PULSE+(num_entry+2) , slv_timefactor & slv_gainfactor, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
||||||
cpu_write(clk, ADR_RAM_PULSE+(num_entry+3) , "0000000" & x"00" & slv_wavetopwidth, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
-- cpu_read(clk, ADR_RAM_PULSE+(num_entry+3) , "0000000" & x"00" & slv_wavetopwidth, cpu_sel, cpu_wr, cpu_addr, cpu_wdata);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ create_project zcu_pulse_channel ../../prj -force
|
||||||
set_property board_part xilinx.com:zcu102:part0:3.4 [current_project]
|
set_property board_part xilinx.com:zcu102:part0:3.4 [current_project]
|
||||||
|
|
||||||
add_files {..\..\src\hdl\modules\qlaser_dacs_pulse_channel.vhdl}
|
add_files {..\..\src\hdl\modules\qlaser_dacs_pulse_channel.vhdl}
|
||||||
add_files -fileset sim_1 {..\..\src\hdl\tb\tb_cpubus_dacs_pulse_channel_pd.vhdl}
|
add_files -fileset sim_1 {..\..\src\hdl\tb\tb_cpubus_dacs_pulse_channel.vhdl}
|
||||||
add_files {..\..\src\hdl\pkg\qlaser_dac_dc_pkg.vhd}
|
add_files {..\..\src\hdl\pkg\qlaser_dac_dc_pkg.vhd}
|
||||||
add_files {..\..\src\hdl\pkg\qlaser_pkg.vhd}
|
add_files {..\..\src\hdl\pkg\qlaser_pkg.vhd}
|
||||||
add_files {..\..\src\hdl\pkg\iopakp.vhd}
|
add_files {..\..\src\hdl\pkg\iopakp.vhd}
|
||||||
|
|
|
@ -117,8 +117,8 @@
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EST_POWER_SUMMARY">Estimated Power for IP : 6.91608 mW</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_EST_POWER_SUMMARY">Estimated Power for IP : 6.91608 mW</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">zynquplus</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_FAMILY">zynquplus</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_AXI_ID">0</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENA">1</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENA">0</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENB">1</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_ENB">0</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INJECTERR">0</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_INJECTERR">0</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_A">0</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_A">0</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_HAS_MEM_OUTPUT_REGS_B">0</spirit:configurableElementValue>
|
||||||
|
@ -186,8 +186,8 @@
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SHUTDOWN_PIN">false</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SHUTDOWN_PIN">false</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SLEEP_PIN">false</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.EN_SLEEP_PIN">false</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_32bit_Address">false</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_32bit_Address">false</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_A">Use_ENA_Pin</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_A">Always_Enabled</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_B">Use_ENB_Pin</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Enable_B">Always_Enabled</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Error_Injection_Type">Single_Bit_Error_Injection</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Error_Injection_Type">Single_Bit_Error_Injection</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fill_Remaining_Memory_Locations">false</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fill_Remaining_Memory_Locations">false</spirit:configurableElementValue>
|
||||||
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Interface_Type">Native</spirit:configurableElementValue>
|
<spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Interface_Type">Native</spirit:configurableElementValue>
|
||||||
|
@ -297,6 +297,7 @@
|
||||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.PROTOCOL" xilinx:valueSource="auto"/>
|
||||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.RUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||||
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_SLAVE_S_AXI.WUSER_WIDTH" xilinx:valueSource="constant"/>
|
||||||
|
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Enable_A" xilinx:valueSource="user"/>
|
||||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Enable_B" xilinx:valueSource="user"/>
|
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Enable_B" xilinx:valueSource="user"/>
|
||||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Memory_Type" xilinx:valueSource="user"/>
|
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Memory_Type" xilinx:valueSource="user"/>
|
||||||
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Port_B_Clock" xilinx:valueSource="user"/>
|
<xilinx:configElementInfo xilinx:referenceId="PARAM_VALUE.Port_B_Clock" xilinx:valueSource="user"/>
|
||||||
|
@ -316,13 +317,11 @@
|
||||||
"boundary": {
|
"boundary": {
|
||||||
"ports": {
|
"ports": {
|
||||||
"clka": [ { "direction": "in", "driver_value": "0" } ],
|
"clka": [ { "direction": "in", "driver_value": "0" } ],
|
||||||
"ena": [ { "direction": "in", "driver_value": "0" } ],
|
|
||||||
"wea": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
|
"wea": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
|
||||||
"addra": [ { "direction": "in", "size_left": "10", "size_right": "0", "driver_value": "0" } ],
|
"addra": [ { "direction": "in", "size_left": "10", "size_right": "0", "driver_value": "0" } ],
|
||||||
"dina": [ { "direction": "in", "size_left": "31", "size_right": "0", "driver_value": "0" } ],
|
"dina": [ { "direction": "in", "size_left": "31", "size_right": "0", "driver_value": "0" } ],
|
||||||
"douta": [ { "direction": "out", "size_left": "31", "size_right": "0" } ],
|
"douta": [ { "direction": "out", "size_left": "31", "size_right": "0" } ],
|
||||||
"clkb": [ { "direction": "in", "driver_value": "0" } ],
|
"clkb": [ { "direction": "in", "driver_value": "0" } ],
|
||||||
"enb": [ { "direction": "in", "driver_value": "0" } ],
|
|
||||||
"web": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
|
"web": [ { "direction": "in", "size_left": "0", "size_right": "0", "driver_value": "0" } ],
|
||||||
"addrb": [ { "direction": "in", "size_left": "11", "size_right": "0", "driver_value": "0" } ],
|
"addrb": [ { "direction": "in", "size_left": "11", "size_right": "0", "driver_value": "0" } ],
|
||||||
"dinb": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0" } ],
|
"dinb": [ { "direction": "in", "size_left": "15", "size_right": "0", "driver_value": "0" } ],
|
||||||
|
@ -370,7 +369,6 @@
|
||||||
"CLK": [ { "physical_name": "clka" } ],
|
"CLK": [ { "physical_name": "clka" } ],
|
||||||
"DIN": [ { "physical_name": "dina" } ],
|
"DIN": [ { "physical_name": "dina" } ],
|
||||||
"DOUT": [ { "physical_name": "douta" } ],
|
"DOUT": [ { "physical_name": "douta" } ],
|
||||||
"EN": [ { "physical_name": "ena" } ],
|
|
||||||
"WE": [ { "physical_name": "wea" } ]
|
"WE": [ { "physical_name": "wea" } ]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -391,7 +389,6 @@
|
||||||
"CLK": [ { "physical_name": "clkb" } ],
|
"CLK": [ { "physical_name": "clkb" } ],
|
||||||
"DIN": [ { "physical_name": "dinb" } ],
|
"DIN": [ { "physical_name": "dinb" } ],
|
||||||
"DOUT": [ { "physical_name": "doutb" } ],
|
"DOUT": [ { "physical_name": "doutb" } ],
|
||||||
"EN": [ { "physical_name": "enb" } ],
|
|
||||||
"WE": [ { "physical_name": "web" } ]
|
"WE": [ { "physical_name": "web" } ]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue