アフィリエイト広告を利用しています
ファン
検索
<< 2023年12月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
最新記事
(12/20)KI cad インストールしてみよう
(04/11)【JAVA】チョロメを外部から動作させます。 幽霊が操作してるような
(07/29)spartan3 を cy7c68013 のバルクライトで シリアルコンフィグしてみた
(07/28)ブログ村に参加してみた。いまとのころブログ村からはだれもこない^^;
(07/28)PIC16F1503 を使ってみようかな?? MPLAB 内部クロック
(07/01)からっぽのつぎ のページ きっとはげ に なんか作用するかも
(05/06)GCEでワードプレス 第2 困ったのでやり直し手順
(05/05)https://certbot.eff.org/lets-encrypt/centosrhel7-apache をみてハマったこと
(04/28)フェドラ をつかって switchbot をアクセス する。  ? 未解決
(04/02)【オープンVPN】setsebool -P openvpn_enable_homedirs 1 でうごいた
(04/01)【QT5】わからないのでタイムアウトで自動でキャンセルボタン押すメッセージボックスつくってみた
(03/31)qt5よくわからんのだが メッセージボックスの OKスイッチをタイマーで押してみた。
(03/09)【boost】message queue 使い方 目も目も
(03/08)【バカの一つ覚え】ユニークID作成とそのちょっとした応用
(03/04)【パソコン】【GPIO】いったいこれは?
(02/26)【VHDL入門】ABZ信号から Hsync Vsyncを作り出してみよう その2
(02/26)【VHDL入門】ABZ信号から Hsync Vsyncを作り出してみよう その1
(02/26)【VHDL入門】速度比較 エンコーダーABZ相 ソースファイル付き
(02/25)【VHDL入門】ロータリーエンコーダABZ 出力のサンプル 200Mhz動作?
(02/23)【VHDL入門】UART 送受信繰り返しのテストベンチ作成してみたい
最新コメント
カテゴリーアーカイブ
プロフィール
有象無象さんの画像
有象無象
はげはじめました 禿増されます。励ましのコメントお待ちしてます。  
プロフィール

広告

posted by fanblog

2021年02月26日

【VHDL入門】速度比較 エンコーダーABZ相 ソースファイル付き

前回200Mhzで動作できるかみたいな スパルタン3E
 だから スパルタン6では どうかなと  
 結果は スパルタン3E 160Mhz動作OK ^^;
     スパルタン6  280Mhz動作OK らしい ^^;
周期5Nではだめってさ
惜しい5ns.png

スパルタン6では 3nSでもOKだそうだ えっ 300Mhzで動作できるの?ってさ
すぱ6余裕.png
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;

entity AbzFreeRun is
Port ( i_clock : in STD_LOGIC;--20Mhz
o_A :out std_logic:='0';-- 10khz
o_B :out std_logic:='0';
o_Z :out std_logic:='0'
);
end AbzFreeRun;

architecture Behavioral of AbzFreeRun is
type t_SM_Main is (Aup, Bup,ADown,BDown);
signal r_SM_Main : t_SM_Main := Aup;
signal B_StatUpdate : Boolean:=false;
signal Z_Flg : Boolean:=false;
signal i_StatUpdatecnt: integer:=0;
signal i_APluseCnt : integer:=0;

begin
ZtimgProcess :process (i_clock)
begin
if rising_edge(i_clock) then
if(B_StatUpdate) and r_SM_Main= Aup then
if(i_APluseCnt=36-1) then
i_APluseCnt <=0;
Z_Flg <= true;
else
i_APluseCnt <= i_APluseCnt +1;
Z_Flg <= false;
end if;
end if;
end if;
end process ;

process (i_clock)
begin
if rising_edge(i_clock) then
if(i_StatUpdatecnt=500-1) then
i_StatUpdatecnt <=0;
B_StatUpdate <= true;
else
i_StatUpdatecnt <= i_StatUpdatecnt +1;
B_StatUpdate <= false;
end if;
end if;
end process ;




abz_inst:process (i_clock)
begin
if rising_edge(i_clock) then
if(B_StatUpdate ) then
case r_SM_Main is
when Aup =>r_SM_Main<=Bup;o_A<='1';
if(Z_Flg) then o_Z <='1';else o_Z <='0'; end if;
when Bup =>r_SM_Main<=ADown;o_B<='1';
when ADown =>r_SM_Main<=BDown;o_A<='0';

when BDown =>r_SM_Main<=Aup;o_B<='0';
when others =>r_SM_Main<=Aup;
end case;
end if;
end if;
end process ;



end Behavioral;
posted by 有象無象 at 10:16| Comment(0) | TrackBack(0) | VHDL
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/10563428
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は30日以上新しい記事の更新がないブログに表示されております。