LoginSignup
0
0

More than 5 years have passed since last update.

Zybo > Chronicles blog 24 > PROCESS(s00_axi_aclk)

Last updated at Posted at 2016-05-25

MicroZed Chronicles リスト http://adiuvoengineering.com/?page_id=285
@ Adam Taylor blog
https://forums.xilinx.com/t5/Xcell-Daily-Blog/The-Zynq-PS-PL-Part-Four-Adam-Taylor-s-MicroZed-Chronicles-Part/ba-p/428548

For this example, I am going to introduce use the first register as a control register. Specific bits in this register define whether the contents of registers 2 and 3 are to be added, subtracted, or multiplied together. The result of the operation will be stored in the fourth register. We make the fourth register read-only with respect to the microprocessor to ensure that the microprocessor cannot corrupt the results. In addition, the peripheral will be able to generate an interrupt if enabled by the control register.

上記の書いていることを実際にどこで実行しているかVHDLが理解していないのでソースを読んでも今は分からない。

また、blogに書いているs00_axi_aclkのPROCESSというのもblogの記載(画像)と、そこに掲載しているソースの記載(下記)も乖離している。

PROCESS(s00_axi_aclk)
BEGIN
    IF rising_edge(s00_axi_aclk) THEN
      squared <= signed( '0'& reg1(15 DOWNTO 0)) * signed('0'& reg1(15 DOWNTO 0)); 
      cx2 <= (squared * c);
      bx <= (signed('0'& reg1(15 DOWNTO 0))* b);
      res_int <= a + cx2(48 DOWNTO 32) + ("000"& bx(32 DOWNTO 19));
      result(15 downto 0) <= std_logic_vector(res_int(res_int'high -1 DOWNTO 0));
    END IF;
END PROCESS;

blogの画像ではresult(31 downto 16)にも値をセットしているようだが、上記でセットしているのはresult(15 downto 0)のみ。
あとでソースだけ変更したのかもしれない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0