mirror of
https://github.com/olofk/serv.git
synced 2025-04-22 21:07:12 -04:00
servant: add AC701 board support
This commit is contained in:
parent
ed9b774eba
commit
7192fb23e0
3 changed files with 87 additions and 0 deletions
11
data/ac701.xdc
Normal file
11
data/ac701.xdc
Normal file
|
@ -0,0 +1,11 @@
|
|||
## Clock signal
|
||||
set_property IOSTANDARD DIFF_SSTL15 [get_ports sys_clk_p]
|
||||
set_property PACKAGE_PIN P3 [get_ports sys_clk_n]
|
||||
set_property PACKAGE_PIN R3 [get_ports sys_clk_p]
|
||||
set_property IOSTANDARD DIFF_SSTL15 [get_ports sys_clk_n]
|
||||
|
||||
create_clock -period 5.000 -name clk_p [get_nets sys_clk_p]
|
||||
|
||||
## UART TX
|
||||
set_property PACKAGE_PIN U19 [get_ports q]
|
||||
set_property IOSTANDARD LVCMOS18 [get_ports q]
|
14
servant.core
14
servant.core
|
@ -72,6 +72,12 @@ filesets:
|
|||
- servant/servix.v : {file_type : verilogSource}
|
||||
- data/arty_a7_35t.xdc : {file_type : xdc}
|
||||
|
||||
ac701:
|
||||
files:
|
||||
- servant/servix.v : {file_type : verilogSource}
|
||||
- servant/servant_ac701.v : {file_type : verilogSource}
|
||||
- data/ac701.xdc : {file_type : xdc}
|
||||
|
||||
orangecrab:
|
||||
files:
|
||||
- data/orangecrab_r02.lpf : {file_type : LPF}
|
||||
|
@ -197,6 +203,14 @@ targets:
|
|||
vivado: {part : xc7a35ticsg324-1L}
|
||||
toplevel : servix
|
||||
|
||||
ac701:
|
||||
default_tool: vivado
|
||||
filesets : [mem_files, soc, ac701]
|
||||
parameters : [memfile, memsize, frequency=32]
|
||||
tools:
|
||||
vivado: {part : xc7a200t-fbg676-2}
|
||||
toplevel : servant_ac701
|
||||
|
||||
orangecrab_r0.2:
|
||||
default_tool: trellis
|
||||
description : OrangeCrab R0.2
|
||||
|
|
62
servant/servant_ac701.v
Normal file
62
servant/servant_ac701.v
Normal file
|
@ -0,0 +1,62 @@
|
|||
`default_nettype none
|
||||
module servant_ac701
|
||||
(
|
||||
input wire sys_clk_p,
|
||||
input wire sys_clk_n,
|
||||
input wire btn,
|
||||
output wire q);
|
||||
|
||||
parameter frequency = 16;
|
||||
parameter memfile = "zephyr_hello.hex";
|
||||
parameter memsize = 8192;
|
||||
parameter PLL = "NONE";
|
||||
|
||||
wire wb_clk;
|
||||
reg wb_rst;
|
||||
wire clk;
|
||||
wire clkfb;
|
||||
wire locked;
|
||||
reg locked_r;
|
||||
|
||||
IBUFDS ibufds
|
||||
(
|
||||
.I (sys_clk_p),
|
||||
.IB (sys_clk_n),
|
||||
.O (clk)
|
||||
);
|
||||
|
||||
PLLE2_BASE
|
||||
#(.BANDWIDTH("OPTIMIZED"),
|
||||
.CLKFBOUT_MULT(8),
|
||||
.CLKIN1_PERIOD(5.0), //200MHz
|
||||
.CLKOUT0_DIVIDE((frequency == 32) ? 50 : 100),
|
||||
.DIVCLK_DIVIDE(1),
|
||||
.STARTUP_WAIT("FALSE"))
|
||||
PLLE2_BASE_inst
|
||||
(.CLKOUT0(wb_clk),
|
||||
.CLKOUT1(),
|
||||
.CLKOUT2(),
|
||||
.CLKOUT3(),
|
||||
.CLKOUT4(),
|
||||
.CLKOUT5(),
|
||||
.CLKFBOUT(clkfb),
|
||||
.LOCKED(locked),
|
||||
.CLKIN1(clk),
|
||||
.PWRDWN(1'b0),
|
||||
.RST(1'b0),
|
||||
.CLKFBIN(clkfb));
|
||||
|
||||
always @(posedge wb_clk) begin
|
||||
locked_r <= locked;
|
||||
wb_rst <= !locked_r;
|
||||
end
|
||||
|
||||
servant
|
||||
#(.memfile (memfile),
|
||||
.memsize (memsize))
|
||||
servant
|
||||
(.wb_clk (wb_clk),
|
||||
.wb_rst (wb_rst),
|
||||
.q (q));
|
||||
|
||||
endmodule
|
Loading…
Add table
Add a link
Reference in a new issue