January 14, 2005
Assignment 2: Porting to the Pilchard platform
- Objective
- Port a GCD core to the Pilchard platform.
- Due Day
- 2005-02-05 23:59
- Requirement
- You are required to develop a complete GCD processor with necessary software on Pilchard platform. Students are not allowed to modify the pilchard.vhd and must use the gcd_core entity below.
- Resource:
- If you are going to use 2 different clocks in a single design, extra care should be taken. Consider using dual port BlockRAM as an interface in this case.
- Marking:
- 70% correctness of the design (demo required)
- 10% zero input error detection (err=1 is error)
- 10% average compute time for random numbers
- 10% smaller area utilization
- 10% zero input error detection (err=1 is error)
entity gcd_core is
port (
clk: in std_logic;
rst: in std_logic;
run: in std_logic;
A: in std_logic_vector(15 downto 0);
B: in std_logic_vector(15 downto 0);
rdy: out std_logic;
err: out std_logic;
D: out std_logic_vector(15 downto 0)
);
end entity gcd_core;
All user modules should be placed under the pcore
interface. There is no restriction on Host-Pilchard
communication protocol although efficient designs are
encouraged. As a complete design, your software driver should
be able to read two integers from standard input and print the
result (in decimal number) to standard output. The following
files should be handed in:report.txt: simple report showing the communication protocol and the performance of your design (speed, area, etc.);
mygcd.c: software driver for GCD processor;
pcore.vhd: the top level user design;
*.vhd: any other VHDL sources used in your design.
The command to run your design is:
./mygcd
Posted by khtsoi at 09:52 AM | Comments (0)